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
Аналогично шуму значений (TYPE_VALUE), но медленнее. Имеет большую дисперсию пиков и впадин.
Кубический шум можно использовать для предотвращения определённых артефактов при использовании шума значений для создания рельефной карты. В целом, этот режим следует всегда использовать, если шум значений используется для карты высот или рельефной карты.
NoiseType TYPE_PERLIN = 3
Решетка случайных градиентов. Их скалярные произведения интерполируются для получения значений между решетками.
NoiseType TYPE_CELLULAR = 2
Сотовая связь включает в себя как шум Worley, так и диаграммы Voronoi, которые создают различные области с одинаковым значением.
NoiseType TYPE_SIMPLEX = 0
В отличие от TYPE_PERLIN, градиенты существуют в симплексной решетке, а не в сетке сетки, избегая направленных артефактов. Внутренне использует тип шума OpenSimplex2 от FastNoiseLite.
NoiseType TYPE_SIMPLEX_SMOOTH = 1
Измененная, более качественная версия TYPE_SIMPLEX, но медленнее. Внутренне использует тип шума OpenSimplex2S от FastNoiseLite.
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
Расстояние по Манхэттену (по шкале taxicab) до ближайшей точки.
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()
Определяет, как вычисляется расстояние до ближайшей/второй по близости точки.
Максимальное расстояние, на которое точка может сместиться от своей позиции сетки. Установите 0 для равномерной сетки.
CellularReturnType cellular_return_type = 1 🔗
void set_cellular_return_type(value: CellularReturnType)
CellularReturnType get_cellular_return_type()
Тип возврата из расчетов клеточного шума.
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()
Метод объединения октав во фрактал, используемый для деформации пространства.
float domain_warp_frequency = 0.05 🔗
Частота шума, который деформирует пространство. Низкая частота приводит к плавному шуму, а высокая частота приводит к более грубому, гранулярному шуму.
DomainWarpType domain_warp_type = 0 🔗
void set_domain_warp_type(value: DomainWarpType)
DomainWarpType get_domain_warp_type()
Алгоритм варпа.
Определяет силу каждого последующего слоя шума во фрактальном шуме.
Низкое значение делает больший акцент на базовых слоях с более низкой частотой, тогда как высокое значение делает больший акцент на слоях с более высокой частотой.
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()
Метод объединения октав во фрактал.
float fractal_weighted_strength = 0.0 🔗
Более высокий вес означает, что более высокие октавы оказывают меньшее влияние, если более низкие октавы оказывают большее влияние.
Частота для всех типов шума. Низкая частота приводит к гладкому шуму, а высокая частота приводит к более грубому, более гранулярному шуму.
Используемый алгоритм шума.
Vector3 offset = Vector3(0, 0, 0) 🔗
Перевести входные координаты шума по заданному Vector3.
Начальное значение случайного числа для всех типов шума.