|
冰材质,带有深度缝隙。三天更两篇,高产似母猪。还有,走过路过帮我来unity connect收藏点赞吧。
https://connect.unity.com/p/cong ... hen-du-bing-cai-zhi
原作者来自于youtube,案例贴图被压缩过,如需高清贴图可在原网址下载。
深度冰材质
先来张动图
能看到在转动的时候,白色裂缝处仿佛有模型插在里面一样,有深度。
有看过我HDRP节点的朋友应该知道,这就是视差parallax,在HDRP中有现成节点。
不过这次就是来点刺激的,纯用基础节点连出来,也方便一部分朋友理解parallax的原理。下面是全部节点截图。
不要被一堆线吓到,仔细看就是一条循环,分解过程一步步来。
基础材质
没什么能说的,颜色和法线,加了个UV控制。
做一个裂缝
我们需要将贴图,根据视角,将模型表面,向内部压。
做过法线的人都知道,NormalMap是切线空间法线,这在我之前的文章里也有写。所以我们需要压的方向便是:切线空间。
所以我们需要的是:
- 根据视角=View Direction
- 模型表面方向压=Tangent的View Direction
本来要转换一下矩阵,但View Direction自带有转换功能,所以直接用。
将UV减去第一层裂缝的厚度,即我们需要的新UV,自己建个参数ParallaxOffset,用来控制厚度。(这里虽然用的是add,但parallax是负数,所以还是减法。)
可以看到已经出来第二层。
为了方便,将计算部分直接框选右键,打组。取名叫Ice Parallax,循环的时候不至于一堆节点。
做一堆裂缝
由于这次的冰凹槽,是黑白图片叠加,所以能把视差偏移后的图片直接混合。
正经的视差是偏移UV,最终输出UV给贴图用。而不是直接输出贴图,好孩子不要学。
先从2个裂缝开始。
2层比1层要更深,颜色要更淡。
左边Add负责深度,右边Lerp负责更淡。
记得将贴图换成Texture 2D Asset,毕竟你不想定义多次图片。
重复这个循环20次,lerp从上到下是:0,0.5,1,1.5...1。也就是分成了20段。
ParallaxOffset调到合适的数值。
上色
将裂缝黑白图与原图混合,混合模式为Overlay。
下面是Overlay公式,a就是Opacity。
我加了一个Pow2.2,应该有人熟悉这个数值,linear转gamma(到底用2.2还是2.5呢,效果差不多)
效果如图,无pow的白色戛然而止,过渡不明显,有pow的就还不错。
最后来张大图
都看到这里了,点赞收藏吧。
下面是我的文件
链接:
文件分享https://share.weiyun.com/5tfG4Rr
密码:qtdxrd
使用方法:找个HDRP或着URP(LWRP),拖进去。我的文件夹下有预制体。
我的环境:Unity2019.3.0f1 HDRP 7.1.6 ShaderGraph 7.1.6
下面是我的artstation地址:https://www.artstation.com/luteli
相关阅读:
从头学ShaderGraph :UV与基础材质
从头学ShaderGraph:雪材质
从头学ShaderGraph :护盾材质
作者:Lute Li
专栏地址:https://zhuanlan.zhihu.com/p/109549867
|
|