学习笔记
创建
选择 URP 模板创建不需要配置环境
普通 3D 项目,包管理器安装 Universal RP, visual effect graph,设置中正常配置 Graphics
光照模型
Create => ShaderGraph => URP => Lit Shader Graph
输入属性节点:
属性设置:
- Precision [精度] [single/half] half 性能更好
在 Universal 中
-
Material [材质]
- [sprite Custom] 自定义精灵
- [sprite Lit] 精灵光照
- [sprite Unlit] 精灵非光照
- [Decal] 贴花
- [Lit] 光照
- [Unlit] 非光照
-
Allow Material Override [允许材质覆盖] [勾选] 可以通过材质检查器修改某些图形属性。
-
workflow [工作流] [Specular/Metallic] [勾选] 镜面高光/金属工作流
-
Surface Type [表面类型] [Opaque/Transparent] [半透明/不透明]
-
Render Face [渲染面] [Front/Back/Double] [正面/背面/双面]
-
Depth Write [深度写入] [Auto/Force Enabled/Force Disabled] [自动/强制开启/强制关闭]
-
Depth Test [深度测试] [Never/Less/Equal/LessEqual/Greater/NotEqual/GreaterEqual/Always] [从不/小于/等于/小于等于/大于/不等于/大于等于/总是]
-
Alpha Clipping [Alpha裁剪] [勾选]
-
Receive Shadows [接收阴影] [勾选]
-
Fragment Normal Space [片段法线空间] [Tangent/World/View] [切线/世界/视图]
-
Clear Coat [清漆] [勾选]
-
Custom Editor GUI [自定义编辑器GUI]
-
Supports VFXGRAph [支持VFXGRAph] [勾选]
顶点着色器:
片段着色器:
乘法节点 Multiply: 颜色叠加
Fragment
Base Color
主贴图,展现了模型的基本纹理
可以新建一个 Texture2D 属性,然后将其作为输入
MainTexture 保持默认
Normal
注意 Sample Texture 2D 的 Type 要设置为 Normal
NormalTexture 的 Mode 选择 Normal Map
Metallic
保持默认
Smoothness
输出金属光泽度的 Alpha 通道与 Smoothness 通过 Multiply 乘法节点相乘, 得到输出值
Emission
自发光贴图与类型为 Boolean Keywork 的 EmissiveTexture 相乘来控制是否自发光,得到其输出值与 EmissionColor 相乘得到最终的输出值
AO
保持默认
Sub Graph
框选中对应节点右击 Convert to => Sub-graph
轮廓光/边缘光
Fresnel Effect