hash
hash
一个高质量的确定性伪随机数生成器,它将一个输入“种子”(如坐标或索引)转换为一个可预测的随机值,是程序化效果的基石。
核心优势
将复杂的 PCG 哈希算法封装为简单的节点,让开发者无需手动编写和维护跨平台的随机函数,即可轻松获得高质量、高性能且结果可预测的随机数。
常见用途
生成程序化纹理(如噪声、云朵)
随机化大量实例的属性(如颜色、大小)
结合时间节点创建动态闪烁或流动效果
实现抖动(Dithering)以平滑颜色渐变
如何调整
效果完全由其输入的“种子”节点决定。通过对种子进行数学运算来调整:乘以一个系数(`seed.mul(10)`)可以改变随机图案的密度;加上时间(`seed.add(timer())`)可以创造动画效果;将种子换成 `instanceIndex` 则可以为每个实例物体赋予不同属性。
代码示例
1// 结合时间,让静态噪点图案动起来
2const animatedNoise = hash( uv().add( timerGlobal() ) );