Unity3D Shader Graph帮助文档 2:My first shader graph

请尊重原作者的工作,转载时请务必注明转载自:www.xionggf.com

原文地址

2 My first Shader Graph

在开始之前,请确保正确设置了项目,并且能正确加载SG。有关更多信息,请参见“Getting started”。

2.1 Create a new node

使用 【Create Node】 菜单创建新节点。有两种打开菜单的方法:

  1. 右键单击,然后从上下文菜单中选择 【Create Node】
  2. 按空格键。

在菜单中,您可以在搜索栏中键入以查找特定节点,或浏览库中的所有节点。在此示例中,我们将创建一个 Color节点。 首先,在 【Create Node】 菜单的搜索栏中键入 color 。 然后,单击 【Color】 ,或突出显示 【Color】 ,然后按Enter以创建 【Color】 节点。

2.2 Connect nodes

要构建一个SG图,您需要将节点连接在一起。 为此,请单击一个节点的 Ouput Slot ,然后将该 connection(连接) 拖到另一个节点的 Ouput Slot 中。首先将 color 节点连接到我们的主节点的 Albedo Slot(反照颜色插槽)

2.3 Change node output

请注意,该连接已更新了 Master Preview窗口 ,Master Preview窗口中的3D对象现在为黑色,这是在 color 节点中指定的颜色。您可以单击该节点中的颜色栏,然后使用颜色选择器更改颜色。您在节点上进行的任何更改都会实时更新 Master Preview窗口 中的对象。例如,如果选择红色,则3D对象将立即反映此更改。

2.4 Save the graph

目前,SG图不会自动保存。有两种保存发生的更改的方法:

  1. 单击窗口左上角的 【Save Asset】 按钮。
  2. 关闭SG图。如果Unity检测到任何未保存的更改,则会显示一个弹出窗口,并询问您是否要保存这些更改。

2.5 Create a Material

保存SG图后,使用着色器创建新的材质。创建新材质并为其指定 Shader Graph shader 的过程,与指定常规着色器的方式相同。 在主菜单或项目视图上下文菜单中,选择 【Assets|Create|Material】 选项,选择刚创建的材质文件。在其 Inspector 窗口中,选择 【Shader】 下拉菜单,单击 【Shader Graphs】 选项,然后选择要应用于材质的Shader Graph shader。

您也可以右键单击我们编辑的这个Shader Graph shader,然后选择 【Create|Material】 。此方法自动将该Shader Graph shader分配给新创建的Material文件。

2.6 Put the Material in the Scene

现在,您已将着色器分配给了材质,您可以将其应用于场景中的game object上。将材质球拖放到场景中的game object上。或者在game object的Inspector窗口中,找到 【Mesh Renderer|Materials】 。然后将材质球作用到这个Renderer上

2.7 Use properties to edit the graph

您还可以使用 properties(属性) 来更改着色器的外观。属性是在材质球的Inspector面板中可见的选项,这些选项使其他人无需打开SG即可更改shader中的设置。

要创建新属性,请使用 Blackboard 右上角的 Add(+) 按钮,然后选择要创建的属性的类型。在此示例中,我们将选择“color”。这将在Blackboard中添加具有以下选项的新属性。

Option Description
Property button 要更改属性名称,请右键单击按钮,选择 【Rename】 ,然后输入新的属性名称。 要删除该属性,请右键单击该按钮,然后选择 【Delete】
Exposed 勾选此项,使得材质球文件对应的inspector面板上的Property选项可视。
Reference 在C#脚本中显示的属性名称。 要更改引用名称,请输入新字符串。
Default 该属性的缺省值
Mode 该属性的模式值,每一个属性都有其不同的属性,以 Color 属性为例,可以选择 Default ,或者 HDR
Precision 该属性的缺省精度。

有两种方法可以引用SG图中的属性:

  1. 将属性从Blackboard拖动到SG图上。右键单击并选择 【Create Node】 ,创建节点。该属性在 【Properties】 类别中列出。
  2. 尝试将属性连接到Albedo的output slot。对象立即变为黑色。

保存SG图,然后返回到材质球的inspector面板。材质检查器。该属性现在显示在面板中。您对面板的属性所做的任何更改都会影响使用此材质的所有对象。

2.8 More Tutorials

要继续探索如何使用Shader Graph编写着色器,请查看以下博客文章: