u3d shader入门写法
来源:互联网 发布:先锋网络电视免费版 编辑:程序博客网 时间:2024/06/05 17:50
星期二的时候,开始要做一个按钮切换的效果,功能就是点一下选择键盘,再点一下,选择蓝牙摇杆,其实可以用很简单,或者很笨,但能用的方法实现(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
0 0
- u3d shader入门写法
- U3D Shader
- U3D shader基础
- U3D各向异性Shader
- U3D Shader基础
- U3D Buildin shader
- U3d 入门
- u3d入门
- U3D-- U3d Shader的一些知识
- U3D--脚本入门
- 【U3D】进入shader编程的世界
- U3D的Shader数据的来源
- U3D Shader Forward Path光源存储信息
- U3D:Shader固定管线关闭雾
- Shader入门
- Unity Shader的基本写法
- u3d脚本代码入门基础
- u3d快速入门图文教程
- hdu5119(递推+滚动数组)
- 1230转化成十六进制
- KMP算法
- 关于oracle的监听响应速度过慢
- MySQL 开启FEDERATED 引擎
- u3d shader入门写法
- haskell之Functor、Applicative、Monad
- 自定义多行多列的RadioGroup
- 经典算法心得
- 小小冒泡法
- Handler,Looper,Message,MessageQueue,HandlerThread使用总结(上)
- 5.12
- Excel技巧
- 顺序表应用1:多余元素删除之移位算法