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.

FastNoiseLite

Успадковує: Noise < Resource < RefCounted < Object

Бібліотека FastNoiseLite.

Опис

Цей клас генерує шум за допомогою бібліотеки FastNoiseLite, яка є сукупністю декількох алгоритмів шуму, включаючи стільниковий, Perlin, значення та багато іншого.

Найпопулярніші значення шуму в діапазоні [-1, 1], але не завжди. 1.

Властивості

CellularDistanceFunction

cellular_distance_function

0

float

cellular_jitter

1.0

CellularReturnType

cellular_return_type

1

float

domain_warp_amplitude

30.0

bool

domain_warp_enabled

false

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

float

domain_warp_frequency

0.05

DomainWarpType

domain_warp_type

0

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

float

fractal_weighted_strength

0.0

float

frequency

0.01

NoiseType

noise_type

1

Vector3

offset

Vector3(0, 0, 0)

int

seed

0


Переліки

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

Відстань Euclidean до найближчої точки.

CellularDistanceFunction DISTANCE_EUCLIDEAN_SQUARED = 1

Квадратний Euclidean відстань до найближчої точки.

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 🔗

Визначає, як обчислюється відстань до найближчої/другої найближчої точки.


float cellular_jitter = 1.0 🔗

  • void set_cellular_jitter(value: float)

  • float get_cellular_jitter()

Максимальна відстань точки може переходити з сітки. Набір до 0 для рівномірної сітки.


CellularReturnType cellular_return_type = 1 🔗

Тип повернення з розрахунків стільникового шуму.


float domain_warp_amplitude = 30.0 🔗

  • void set_domain_warp_amplitude(value: float)

  • float get_domain_warp_amplitude()

Встановлює максимальну відстань від витоку.


bool domain_warp_enabled = false 🔗

  • void set_domain_warp_enabled(value: bool)

  • bool is_domain_warp_enabled()

Якщо увімкнено ще один приклад FastNoiseLite використовується для закріплення простору, що призводить до спотворення шуму.


float domain_warp_fractal_gain = 0.5 🔗

  • void set_domain_warp_fractal_gain(value: float)

  • float get_domain_warp_fractal_gain()

Визначення міцності кожного наступного шару шуму, який використовується для закріплення простору.

Низьке значення розміщує більше акценту на шарах бази нижніх частот, при цьому висока вартість кладе більше акцентів на шарах більшої частоти.


float domain_warp_fractal_lacunarity = 6.0 🔗

  • void set_domain_warp_fractal_lacunarity(value: float)

  • float get_domain_warp_fractal_lacunarity()

Зміна частоти між октавами, також відома як «лакунарність», фрактального шуму, яка спотворює простір. Збільшення цього значення призводить до вищих октав, що створює шум з дрібнішими деталями та грубішим виглядом.


int domain_warp_fractal_octaves = 5 🔗

  • void set_domain_warp_fractal_octaves(value: int)

  • int get_domain_warp_fractal_octaves()

Кількість шарів шуму, які збираються отримати кінцеве значення для вогнетривкого шуму, який закріплює простір.


DomainWarpFractalType domain_warp_fractal_type = 1 🔗

Метод об'єднання октав у фрактал, який використовується для деформації простору.


float domain_warp_frequency = 0.05 🔗

  • void set_domain_warp_frequency(value: float)

  • float get_domain_warp_frequency()

Частота шуму, що пригнічує простір. Низька частота призводить до гладкого шуму при високих частотах призводить до шорсткості, більш гранульованого шуму.


DomainWarpType domain_warp_type = 0 🔗

Алгоритм варпу.


float fractal_gain = 0.5 🔗

  • void set_fractal_gain(value: float)

  • float get_fractal_gain()

Визначення міцності кожного наступного шару шуму в фрактальному шумі.

Низьке значення розміщує більше акценту на шарах бази нижніх частот, при цьому висока вартість кладе більше акцентів на шарах більшої частоти.


float fractal_lacunarity = 2.0 🔗

  • void set_fractal_lacunarity(value: float)

  • float get_fractal_lacunarity()

Частотний множник між наступними октаами. Підвищення результатів цього значення у вищих октаях, що виробляють шум з дрібними деталями та грубим зовнішнім виглядом.


int fractal_octaves = 5 🔗

  • void set_fractal_octaves(value: int)

  • int get_fractal_octaves()

Кількість шарів шуму, які збираються отримати кінцеве значення для фрактальних типів шуму.


float fractal_ping_pong_strength = 2.0 🔗

  • void set_fractal_ping_pong_strength(value: float)

  • float get_fractal_ping_pong_strength()

Налаштовує міцність вогнетривкого пінг-понгового типу.


FractalType fractal_type = 1 🔗

Метод об'єднання октав у фрактал.


float fractal_weighted_strength = 0.0 🔗

  • void set_fractal_weighted_strength(value: float)

  • float get_fractal_weighted_strength()

Більша вага – це більш висока кількість октаїв, якщо нижні октави мають великий вплив.


float frequency = 0.01 🔗

  • void set_frequency(value: float)

  • float get_frequency()

Частота для всіх типів шуму. Низька частота призводить до гладкого шуму при високих частотах призводить до шорсткості, більш гранульованого шуму.


NoiseType noise_type = 1 🔗

Використаний алгоритм шуму.


Vector3 offset = Vector3(0, 0, 0) 🔗

  • void set_offset(value: Vector3)

  • Vector3 get_offset()

Перекласти координати шуму заданими Vector3.


int seed = 0 🔗

  • void set_seed(value: int)

  • int get_seed()

Випадковий кількість насіння для всіх типів шуму.