Notifications
Article
从头学ShaderGraph 2-基础材质
Updated 25 days ago
1.1 K
12
这次来做连连看案例,基础的PBR材质,刚入门shadergraph的可以来看看,案例文件会放在文章底部。
为了显示效果,我选择HDRP来做演示项目的管线,ShaderGraph做的内容可以通用,但数值上会有稍许不同。

基础材质

基础材质,也就是Standard材质,是我们使用unity过程中最常见的一种着色器,相信大家对基础材质的每项参数都很熟悉。
所以把这个作为第一章,不会有技术门槛(主要是熟悉节点操作)。当然,如果觉得这篇内容都会,可以跳后面文章。
PBR材质,自然要以PBR Master作为输出节点
先来分析下Standard材质球的贴图和控制参数

Metallic工作流:

贴图
  • 颜色:Albdeo(RGB)+Alpha(A)
  • 材质:Metallic(R)+AO(G)+Smoothness(A)
  • 法线:Normal(RGB/OpenGL)
  • 自发光:Emission(RGB)
控件
  • 所有贴图的UV位移和缩放
  • 与Albedo相乘的颜色
  • 法线强度
  • 金属度/光滑度/AO强度滑块(0-1)
  • 与自发光相乘的颜色(可以是HDR)
  • 自发光强度

把贴图贴好

首先是UV
创建一个Vector4,取名叫Tiling And Offset,RG做Tiling,BA做Offset,这个在上篇也写过。
将所有贴图位放入Graph中,并将对应线条都连好。
注意法线要选择Type为Normal。以及每种贴图位在缺少贴图时的默认颜色,比如法线要选为Bump,自发光选为Black等。

接下来是控件

普通的强度控制,就直接是一个数值乘上去。强度数值可以设置为滑块,比如金属度/光滑度/AO这种,只能在0到1之间变化,可以用滑块来控制。而法线强度这种就无需用滑块。
可以在左边Properties,切换参数的模式为滑块Slider。
但不是所有强度都是用乘,AO和Normal不同。要用Lerp和Normal Strength
*Lerp:线性插值 / Normal Strength:法线强度
AO这个很好理解。你希望AO强度是0的时候,颜色应该是白色,也就是1。强度是1的时候,颜色应该是贴图。
如果用乘法,任何数乘0都是黑。所有行不通,要用插值来切换AO强度。

除此之外

HDRP是用的物理单位的灯光,一个10000Lux的平行光作为太阳光,再用后期调整曝光值,强行把颜色压下来。
这会导致,同一个Emission的强度,所产生的Bloom效果,在HDRP与URP(LWRP)中差很多。
Unity默认的HDR颜色选项,范围只有-10到10。
而我为了达到图中Bloom效果,强度乘了10w倍。
tql
当然,具体数值,你可以自己调整。
下面是我的文件
链接:https://share.weiyun.com/5fg7YEG 密码:7rdabm
使用方法:找个HDRP或着URP(LWRP),拖进去。我的文件夹下有预制体。记得调自发光强度。
下面是我的artstation地址:
https://www.artstation.com/luteli
Lute-Li
A Leisurely Artist - Artist
13
Comments
Lute-Li
a month ago
A Leisurely Artist
赛文柒大佬可以出一个头发的shadedgraph吗?
shadergraph不能直接取到灯光方向,你知道吗,这就很为难了
0
赛文柒
a month ago
😶
大佬可以出一个头发的shadedgraph吗?
0
Lute-Li
a month ago
A Leisurely Artist
小叮当好棒的教程呀,谢谢大佬的讲解
之后也会有很多哦
1
Lute-Li
a month ago
A Leisurely Artist
shuaicong大佬
不敢当不敢当
0
小叮当
a month ago
学生自学
好棒的教程呀,谢谢大佬的讲解
0