uLab-Shader Graph初探

初步接触Unity2018的ShaderGraph。ShaderGraph是类似于UE中材质系统的节点可视化材质编辑工具。

Shader Graph

Shader Graph是什么?

看到Shader这个单词就头大,这可能是很多u3d初学者的一个现象,它涉及到很多方面:图形学、数学、新的语法等等比较复杂。Unity推出了Shader Graph就是为了降低门槛,使得用户通过可视化界面拖拽就可以完成着色器的创建和编辑,配合轻量级渲染管线(LWRP)和高清渲染管线(HDRP)以及自定义管线,可以轻易实现目标效果。

Shader Graph编辑器是可视化的,通过拖拽节点来完成着色器的创建,并且可以在Unity中实时查看效果。同时,通过编写自定义节点能够实现更多效果功能。

安装、加载

组件安装

接下来开始配置并安装Shader Graph。uLab系列基于Unity2018.3,所以我们只需要打开Window->PackageManager,勾选“Show preview packages”,稍作等待,找到Shadergraph,点击Install安装即可。

Shader Graph
Shader Graph

SRP可编程渲染管线

LWRP

LWRP即轻量级渲染管线,是内置渲染器的一个子集。轻量级渲染管线主要提升性能受限平台上的表现,例如手机游戏或VR端。

值得注意的是,实时全局光照在LWRP中被移除,且LWRP只支持单程正向渲染。

这里推荐大家看一下官方的LWRP详解课程:

安装LWRP十分简单,与安装Shader Graph基本一致:打开PackageManager找到Render-Pipeleines.Lightweight并安装。

注意:ShaderGraph系列主要使用HDRP,所以不用下载LWRP。

HDRP

HDRP即高清晰渲染管线,旨在提供高级视觉保真度,适用于PC和主机平台。这里需要知道的就是这个东西十分牛逼厉害,可以实时渲染非常高质量的画面效果。

注意:HDRP目前不支持移动端.

安装HDRP同样使用PackageManager即可,安装过程中会自动安装Core和PostProcessing。

Shader Graph

具体信息我们可以找到HDRP的官方文档来获取更多详细信息。

同样推荐官方HDRP的相关直播视频:

正确使用SRP

要开始使用SRP,仅仅导入对应Package是不够的,还需要我们将当前默认的渲染管线更改成SRP。

以HDRP为例,在引入HDRP的Package之后,我们需要在Project窗口,右键创建一个HDRP配置的asset:
Shader Graph

之后,打开编辑器Edit->Project Settings窗口,在Graphics栏将刚才创建的asset拖到对应位置。
Shader Graph

最后,一定要在Player栏将项目Color Space改为Linear(线性空间)。

这一部分内容包括HDRP的详细介绍,在Unity官方论坛的这篇文章里讲的很详细,可以学习一下。

PostProcessing

PostProcessing后处理插件大家应该都很熟悉了,直接从PackageManager找到组件安装及即可,当然如果先安装了HDRP,那么PostProcessing应该会自动安装好。具体配置这里不再赘述,在下篇博文具体讲一下如何进行简单配置。

验证安装结果

打开PackageManager,在“InProject”项下进行对比:

Shader Graph

打开Shader Graph编辑器

当然我们的目的主要还是使用Shader Graph进行可视化Shader编写,所以我们来创建一个Shader。

首先,在Project窗口右键创建Shader->Unlit Graph:

Shader Graph

之后双击Test这个Shader即可打开Shader Graph的编辑器啦,看下一章界面初探。

界面初探

Shader Graph

这里是Shader Graph编辑器的界面,其中左上角是参数列表,这里记录着这个Shader暴露在项目中的可以编辑的变量。

窗口中央是节点编辑器,是主要功能区域,这里是我练习时编辑的Shader,内容会在下一篇博客详细讲解。

右下角为最终预览窗口,可以右键更改预览模式(圆柱体、面片一类的),这里粉色似乎是Shader Graph的Bug,实际上Shader是没有问题的。

最后秀一下这个Shader的效果:

Shader Graph

推荐与鸣谢

大发聚聚的Shader Graph教程为我的学习提供了很大帮助,在此感谢。

十分感谢B站Up主浮生若梦Jason酱的Shader Graph系列教程,这一系列博客基本上是学习这位聚聚的教程配以个人理解完成的,再次十分感谢。

同样推荐Shallot夏洛特大佬听译的官方教程:

结语

我们可以注意到Project Settings窗口和Window窗口在Unity2018.3中进行了比较大的改动,可能后面会研究相关内容再次开坑

Shader Graph学习还是很有意思的,这个系列大概会根据教程写两三篇实例练习的博文,希望能够促进自己的学习。

Daachun wechat
请给我钱ヾ(•ω•`)o