FastNoiseLite¶
继承: Noise < Resource < RefCounted < Object
使用 FastNoiseLite 库生成噪声。
描述¶
这个类使用FastNoiseLite库生成噪声,该库包含多种噪声算法,包括细胞噪声、Perlin噪声、值噪声等。大多数生成的噪声值范围在[-1, 1]之间,但并非总是如此。一些细胞噪声算法返回的结果会超过1。
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
枚举¶
enum NoiseType: 🔗
NoiseType TYPE_VALUE = 5
点阵被分配随机值,然后根据相邻值进行插值。
NoiseType TYPE_VALUE_CUBIC = 4
Similar to Value noise, but slower. Has more variance in peaks and valleys.
Cubic noise can be used to avoid certain artifacts when using value noise to create a bumpmap. In general, you should always use this mode if the value noise is being used for a heightmap or bumpmap.
NoiseType TYPE_PERLIN = 3
随机渐变的一种格子。对它们的点积进行插值,以获得格子之间的值。
NoiseType TYPE_CELLULAR = 2
蜂窝包括 Worley 噪声图和 Voronoi 图,它们创建了相同值的不同区域。
NoiseType TYPE_SIMPLEX = 0
与 TYPE_PERLIN 不同,渐变存在于单纯形点阵中,而不是网格点阵中,从而避免了定向伪影。内部使用 FastNoiseLite 的 OpenSimplex2 噪声类型。
NoiseType TYPE_SIMPLEX_SMOOTH = 1
对 TYPE_SIMPLEX 修改后得到的更高质量版本,但速度较慢。内部使用 FastNoiseLite 的 OpenSimplex2S 噪声类型。
enum FractalType: 🔗
FractalType FRACTAL_NONE = 0
无分形噪声。
FractalType FRACTAL_FBM = 1
使用分形布朗运动将八度音阶组合成分形的方法。
FractalType FRACTAL_RIDGED = 2
将八度音阶组合成分形的方法,从而产生一种“脊状”外观。
FractalType FRACTAL_PING_PONG = 3
将八度音阶组合成具有乒乓效果的分形的方法。
enum CellularDistanceFunction: 🔗
CellularDistanceFunction DISTANCE_EUCLIDEAN = 0
到最近点的欧几里得距离。
CellularDistanceFunction DISTANCE_EUCLIDEAN_SQUARED = 1
到最近点的欧几里得距离的平方。
CellularDistanceFunction DISTANCE_MANHATTAN = 2
到最近点的曼哈顿距离(出租车度量法)。
CellularDistanceFunction DISTANCE_HYBRID = 3
DISTANCE_EUCLIDEAN 和 DISTANCE_MANHATTAN 的混合,以给出弯曲的单元格边界。
enum CellularReturnType: 🔗
CellularReturnType RETURN_CELL_VALUE = 0
蜂窝单元格距离函数,将为单元格内的所有点返回相同的值。
CellularReturnType RETURN_DISTANCE = 1
蜂窝单元格距离函数,将返回一个由到最近点的距离确定的值。
CellularReturnType RETURN_DISTANCE2 = 2
蜂窝单元格距离函数,将返回到第二最近点的距离。
CellularReturnType RETURN_DISTANCE2_ADD = 3
将最近点的距离与次近点的距离相加。
CellularReturnType RETURN_DISTANCE2_SUB = 4
将最近点的距离与次近点的距离相减。
CellularReturnType RETURN_DISTANCE2_MUL = 5
将最近点的距离与次近点的距离相乘。
CellularReturnType RETURN_DISTANCE2_DIV = 6
将最近点的距离与次近点的距离相除。
enum DomainWarpType: 🔗
DomainWarpType DOMAIN_WARP_SIMPLEX = 0
使用单纯形噪声算法,对域进行扭曲。
DomainWarpType DOMAIN_WARP_SIMPLEX_REDUCED = 1
使用简化版的单纯形噪声算法,对域进行扭曲。
DomainWarpType DOMAIN_WARP_BASIC_GRID = 2
使用简单的噪声栅格(不像其他方法那样平滑,但性能更高),对域进行扭曲。
enum DomainWarpFractalType: 🔗
DomainWarpFractalType DOMAIN_WARP_FRACTAL_NONE = 0
没有用于扭曲空间的分形噪声。
DomainWarpFractalType DOMAIN_WARP_FRACTAL_PROGRESSIVE = 1
逐渐扭曲空间,一个八度一个八度,导致更“液化”的失真。
DomainWarpFractalType DOMAIN_WARP_FRACTAL_INDEPENDENT = 2
为每个八度音阶独立地扭曲空间,从而导致更混乱的失真。
属性说明¶
CellularDistanceFunction cellular_distance_function = 0 🔗
void set_cellular_distance_function(value: CellularDistanceFunction)
CellularDistanceFunction get_cellular_distance_function()
确定如何计算到最近/第二最近点的距离。有关选项,请参阅 CellularDistanceFunction。
一个点可以离开其栅格位置的最大距离。对于偶数栅格,设置为 0。
CellularReturnType cellular_return_type = 1 🔗
void set_cellular_return_type(value: CellularReturnType)
CellularReturnType get_cellular_return_type()
蜂窝噪声计算的返回类型。请参阅 CellularReturnType。
float domain_warp_amplitude = 30.0 🔗
设置距原点的最大扭曲距离。
bool domain_warp_enabled = false 🔗
如果启用,则另一个 FastNoiseLite 实例将被用于扭曲空间,从而导致噪声失真。
float domain_warp_fractal_gain = 0.5 🔗
Determines the strength of each subsequent layer of the noise which is used to warp the space.
A low value places more emphasis on the lower frequency base layers, while a high value puts more emphasis on the higher frequency layers.
float domain_warp_fractal_lacunarity = 6.0 🔗
扭曲空间的分形噪声的八度音阶空隙。增加此值,会导致更高的八度音阶,从而产生细节更精细、外观更粗糙的噪声。
int domain_warp_fractal_octaves = 5 🔗
为获得扭曲空间的分形噪声的最终值而采样的噪声层数。
DomainWarpFractalType domain_warp_fractal_type = 1 🔗
void set_domain_warp_fractal_type(value: DomainWarpFractalType)
DomainWarpFractalType get_domain_warp_fractal_type()
将八度音阶组合成用于扭曲空间的分形的方法。请参阅 DomainWarpFractalType。
float domain_warp_frequency = 0.05 🔗
扭曲空间的噪音频率。低频产生平滑的噪声,而高频产生更粗糙、颗粒状更明显的噪声。
DomainWarpType domain_warp_type = 0 🔗
void set_domain_warp_type(value: DomainWarpType)
DomainWarpType get_domain_warp_type()
设置扭曲算法。请参阅 DomainWarpType。
Determines the strength of each subsequent layer of noise in fractal noise.
A low value places more emphasis on the lower frequency base layers, while a high value puts more emphasis on the higher frequency layers.
float fractal_lacunarity = 2.0 🔗
后续八度音阶之间的倍频器。增加该值,会产生更高的八度音阶,从而产生细节更精细、外观更粗糙的噪声。
为获得分形噪声类型的最终值而采样的噪声层数。
float fractal_ping_pong_strength = 2.0 🔗
设置分形乒乓类型的强度。
FractalType fractal_type = 1 🔗
void set_fractal_type(value: FractalType)
FractalType get_fractal_type()
将八度音阶组合成分形的方法。请参阅 FractalType。
float fractal_weighted_strength = 0.0 🔗
较高的权重意味着如果较低的八度具有较大的影响,则较高的八度具有较小的影响。
所有噪声类型的频率。低频产生平滑的噪声,而高频产生更粗糙、颗粒状更明显的噪声。
所使用的噪声算法。见 NoiseType。
Vector3 offset = Vector3(0, 0, 0) 🔗
使用给定的 Vector3 对噪声输入坐标进行平移。
所有噪声类型的随机数种子。