- 属性类型:
2D纹理属性默认值一般定义为white,因为white值为1,与其他效果叠加时不会改变其他效果。
纹理属性后的大括号包括:
2D纹理属性和长方形纹理属性的区别:2D纹理属性在导出打包时会把贴图变成正方形,2的次方,长方形不会,可以是任何比例的贴图。
立方体贴图:做反射、高光
- 属性代码举例:
- 多个Subshader的作用是为了应对不同的硬件。每一个Subshader至少要有一个Pass,Pass里是一个完整的渲染流水线。
多个Pass的作用?每一个Pass都会执行
FallBack语法格式:
子着色器定义了一个渲染通道的列表,并可选是否为所有通道初始化所需要的通用状态。
- Tags:
- Queue tag:渲染顺序
叠加效果比如镜头光晕等。 上面四种选择对应渲染顺序。
"Queue"="Transparent+1" 指的是渲染顺序在透明物体之后(数值越小越早渲染?)
2.RenderType tag 渲染类型 便于shader切换,
半透明:云彩 水 树叶 地形附加通道 地上的草地 半透明
透明遮罩:与阿尔法通道联系
TreeBillboard :用2D面片替换3维物体,面片始终对着摄像机,节省资源
ForceNoShadowCasting tag 是否产生阴影
IgnoreProjector tag 忽略投影 (和上一个区别是啥?)
(这两个一般不写 写了的话值都是true)
Tags示例:
- CommonState 公共状态:针对所有Pass所能产生的作用
- Cull Back 背面剔除 Cull Front 正面剔除 off 双面显示
- Ztest 来测试几何体远近来判断是否渲染
Less 当前像素Z值小于缓存区Z值时,被渲染。
Greater 大于缓存区Z值时,被渲染
LEqual(默认) 小于等于
GEqual 大于等于
Equal 等于
NotEqual 不等
Always 一直被显示
AlphaTest 用来判断是否开启alpha测试 暂时的理解是根据像素的z值来判断是否开启alpha
(没有blend混合时 速度会比较快)
3.Blend
alpha混合原理:
比如一个小朋友站在玻璃后的效果,原理是小朋友的像素颜色值先渲染出来存在buffer中,然后再透过玻璃 根据上述公式来计算混合后的结果。
4.fog 雾参数
以上都是写在公共状态 Common里(Pass里也可以写)。
Offset 当两个物体完全重叠时。 当Z深度小于一定深度时 进行偏移。