triNoise3D
triNoise3D
在 GPU 上实时生成一种独特的、基于三角波函数的3D程序化噪声,无需纹理文件,可用于创建复杂的、可动画的有机图案,如火焰、能量场或动态表面。
核心优势
它通过内置的 `time` 和 `speed` 参数轻松实现可控的平滑动画,并且其独特的三角波算法能生成具有线性或结晶特征的图案,区别于传统的云状噪声,为特效和艺术表现提供了新颖的视觉风格。
常见用途
将噪声值映射到颜色渐变,以模拟动态的火焰或岩浆效果
与菲涅尔效应结合,制作科幻风格的能量护盾或力场
作为溶解或腐蚀特效的动态遮罩,以不规则的方式让物体消失
如何调整
通过调整其三个输入参数:缩放 `position` 输入(如 `positionWorld.mul(value)`)可以改变噪声图案的大小和密度;改变 `speed` 输入可以控制动画的快慢;`time` 输入(通常是 `timerLocal()`)则驱动动画的演变。
代码示例
1const noise = triNoise3D(
2 positionWorld.mul( 0.5 ), // 输入坐标,乘以0.5来放大图案
3 float( 0.3 ), // 设置动画速度
4 timerLocal() // 使用计时器驱动动画
5);