教程:Unity Shader Graph - Clouds Tutorial - YouTube
- 导入一个平面
- 
创建空白graph后在targetsetting中 add active targets:universal 
 image.png
 勾选Two sided使两面均可见 
 image.png
 属性值及其默认值设定
 image.png
 将属性作为噪声缩放率的输入,连接输出的base color,应用看到效果 
 image.png
- 增加移动的动画
 移动速度(输入属性 Vector2) * Time节点(float) = uv offset(Vector2)
 动画.gif
 4.调整噪声的密度
 用power节点,输出A^B, A的值在[0,1]之间,B越大输出值越小,即整体越黑(数图点运算之幂次变换) 
 动画 (1).gif
 有时候纹理预览不能正确显示,play一下刷新就好
 5.调整颜色和intensity
 增加color属性,模式选为HDR。color节点与power的输出相乘
 image.png
 image.png
- 
增加不透明度 
 增加alpha属性与噪声相乘,graph settings中将surface设为Transparent,片元着色器中增加Alpha,乘积输出至此。
 image.png
操作:相机或其他物体视角与视图对齐(或反之)

image.png
目前的节点和效果:

image.png
- 
添加扰动 
 目前的云完全重复一致,增加另一套噪声做扰动,使云的形状有变化
 image.png
两套噪声的scale和speed要有倍数差距才能看出效果

动画 (2).gif
目前是一层纯平面的云
8.添加厚度
将模型建为很多细分的微凸起面,构造足够多的顶点

image.png
在vertex shader中增加关于起伏的节点,Normal Vector和Position的空间都选为Object
new vertex position = 物体空间法向*主噪声输出*offset比例+原来的vertex position
相当于把凸面的顶点沿法向往外移 而且随噪声的动画移动

image.png
vertexoffset设到千分之一就有明显厚度起伏

image.png
做出伪体积感

动画 (3).gif
9.制作空洞
勾选AlphaClip并设置其参数,制造云的空洞,小于该alpha阈值的位置都变为空洞

image.png
完成效果

动画 (4).gif
完整shader graph

image.png









