跳转到内容

pnoise

float|vector pnoise(float x, int px)

float|vector pnoise(vector x, vector p)

float|vector pnoise(vector4 xyzt, vector4 p)

float|vector pnoise(float x, float y, int px, int py)

float|vector pnoise(vector xyz, int px, int py, int pz)

float|vector pnoise(vector4 xyzt, int px, int py, int pz, int pt)

Perlin噪声有两种形式:一种是在N维空间中随机变化的非周期性噪声,另一种是在给定空间范围内重复的周期性噪声。

此函数生成周期性噪声。如需生成非周期性Perlin噪声,请使用noise函数。

这些函数可返回4D(vector4参数)、3D(vector参数)、2D(两个float参数)或1D(float参数)位置处的噪声值。您可以获取一个随机浮点值或包含三个随机值的向量。

“p”整型或向量参数指定周期性范围。例如,当您创建2D图像并希望其平铺时:

clr = pnoise(X * 4, Y * 5, _4, 5_)

在此示例中,X的范围是0-4,Y的范围是0-5,噪声在该区间内呈周期性变化。

如果周期参数为0,VEX会将其视为周期性。您可以通过此特性使噪声在某一维度上具有周期性,而在另一维度上不具有周期性。

噪声的分布取决于维度,维度越高,噪声值的分布越接近高斯分布。