【游戏技术群】959392658  【游戏出海群】12067810
yzc88亚洲城 手机端
  • 开发者工具开发者工具
  • www.yzc88.comManual
  • 蛮牛杯蛮牛杯
  • Unity官方专区Unity官方专区
问答求助

关注:576

当前位置:yzc88亚洲城 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 1684|回复: 14
发新帖

[着色器] 调颜色没反应

[复制链接]  [移动端链接]
5熟悉之中
813/1000
排名
4512
昨日变化
3

14

主题

243

帖子

813

积分

Rank: 5Rank: 5

UID
231366
好友
9
蛮牛币
1430
威望
0
注册时间
2017-7-10
在线时间
232 小时
最后登录
2019-2-21
跳转到指定楼层
楼主
yzc88亚洲城 2019-1-25 10:54:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
10蛮牛币
我用了自定义的材质球    自己写的shader      调color  不会改变物体的颜色了     想知道如何操作

BS89SGRGCK1L{IQT(P]O(QO.png (27.28 KB, 下载次数: 4)

BS89SGRGCK1L{IQT(P]O(QO.png

排名
28743
昨日变化
8

0

主题

6

帖子

27

积分

Rank: 1

UID
312611
好友
1
蛮牛币
49
威望
0
注册时间
2019-1-23
在线时间
9 小时
最后登录
2019-2-12
沙发
yzc88亚洲城 2019-1-25 10:54:42 | 只看该作者
{:86:}{:86:}{:86:}

4四处流浪
398/500
排名
8089
昨日变化
1

4

主题

87

帖子

398

积分

Rank: 4

UID
135780
好友
1
蛮牛币
759
威望
0
注册时间
2016-1-28
在线时间
151 小时
最后登录
2019-2-22
板凳
yzc88亚洲城 2019-1-25 12:51:59 | 只看该作者
调材质颜色:     
transform.GetComponent<Renderer>().materials[0].SetColor("_MainColor", Color.blue);
transform.GetComponent<Renderer>().materials[0].SetColor("_ShadowColor", Color.black);
[发帖际遇]: 一个袋子砸在了 xiablank 头上,xiablank 赚了 1 蛮牛币. 幸运榜 / 衰神榜

6蛮牛粉丝
1016/1500
排名
3523
昨日变化
20

2

主题

222

帖子

1016

积分

Rank: 6Rank: 6Rank: 6

UID
227258
好友
1
蛮牛币
1464
威望
0
注册时间
2017-6-17
在线时间
366 小时
最后登录
2019-2-22
地板
yzc88亚洲城 2019-1-25 14:05:17 | 只看该作者
没有代码怎么看0.0

4四处流浪
429/500
排名
6673
昨日变化
43

0

主题

59

帖子

429

积分

Rank: 4

UID
75479
好友
0
蛮牛币
823
威望
0
注册时间
2015-2-23
在线时间
136 小时
最后登录
2019-2-23
5#
yzc88亚洲城 2019-1-25 14:20:27 | 只看该作者
你最好贴出shader源码
[发帖际遇]: zsy654321 发帖时在路边捡到 2 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

5熟悉之中
813/1000
排名
4512
昨日变化
3

14

主题

243

帖子

813

积分

Rank: 5Rank: 5

UID
231366
好友
9
蛮牛币
1430
威望
0
注册时间
2017-7-10
在线时间
232 小时
最后登录
2019-2-21
6#
 楼主| yzc88亚洲城 2019-1-25 14:53:50 | 只看该作者
zsy654321 yzc88亚洲城 2019-1-25 14:20
你最好贴出shader源码

Shader "Custom/Shadow"
{
        Properties
        {
                _MainTex("Main Tex", 2D) = "white" {}
                _AlphaTex("AlphaTex",2D) = "white"{}
                _Offset("Offset", vector) = (0, 0, 0, 0)
                _ShadowColor("ShadowColor",color)=(0,0,0,0)
                _MainColor("MainColor",color)=(0,0,0,0)
        }
                CGINCLUDE
#include "UnityCG.cginc"
        sampler2D _MainTex;
        float4 _Offset;
        sampler2D _AlphaTex;
        float4 _MainTex_ST;
        fixed4 _MainColor;
        fixed4 _ShadowColor;

        struct v2f {
                float4 pos : POSITION;
                float2 uv : TEXCOORD0;
        };

        v2f vert_normal(appdata_base v) {
                v2f o;
                o.pos = UnityObjectToClipPos(v.vertex);
                o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
                return o;
        }

        v2f vert_offset(appdata_base v) {
                v2f o;
                float4 pos = mul(unity_ObjectToWorld, v.vertex);
                o.pos = mul(UNITY_MATRIX_VP, pos + _Offset);
                o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
                return o;
        }

        float4 frag_normal(v2f i) : COLOR
        {
                float4 texcol = tex2D(_MainTex, i.uv);
                texcol += fixed4((fixed3)_MainColor,0);
                texcol.w = tex2D(_AlphaTex,i.uv)*texcol.w;
                return texcol;
        }

                float4 frag_color(v2f i) : COLOR
        {
                float4 c;
                c = tex2D(_MainTex, i.uv);
                c += fixed4((fixed3)_ShadowColor,0);
                c.w = tex2D(_AlphaTex,i.uv)*c.w;
                if (c.w >= 0.5)
                {
                        c.r = 0;
                        c.g = 0;
                        c.b = 0;
                        c.w = 0.5f;
                }
               

        return c;
        }

                ENDCG
                SubShader {
                Tags{ "Queue" = "Transparent" }
                        Pass{
                        ZWrite Off
                        Blend SrcAlpha OneMinusSrcAlpha
                        CGPROGRAM
#pragma vertex vert_offset
#pragma fragment frag_color
                        ENDCG
                }
                        Pass{
                        ZWrite Off
                        Blend SrcAlpha OneMinusSrcAlpha
                        CGPROGRAM
#pragma vertex vert_normal
#pragma fragment frag_normal
                        ENDCG
                }
        }
        FallBack "Diffuse"
}
[发帖际遇]: 安生李 乐于助人,奖励 2 蛮牛币. 幸运榜 / 衰神榜

5熟悉之中
813/1000
排名
4512
昨日变化
3

14

主题

243

帖子

813

积分

Rank: 5Rank: 5

UID
231366
好友
9
蛮牛币
1430
威望
0
注册时间
2017-7-10
在线时间
232 小时
最后登录
2019-2-21
7#
 楼主| yzc88亚洲城 2019-1-25 14:58:37 | 只看该作者
xiablank yzc88亚洲城 2019-1-25 12:51
调材质颜色:     
transform.GetComponent().materials[0].SetColor("_MainColor", Color.blue);
transfor ...

我知道这样可以变色, 但是所有用这个shader的物体都会变 。所以有没有别的方法,
我的需求是  很多物体都有阴影  但  击中谁,谁会变红  

5熟悉之中
813/1000
排名
4512
昨日变化
3

14

主题

243

帖子

813

积分

Rank: 5Rank: 5

UID
231366
好友
9
蛮牛币
1430
威望
0
注册时间
2017-7-10
在线时间
232 小时
最后登录
2019-2-21
8#
 楼主| yzc88亚洲城 2019-1-25 15:02:34 | 只看该作者
xiablank yzc88亚洲城 2019-1-25 12:51
调材质颜色:     
transform.GetComponent().materials[0].SetColor("_MainColor", Color.blue);
transfor ...

我知道这样可以变色, 但是所有用这个shader的物体都会变 。所以有没有别的方法,
我的需求是  很多物体都有阴影  但  击中谁,谁会变红  

4四处流浪
398/500
排名
8089
昨日变化
1

4

主题

87

帖子

398

积分

Rank: 4

UID
135780
好友
1
蛮牛币
759
威望
0
注册时间
2016-1-28
在线时间
151 小时
最后登录
2019-2-22
9#
yzc88亚洲城 2019-1-25 17:01:05 | 只看该作者
不会啊 我试的没问题啊 你代码怎么写的
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit;
            if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit))
            {
                hit.transform.GetComponent<Renderer>().materials[0].SetColor("_MainColor", Color.blue);
                hit.transform.GetComponent<Renderer>().materials[0].SetColor("_ShadowColor", Color.black);
            }
        }

5熟悉之中
813/1000
排名
4512
昨日变化
3

14

主题

243

帖子

813

积分

Rank: 5Rank: 5

UID
231366
好友
9
蛮牛币
1430
威望
0
注册时间
2017-7-10
在线时间
232 小时
最后登录
2019-2-21
10#
 楼主| yzc88亚洲城 2019-1-25 17:29:20 | 只看该作者
本帖最后由 安生李 于 2019-1-25 17:32 编辑
xiablank yzc88亚洲城 2019-1-25 17:01
不会啊 我试的没问题啊 你代码怎么写的
        if (Input.GetMouseButtonDown(0))
        {

最主要的是不够红  ,不是叠加的那种    就是全红 ,, 就是当maincolor 的 a 的值为1 的时候是最红    当a=0的时候是叠加的感觉

4四处流浪
398/500
排名
8089
昨日变化
1

4

主题

87

帖子

398

积分

Rank: 4

UID
135780
好友
1
蛮牛币
759
威望
0
注册时间
2016-1-28
在线时间
151 小时
最后登录
2019-2-22
11#
yzc88亚洲城 2019-1-25 17:59:22 | 只看该作者
shader改成这样试试
texcol += fixed4((fixed3)_MainColor,0) 改成 texcol += _MainColor
c += fixed4((fixed3)_ShadowColor,0) 改成 c +=_ShadowColor;

4四处流浪
429/500
排名
6673
昨日变化
43

0

主题

59

帖子

429

积分

Rank: 4

UID
75479
好友
0
蛮牛币
823
威望
0
注册时间
2015-2-23
在线时间
136 小时
最后登录
2019-2-23
12#
yzc88亚洲城 2019-1-25 19:32:26 | 只看该作者
你这没有用顶点颜色啊,肯定会出现这种问题的

5熟悉之中
813/1000
排名
4512
昨日变化
3

14

主题

243

帖子

813

积分

Rank: 5Rank: 5

UID
231366
好友
9
蛮牛币
1430
威望
0
注册时间
2017-7-10
在线时间
232 小时
最后登录
2019-2-21
13#
 楼主| yzc88亚洲城 2019-1-26 09:59:36 | 只看该作者
zsy654321 yzc88亚洲城 2019-1-25 19:32
你这没有用顶点颜色啊,肯定会出现这种问题的

不懂,   啊啊啊啊啊啊啊啊啊啊啊啊
[发帖际遇]: 安生李 乐于助人,奖励 1 蛮牛币. 幸运榜 / 衰神榜

4四处流浪
429/500
排名
6673
昨日变化
43

0

主题

59

帖子

429

积分

Rank: 4

UID
75479
好友
0
蛮牛币
823
威望
0
注册时间
2015-2-23
在线时间
136 小时
最后登录
2019-2-23
14#
yzc88亚洲城 2019-1-26 10:03:45 | 只看该作者
安生李 yzc88亚洲城 2019-1-26 09:59
不懂,   啊啊啊啊啊啊啊啊啊啊啊啊

你都能自己写shader,总不能对图形学一无所知吧,顶点数据包括 位置 UV 法线 切线 颜色,你的shader代码只用了位置和uv,颜色没用啊

0

主题

13

帖子

17

积分

Rank: 1

UID
64096
好友
0
蛮牛币
3
威望
0
注册时间
2014-12-28
在线时间
4 小时
最后登录
2019-1-27
15#
yzc88亚洲城 2019-1-26 23:43:46 | 只看该作者
谢谢分享

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表