使用项目浏览器在项目中创建新的着色器图形资源。通过 Create > Shader Graph 可显示各种创建选项。
- 空白着色器图形(Blank Shader Graph):创建一个未选择活动目标或块节点的着色器图形。您需要通过 Graph Settings(图形设置)菜单选择目标才能继续配置。
- 特定集成选项:某些集成功能(如渲染管线)还可为着色器图形提供预配置选项。在此示例中,已创建并打开一个 Universal > Lit Shader Graph(通用光照着色器图形)。
(一),创建新节点
使用 Create Node(创建节点)菜单创建新节点,有两种方式打开该菜单:
- 右键点击并从上下文菜单中选择 Create Node(创建节点)。
- 按空格键。
在菜单中,您可以在搜索栏中输入关键词查找特定节点,或浏览库中的所有节点。在此示例中,我们将创建一个 Color(颜色)节点:
- 在 Create Node 菜单的搜索栏中输入 "color"。
- 点击 Color(颜色)选项,或高亮显示后按 Enter 键创建节点。
(二),连接节点
若要构建图形,需将节点连接在一起。操作方法:点击某个节点的 Output Slot(输出插槽),并将连接线拖至另一个节点的 Input Slot(输入插槽)。
首先,将 Color(颜色)节点连接到 Fragment Stack(片段堆栈)的 Base Color(基础颜色)块。
(三),修改节点输出
注意,连接操作会更新主预览窗口,且主预览中的 3D 对象此时变为黑色(即 Color 节点中指定的颜色)。您可以点击该节点中的颜色条,使用颜色选择器更改颜色。对节点所做的任何更改都会实时更新主预览中的对象。
例如,选择红色后,3D 对象会立即反映这一变化。
(四),保存图形
目前,着色器图形不会自动保存。保存更改有两种方式:
- 点击窗口左上角的 Save Asset(保存资源)按钮。
- 关闭图形。若 Unity 检测到未保存的更改,会弹出窗口询问是否保存。
(五),创建材质
保存图形后,可使用该着色器创建新材质。创建新材质并为其指定着色器图形的过程与常规着色器相同:
- 在主菜单或项目视图上下文菜单中,选择 Assets > Create > Material(资产 > 创建 > 材质)。
- 选择刚创建的材质,在其 Inspector(检查器)窗口中,点击 Shader(着色器)下拉菜单,选择 Shader Graphs(着色器图形),并选择要应用于材质的着色器图形。
您也可以右键点击着色器图形,选择 Create > Material(创建 > 材质),此方法会自动将该着色器图形指定给新创建的材质。
(六),将材质应用到场景
为材质指定着色器后,可将其应用到场景中的对象:
- 将材质拖放到场景中的对象上。
- 或在对象的 Inspector 窗口中,找到 Mesh Renderer > Materials(网格渲染器 > 材质),并将材质应用到 Element(元素)。
(七),使用属性编辑图形
您还可以使用属性更改着色器的外观。属性是在材质检查器中可见的选项,允许其他用户在不打开着色器图形的情况下更改着色器设置。
若要创建新属性,使用 Blackboard(黑板)右上角的 Add (+) 按钮,并选择要创建的属性类型。在此示例中,我们选择 Color(颜色)。
这将在黑板中添加一个新属性,选择该属性后,其选项会显示在 Graph Inspector(图形检查器)的 Node Settings(节点设置)选项卡中:
选项 | 描述 |
---|---|
Property | 若要更改属性名称,右键点击黑板中的按钮,选择 Rename(重命名),然后输入新名称。若要删除属性,右键点击按钮并选择 Delete(删除)。 |
Exposed | 启用此复选框可使属性在材质检查器中可见。 |
Reference | 属性在 C# 脚本中显示的名称。若要更改引用名称,输入新字符串。 |
Default | 属性的默认值。 |
Mode | 属性的模式。每个属性有不同的模式。对于颜色,可选择 Default(默认)或 HDR。 |
Precision | 属性的默认精度。 |
Hybrid Instanced | 一项实验性功能,使用 Hybrid DOTS 渲染器时可启用此属性的实例化。 |
在图形中引用属性有两种方式:
- 从黑板中将属性拖到图形中。
- 右键点击并选择 Create Node(创建节点),属性会列在 Properties(属性)类别中。
尝试将属性连接到 Base Color(基础颜色)块,对象会立即变为黑色。
保存图形并返回材质的检查器,该属性现在会显示在检查器中。在检查器中对属性所做的任何更改都会影响使用此材质的所有对象。