Notifications
Article
从头学ShaderGraph 1-学前须知
Published a month ago
1.4 K
20
看到很多人想学ShaderGraph,所以新开一个坑,走过路过不要错过。这篇先写点基础,下次再说案例。

点赞收藏是我更新的动力!

写在前面

由于本人美术出身,加上不会写代码,,无奈成为连连看玩家,从最早的Shader Forge,Amplify Shdaer Editor,到现在的Shader Graph,Substance Designer,都有所涉及。
Shader Graph早期版本,节点贫瘠,问题众多,所以弃坑了许久,偶然听闻近期更新之频繁,群友哀嚎学习资源之匮乏,遂重新开坑Shader Graph,望大家多多捧场。我会找些有意思的shader案例,在Shader Graph中重现出来,主要讲解 制作思路 与 基础原理,要学习软件操作的请自己加油。
提前声明:除部分常见shader效果实现外,本人文章将多以Youtube的Shader Graph案例为主。或把Forge/ASE的shader,在Shader Graph重现,如果是别人的案例,我会贴出链接地址或原始出处。本人能力有限,如过看到有任何地方写的不对,请告之,我会改正。

正文开始

现有Shader Graph节点被分为8类,每个节点的详细信息可以看官方文档
https://docs.unity3d.com/Packages/com.unity.shadergraph@7.1/manual/Node-Library.html
也可以对着节点右键,点Open Documentation,查看指定节点的文档。
所有节点用处,其实可以总结为3大类:输入→运算→输出
  • 输入:图片,数字等一些列外部能取到的信息
  • 运算:加减乘除平方开方等,将上述输入内容进行处理,生成新的图像
  • 输出:将运算后的图片或数据,喂给各种光照模型的Master节点,完成着色。
这就是着色器(Shader)
这是一个最基础的连法
他一共做了4件事
  1. 以图中UV方式映射一张图
  2. 外部输入一张彩图
  3. 外部输入一个颜色,颜色与上图相乘
  4. 该图输出到 Unlit Master 的 Color
可见,输入有2个:图片 与 颜色,运算也有2个:UV 与 乘法(运算)。如果要做文章,自然在UV和运算上。

UV

可能某些程序,天天能看到模型贴图,但至今不知道UV是起什么作用。
UV是什么?他其实是一种规则,告诉贴图应该怎么贴在模型上。模型做完后,需要手动展开UV,再制作贴图。之后贴图便能以该UV的规则,贴在模型上。
*Split:分离通道 / Combine:合并通道
基础的UV看似一张彩图,其实是用两个通道来记录贴图的上下左右位置。拆开UV,可以看到UV的U记录左右信息,UV的V记录上下信息。
所以,改变UV也会改变图片映射方式
*OneMinus:用一减去输入(即1-x)
我将U左右翻转,最终图片也会左右翻转
UV乘以一个数值,就是缩放(Tiling),UV加减一个值,就是移动(Offset)。当然你也可以直接用Tiling And Offset这个节点。
UV大类中还有很多节点,都可以试试,还挺好玩的。
理解了UV含义后,现在回头再看看。并非只有制作模型时的UV,能当作图片映射规则,只要是能再画面中变化的数值,均可当作UV。
举个例子,以世界坐标的XZ来当作UV
这个可以用来做地面重复的瓷砖材质,模型都不用展UV。(或者你可以用Triplanar节点,做三面映射)
铺垫结束,下篇开始说实际案例。节奏大概是 简单节点,一篇介绍两个;复杂节点,一篇说一个。
先预告下,下篇会有个案例来自于Brackeys(youtube),也算是我unity最早的启蒙老师之一,他的视频真的简单易懂,而且更新频繁。当然,如果你懒得看视频,直接看我的文章也是极好的 : )
下面是我的artstation地址:
https://www.artstation.com/luteli
Lute-Li
A Leisurely Artist - Artist
14
Comments
常涛
17 days ago
非常感谢大佬的讲解。
0
风生水虎
20 days ago
xunshu注意查收私信:connect.unity.com/messages
好的 谢谢
0
xunshu
Staff
20 days ago
风生水虎可以 前排点赞 坐等大佬更新
注意查收私信:connect.unity.com/messages
0
风生水虎
21 days ago
xunshu@风生水虎 感谢支持中文原创,恭喜获得新年开运大礼包,收货地址私信我哦~
现在才看到 还有吗😢
0
xp
22 days ago
Lute-Li都已经用shader graph了还优化啥,本来就是给没基础的美术用
好的,谢谢
0