Shader学习第三篇:Shader Graph入门教程

上篇我们用ShaderLab来实现了第一个Shader,但对于初学者也太复杂了,那有没有简单的方式来实现shader的操作呢?
现在我们来分享下ShaderGraph,可视化编程,如图所示
在这里插入图片描述

ShaderGraph介绍

ShaderGraph是2018年推出的,可以看下官网出的例子https://github.com/UnityTechnologies/ShaderGraph_ExampleLibrary,主要支持渲染管线是URP、HDRP,现在也支持Built-In(内置渲染管线)了。

操作流程

1、创建URP工程

1、首先我们创建一个普通的3D项目

在这里插入图片描述
2、把项目配置成URP管线。打开windows–》Pakage Manage,在Unity Registry下搜索Universal RP进行安装
在这里插入图片描述
3、在Project面板下右键创建URP Asset
在这里插入图片描述
4、打开Edit–》Project Setting ,在Graphics下,把第三步新建的文件拖到指定位置,如图所示
在这里插入图片描述
5、这里我们URP设置完成,可以看出Camera已经发生了变化。
在这里插入图片描述

2、创建Shader Graph

上面我们配置了环境,下面我们来使用Shader Graph。
在Project面板下右键创建Shader Graph,选择Lit Shader Graph。各个选项介绍如下

  • Lit Shader Graph:光照模板
  • UnLit Shader Graph:无光照模板
  • Sprite:主要是2D 的模板
  • Decal Shader Graph:贴花模板。允许在物体表面上添加图案(贴花),包括基于物理的照明。Decal 在游戏中是常见的效果,比如在墙壁上的涂鸦、地毯上的花纹、血迹、弹孔等等效果。

在这里插入图片描述

3、Shader Graph介绍

这里我们讲述两个例子,来看看Shader Graph。
1、面板布局:直接上图
在这里插入图片描述

例子1:颜色

1、在左侧栏创建一个Color
在这里插入图片描述
2、新建后,把Color拖到操作面板中

在这里插入图片描述
3、把Color与片元着色器的Base Color相连
在这里插入图片描述
这里要注意记得保存,Ctrl+S不管用,需要点保存
在这里插入图片描述
另外再顺便介绍下Node Setting,这里点击Color,在Node Setting下会出现下面的属性值。

  • Name 和 Reference:这两个如果之前接触了ShaderLab编程,可能比较熟悉些。我们来看下ShaderLab中是如何定义的
_Color("Color",Color) = (1,1,1,1)//颜色

_Color:变量名,在后面编程中会用到。第二个Color:在材质的Shader下显示的名称。第三个Color:为类型定义。最后(1,1,1,1)为默认值

详细的可以看下我这篇文章Unity下Shader属性

  • Default:颜色值,这里可以修改默认的颜色值
  • Precision:精度
  • Exposed:这里默认是勾选的,也就是在材质的地方我们可以修改颜色值,如果这里不勾选,那么材质的Shader下便不会有这个选项。

在这里插入图片描述

4、这样我们第一个最简单的Shader Graph创建完成。我们来看看效果。在Hierarchy面板下新建一个Cube。并创建一个材质
在这里插入图片描述

5、把Shader Graph文件拖到材质上,也可以在材质的Shader选项的下拉菜单中选择
在这里插入图片描述

6、我们把材质应用到Cube上,我们尝试可以修改颜色看看效果。
在这里插入图片描述

例子2:贴图

1、在左侧面板下创建Texture 2D
在这里插入图片描述
2、贴图要比颜色复杂,无法直接跟Base Color相连,我们需要借助Sameple Texture2D。
在这里插入图片描述
3、如果对Sample Texture2D感兴趣,我们可以在上面右键,选择Open Documentation来查看文档。

在这里插入图片描述
4、跟例子1相似,我们把贴图例子应用到项目中,我们随便找张图片,拖到贴图位置,查看效果。这样我们的贴图例子就完成了。
在这里插入图片描述

总结

我们的第一个Shader Graph就完成了,是不是比之前的编程要简单很多。通过ShaderLab分享,以及这篇ShaderGraph的文章我们大概了解了在Unity如何操作Shader。如果想深入了解,也可以看看我别的文章。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小~小

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值