shader&&着色器
什么是shader
3D世界物的显示与增加方式为步骤为:网格 > 材质 > 贴图
其中在材质步骤有诸多设置参数,其中一项重要选型为shader,既着色器,以告诉物体应该如何绘制,3D软件通常内置了很多shader,当内置shader无法满足我们要求的时候,需要自己实现shader
为模型增加材质,通常可以:
- 先创建材质,将材质拖放到物体上
- 直接将贴图拖放到模型上,U3D将自动创建材质并关联
双击材质,既可以查看材质的相信情况
当默认shader无法满足我们要求时,例如特殊,则我们需要自己定义shader
创建shader
create > shader graph > URP > lit shader graph
- lit shader graph:光照模型
- unlit shader graph:无光照模型
双击新建的shader文件,则进入shader编辑窗口,保存shader后(不保存的在选择界面看不到),可以在材质的shader选项选择当前自定义shader
shader > shader graphs > new-cus-shaper
开始编辑自定义shader
shader的主要工作流程如下,其工作原理为,3D物体在计算机进行显示的时候,总是需要将物体转换为具体的颜色信息输入到显示卡,通过对一系列的参数进行计算后,最终改变主要影响物体的两个主要参数
- 顶点着色器
-
片元着色器
- 根据其连线结果来看,主要输入点都是颜色信息和贴图信息,这一类用的最多
各面板情况
- ①输入参数:此处的参数可以在外部进行设置,
- ②参数计算:对参数进行计算的逻辑,不同的参数需要增加不同的节点计算之后,才可以链接到下一个节点
- ③片元着色器:计算结果影响颜色,贴图
- ④定点着色器:
- ⑤属性设置:对节点、参数进行设置
- ⑥预览窗口:实时预览渲染结果
常用技巧
- Texture2D贴图通常不能直接输入到片元着色器,需要增加Sample Texture 2D (贴图取样)
- 当需要同时设置贴图或者颜色、多个颜色混合,需要增加Multiply乘法计算器进行混合
- 边缘发光Fresnel Effect(菲涅耳)