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(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
🔗
确定用于扭曲空间的噪声的每个后续层的强度。
较低的值更强调较低频率的基础层,而较高的值则更强调较高频率的层。
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。
确定分形噪声中噪声的每个后续层的强度。
较低的值更强调较低频率的基础层,而较高的值则更强调较高频率的层。
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 对噪声输入坐标进行平移。
所有噪声类型的随机数种子。