(翻译)Shader Graph的介绍:使用可视化编辑器创建shader

发布于 21 天前  23 次阅读


本篇内容为Unity官方博客的翻译整理。
原文链接
日期:2018年2月27日
作者:Tim Cooper
翻译:咲夜詩

序言:Unity2018.1带来了可控性和灵活性的新高度,在2018.1中我们迎来一个炫酷特性——Shader Graph。不论是新手还是老手,都可以使用Shader Graph创建系列的shader,比如:流动的岩浆、黏糊的土墩、美丽的湖泊、闪烁的LED。

使用Shader Graph可以让shader可视化,你不用手写代码,而是在图形网络中创建和连接节点。
在Shader Graph中,你可以做到:
·流程式修改外观表现
·UV变形和UV动画
·修改使用相似图片处理操作的物体的外观
·通过物体的常用信息修改物体的表面,如:世界位置、法线、到相机的距离,etc
·将属性公开给材质面板,以便在场景的上下文中快速调整着色器的视觉效果
·使用subgraph共享节点
·使用C#和HLSL创建自定义节点

这个图形框架提供立即的效果反馈,对新用户来说简单上手,尽情发挥创造力。

Shader Graph已发布预览版,下载案例工程,使用2018.1 beta打开进行浏览,你也可以通过Package Manager安装Shader Graph。

Shader Graph被设计用于与可编程渲染管线SRP进行一起工作,你不能将其用于内置的渲染管线,你可以用于:
·HDRP高清渲染管线
·LWRP轻量级渲染管线

你也可以为你自定义的SRP扩展Shader Graph以便于导出shader。

如何创建Shader Graphs

在Unity2018.1中,一个Shader Graph文件就像一个普通的shader文件一样,你可以通过Create→在下拉列表中选择"Shader Graph"→创建一个Shader Graph资源文件。双击Shader Graph文件即可打开编辑窗口。

打开Shader Graph后,一开始会有一个"Master Node",你将通过连接其他节点到Master Node从而创建你想要的表面效果。
要学习更多关于底层的材质模型,可以了解一下Unity标准着色器的文档。

你可以通过编辑默认值快速改变表面效果,你甚至可以添加纹理和其他复杂的交互,要添加节点只需要右键单击并选择"创建节点"。

每个内置的Shader Graph节点都有复数的输入,我提供了默认值,你可以自定义这些值。

添加一个纹理或其他资源非常的简单,只需要根据资源类型创建一个节点,并连接节点。

你用Shader Graph创建的shader和普通的shader一样,可以创建材质,复数的材质可以使用相同的shader。

你可以轻松将shader的属性暴露出来,用于在不同的材质中获得不同的值。在Shader Graph中,右键任意节点选择"Convert to Property"即可将属性暴露在材质面板。

更多的教程

Andy Touch的案例库

在本篇文章中有2个可供参考的工程,使用Unity2018的版本可以打开这些工程。


关注成长,注重因果。