Unity Shader Graph 3D 实例 - 基础的模型颜色渲染


目录
前言
创建URP项目
创建第一个Shader Graph文件
设置眼睛部分为高亮
前言
在Unity Shader Graph中,基础颜色的渲染是理解和使用着色器的基础之一。通过Shader Graph,开发者可以无需编写复杂的代码,就能实现颜色的动态变化和材质效果。本篇博客将介绍如何使用Shader Graph实现基础颜色渲染,帮助大家快速掌握着色器的基本概念,为后续更复杂的渲染技术打下坚实的基础。
创建URP项目
我们将会用到URP的渲染管线,Unity的URP(Universal Render Pipeline)是一个高效且灵活的渲染管线,旨在为各种平台提供优异的性能和视觉效果。URP支持实时光照、后处理效果和动态阴影等功能,优化了跨平台性能,尤其适用于移动设备、AR/VR及低端硬件。通过Shader Graph和C#脚本,开发者可以轻松定制材质和渲染流程,实现高质量的图形效果。URP简化了传统渲染管线的复杂性,为开发者提供了更高效的工作流程和更好的可扩展性。
在创建项目时选择Universal 3D,然后点击Create Project完成创建。

创建第一个Shader Graph文件
在Project视图里点击鼠标右键,选择Shader Graph/URP/Lit Shader Graph,创建第一个Shader Graph文件,命名为CharacterColor。

对应创建两个材质球,一个命名为M_Character,另一个命名为M_CharacterColor。因为我们用到的测试模型有身体和眼睛两部分,因此需要分别创建两个材质球。

打开CharacterColor的Shader Graph文件,会跳转到Shader Graph的节点编辑界面。默认会有两个节点在窗口内,一个是Fragment节点(颜色的渲染),另一个是Vertex节点(顶点的操作)。我们新建一个颜色的变量MainColor,用来控制模型的整体颜色。

然后将这个颜色变量拖拽到编辑界面中,并将其与Base Color输入连接起来。

然后将M_CharacterColor和M_CharacterColor_Eye的材质球分别设置到模型的身体和眼睛上去,设置M_CharacterColor的颜色和M_CharacterColor_Eye的颜色分别为白色和黑,,即可得到如下的效果。

当我们调整身体材质球的颜色的时候,角色身体的颜色就会进行变化了。

设置眼睛部分为高亮
新建一个颜色变量EmissionColor用来控制眼睛的高亮颜色效果,并设置其类型为HDR。这里需要用到一个叫Emission的数据,Emission(发光)是材质的一个特性,使对象在光照环境中自发发光,仿佛是发光体,从而可以模拟出机器人的眼睛科技感的效果。

添加完成后回到场景里,需要开启Global Volume上的Bloom效果,从而达到有光晕的感觉。

设置眼睛材质球的Emission颜色为偏红色,并增加其intensity(大于1即可,可自行调节)。

完成颜色的设置后,机器人的眼睛就会出现高亮的光晕效果,如下。

当然机器人的眼睛颜色也是可以动态调节的,如下。

