最近加入一家公司,开始让我学习做特效,我一脸懵逼,不会啊!浅薄的理解了一下粒子系统又开始学习Shader 的编写。在没了解之前还以为Shader会和C#一样,上手简单,但是到直到现在,还没理解Shader的逻辑。老天了,送我一个大佬吧!
经过最近的学习,整理了以下自己对Shader编写的认知,都比较浅薄,有错误希望大佬及时指出。
就写一下自己整理的Shader的框架吧。
*1. 名字(自己命名)
2. 属性 Properties{}
2.1
属性名字由一个下划线开始,括号中的第一个参数,是属性显示在材质面板上的名字。第二个参数,是数据类型。
**
2.2 _MainTex
_MainTex(“Base(RGB)”,2D)=“white” {}–(变量名(显示名,类型)=默认值)
2.3
不同类型的属性:
2D-2D贴图
Color-颜色
Float-浮点数
Range()-带范围的浮点数
Cube-CubeMap天空盒
Rect-非2的幂次方纹理
Vevtor-四维向量
3. SubShader
3.1 SubShader
SubShader{ //标签,可选 [Tags] //状态,可选 [RenderSetup] Pass{} //Other Passes }
3.2 标签
3.2.1 "Queue"标签,定义渲染顺序。
预制值为:
1.“BackGround”: