Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
FastNoiseLite¶
继承: Noise < Resource < RefCounted < Object
使用 FastNoiseLite 库生成噪声。
描述¶
该类使用 FastNoiseLite 库生成噪声,该库是多种噪声算法的集合,包括 Cellular、Perlin、Value 等。
大多数生成的噪声值都在 [-1, 1]
范围内,但并非总是如此。一些蜂窝噪声算法返回高于 1
的结果。
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
枚举¶
enum NoiseType:
NoiseType TYPE_VALUE = 5
点阵被分配随机值,然后根据相邻值进行插值。
NoiseType TYPE_VALUE_CUBIC = 4
类似于 Value 噪声,但速度较慢。波峰和波谷的变化更大。
在使用值噪声创建凹凸贴图时,可以使用三次噪声来避免某些伪影。一般来说,如果值噪声用于高度图或凹凸贴图,则应始终使用此模式。
NoiseType TYPE_PERLIN = 3
随机渐变的一种格子。对它们的点积进行插值,以获得格子之间的值。
NoiseType TYPE_CELLULAR = 2
蜂窝包括 Worley 噪声图和 Voronoi 图,它们创建了相同值的不同区域。
NoiseType TYPE_SIMPLEX = 0
与 TYPE_PERLIN 不同,渐变存在于单纯形点阵中,而不是网格点阵中,从而避免了定向伪影。
NoiseType TYPE_SIMPLEX_SMOOTH = 1
对 TYPE_SIMPLEX 修改后得到的更高质量版本,但速度较慢。
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 ( CellularDistanceFunction value )
CellularDistanceFunction get_cellular_distance_function ( )
确定如何计算到最近/第二最近点的距离。有关选项,请参阅 CellularDistanceFunction。
float cellular_jitter = 1.0
一个点可以离开其栅格位置的最大距离。对于偶数栅格,设置为 0
。
CellularReturnType cellular_return_type = 1
void set_cellular_return_type ( CellularReturnType value )
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
确定用于扭曲空间的噪声的每个后续层的强度。
较低的值更强调较低频率的基础层,而较高的值则更强调较高频率的层。
float domain_warp_fractal_lacunarity = 6.0
void set_domain_warp_fractal_lacunarity ( float value )
float get_domain_warp_fractal_lacunarity ( )
扭曲空间的分形噪声的八度音阶空隙。增加此值,会导致更高的八度音阶,从而产生细节更精细、外观更粗糙的噪声。
int domain_warp_fractal_octaves = 5
为获得扭曲空间的分形噪声的最终值而采样的噪声层数。
DomainWarpFractalType domain_warp_fractal_type = 1
void set_domain_warp_fractal_type ( DomainWarpFractalType value )
DomainWarpFractalType get_domain_warp_fractal_type ( )
将八度音阶组合成用于扭曲空间的分形的方法。请参阅 DomainWarpFractalType。
float domain_warp_frequency = 0.05
扭曲空间的噪音频率。低频产生平滑的噪声,而高频产生更粗糙、颗粒状更明显的噪声。
DomainWarpType domain_warp_type = 0
void set_domain_warp_type ( DomainWarpType value )
DomainWarpType get_domain_warp_type ( )
设置扭曲算法。请参阅 DomainWarpType。
float fractal_gain = 0.5
确定分形噪声中噪声的每个后续层的强度。
较低的值更强调较低频率的基础层,而较高的值则更强调较高频率的层。
float fractal_lacunarity = 2.0
后续八度音阶之间的倍频器。增加该值,会产生更高的八度音阶,从而产生细节更精细、外观更粗糙的噪声。
int fractal_octaves = 5
为获得分形噪声类型的最终值而采样的噪声层数。
float fractal_ping_pong_strength = 2.0
设置分形乒乓类型的强度。
FractalType fractal_type = 1
void set_fractal_type ( FractalType value )
FractalType get_fractal_type ( )
将八度音阶组合成分形的方法。请参阅 FractalType。
float fractal_weighted_strength = 0.0
较高的权重意味着如果较低的八度具有较大的影响,则较高的八度具有较小的影响。
float frequency = 0.01
所有噪声类型的频率。低频产生平滑的噪声,而高频产生更粗糙、颗粒状更明显的噪声。
NoiseType noise_type = 1
所使用的噪声算法。见 NoiseType。
Vector3 offset = Vector3(0, 0, 0)
使用给定的 Vector3 对噪声输入坐标进行平移。
int seed = 0
所有噪声类型的随机数种子。