这里我们选择
Gradient Noise 梯度噪点。
噪点图通常搭配Tiling And Offset 平铺和偏移节点来修改传入的UV,这里再新建一个Tiling And Offset 节点,链接至Gradient Noise UV上。我们可以尝试拖动Tiling 和 Offset的数值来观察GradientNoise图的变化。是否发现,拖动Tiling的时候也会改变Gradient Noise的大小尺寸,拖动Offset会修改Noise图的位移。代入到想实现的效果上,可以抽象的理解为球体内部闪烁的光芒。通过控制Offset的值可以模拟出随机闪烁的光芒。`
我们可以使用一个Time节点,来使Offset跟随时间的流逝来偏移。
ShaderGraph中,左上角有一块小区域,这块区域可以创建自定义的属性,使在此区域创建的属性可以暴露在创建的相关材质上,方便修改调试。接着我们在此区域创建一个Float节点,双击节点可以修改名字,把名字修改为”ScrollSpeed“,拖动这个节点到主面板上,然后创建一个Multiply(相乘)节点,链接Time至A,拖入的属性节点链接至B。这样就可以通过修改自定义属性“ScrollSpeed”的值来控制Time节点的变换速度。链接Multiply的Out节点至Tiling And Offset的Offset上就可以看到一个偏移的动画了。
修改为Object模型的空间。我们还需要注意到一点。球体的内部除了Noise随机的闪烁光点,还有这些闪烁光点绕着某一个方向在做旋转。我们可以创建一个节点Rotate About Axis ,这个节点可以输入的In值,通过Axis修改轴向,通过Rotation控制轴向修改的角度。
也就是说,可以通过Position节点链接至Rotate About Axis 的In值上,修改Position节点也就是模型空间坐标,绕Axis值所代表的轴向旋转,角度为Rotation的值。再通过Add节点相加Position节点,混合旋转的Position和原始的Position的值,链接至Tiling And Offset的UV上。接下来把Axis的值改为(0,1,0),Rotation值改为90。再把Out节点连接至Base Color ,就可以看到改变的效果。
可以复制一份之前创建的所有节点,修改复制过后的Rotate About Axis节点的属性,使其相反,也就是复制之后Axis的值改成 Y轴为零 X和Z为1。这样接缝的位置也会旋转,接着顺便加点细节,在Time节点的最终输出点上再相乘一个-1,就可以使其和原来的效果运动轨迹相反。再新建一个Multiply节点,原Power输出Out链接A,复制Power输出Out链接B,就可以得到一个完整的效果了。接着再创建一个Multiply节点,在属性面板上新建一个Color,名称可以起名为innerColor。拖出面板链接新创建的Multiply节点B,两个Power节点相乘的节点输出Out链接至新创建的Multiply节点A。我们就为球体的内部附上了一个基础的颜色。`