u3d shader入门写法

星期二的时候,开始要做一个按钮切换的效果,功能就是点一下选择键盘,再点一下,选择蓝牙摇杆,其实可以用很简单,或者很笨,但能用的方法实现(2个png切换)

最后决定用shader

真的对 shader一窍不通,结果足足花了2天才完成,1个小功能,2天还是很值得,起码shader技能1级,get。

其实前面1.5天都花在google上,这是今天下午的实验结果

大牛的效果,那是一个闪光

这里写图片描述

 //【3】表面着色函数的编写  void surf (Input IN, inout SurfaceOutput o)   {  //从主纹理获取rgb颜色值  o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;  //从凹凸纹理获取法线值  o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap));  //从_RimColor参数获取自发光颜色  half rim = 1.0 - saturate(dot (normalize(IN.viewDir), o.Normal));  o.Emission = _RimColor.rgb * pow (rim, _RimPower);  }  

我想省一个Texture,结果就长这样了

这里写图片描述

 //【3】表面着色函数的编写  void surf (Input IN, inout SurfaceOutput o)   {  //从主纹理获取rgb颜色值  o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;  //从_RimColor参数获取自发光颜色  half rim = 1.0 - saturate(dot (normalize(IN.viewDir), o.Albedo ));  o.Emission = _RimColor.rgb * pow (rim, _RimPower);  }  

结论

对openvc不熟悉,UnpackNormal也不确定如何使用,测试的结果:即使是空Texture,也不能把 Texture去掉,暂时的理解只能是通过法线发光,如果把UnpackNormal去掉了,整片发光,和大牛的效果差很多
结论1:发光最好有凹凸,一个平面发光很不自然
结论2:发光所选择的色相,明度,纯度要搭配,黑的和白的配合发光是怎么也调不成大牛的效果的
结论3:劲需要耐心和热诚

对于颜色的理解,耐心都为0,基础薄弱,要继续走这条路,毫无优势可言。

                                                            ———Sidney 2016.05.12


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部