本文主要是介绍Unity Shader ASE——Shader Function,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
着色器功能
着色器功能(简称SF)是单个节点网络,可用于构建可重用的功能。它们易于设置且非常灵活,它们的工作方式是直接从着色器接收输入值,处理该信息并将其输出回以进行进一步更改或直接使用。SF资产没有绑定到任何着色器,您可以在整个项目中,同一着色器中,其他着色器功能内部甚至在其他用户之间共享使用它们。从简单到复杂的图形,着色器功能都是通过将复杂的网络打包到单个节点中来减少画布混乱的好方法,也是消除不必要的重复任务的好方法。
您想与ASE社区分享您的作品吗? 在这里贡献!
特征
- 适用于所有ASE节点。
- 可配置的输入/输出节点。
- 在着色器和SF之间复制和粘贴节点。
- 支持所有变量类型,包括材料属性。
- 可重用且唯一的资产,不受任何着色器或项目的约束。
- 无缝的编辑器工作流程,将其拖放到任何打开的着色器中或从“节点”列表中添加它们。
比较方式
首先,节点网络产生相同的燃烧效果。在最初的版本不使用着色器的功能。版本1使用的SF包含用于生成燃烧效果的原始节点网络,它接收1个用于燃烧蒙版的“纹理对象”节点,1个用于火纹理的“纹理对象”节点和1个“纹理坐标”节点。第2版比之前的示例更简单,SF中包括了燃烧效果生成和纹理节点,唯一的例外是允许用户调整其行为的纹理坐标节点。请记住,SF不需要接收任何输入,如果需要,可以在其图形中完全生成输出的数据。
版本1着色器功能示例
创作与使用
在资产>创建>着色器>放大着色器功能下创建新的着色器功能资产。
重命名后,新创建的着色器功能将在ASE编辑器中自动打开。
1.在此处添加着色器功能说明。您还可以通过将它们的功能输入/输出和材质属性拖动到所需位置来对其重新排序。在SF中设置的顺序将与“材料检查器”选项卡中使用的顺序相同。
2.创建2个或更多输入节点。默认情况下,总有1个“输出”节点,但是您可以根据需要添加任意多个节点。您也可以在活动SF中使用其他SF节点,但是,为了避免“着色器功能循环”,不能将功能添加到其自己的画布中。
3.选择一个“输入”节点以设置使用的类型,或像使用其他任何节点属性一样,直接在左侧选项卡中切换“自动转换”选项以自动执行该过程。
4.将结果输出直接连接到“输出”节点。
5.保存更改,然后单击“返回”以返回到先前打开的“着色器”或“材质”(如果有)。
1.通过直接从“节点列表”中选择创建的着色器功能,将其添加到您的着色器中。SF节点可以像任何其他ASE节点一样使用,它们可以被复制,复制或删除。
2.或者,您可以将“着色器功能”直接拖放到编辑器画布中。
3.双击一个SF节点将其打开。
这篇关于Unity Shader ASE——Shader Function的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!