NoiseTexture3D

Наследует: Texture3D < Texture < Resource < RefCounted < Object

3D-текстура, заполненная шумом, созданным объектом Noise.

Описание

Использует библиотеку FastNoiseLite или другие генераторы шума для заполнения данных текстуры нужного вам размера.

Класс использует Thread для внутренней генерации данных текстуры, поэтому Texture3D.get_data() может вернуть null, если процесс генерации еще не завершен. В этом случае вам нужно дождаться генерации текстуры перед доступом к изображению:

var texture = NoiseTexture3D.new()
texture.noise = FastNoiseLite.new()
await texture.changed
var data = texture.get_data()

Свойства

Gradient

color_ramp

int

depth

64

int

height

64

bool

invert

false

Noise

noise

bool

normalize

true

bool

seamless

false

float

seamless_blend_skirt

0.1

int

width

64


Описания свойств

Gradient color_ramp 🔗

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


int depth = 64 🔗

  • void set_depth(value: int)

  • int get_depth()

Глубина созданной текстуры (в пикселях).


int height = 64 🔗

  • void set_height(value: int)

  • int get_height()

Высота сгенерированной текстуры (в пикселях).


bool invert = false 🔗

  • void set_invert(value: bool)

  • bool get_invert()

Если true, инвертирует текстуру шума. Белый становится черным, черный становится белым.


Noise noise 🔗

Экземпляр объекта Noise.


bool normalize = true 🔗

  • void set_normalize(value: bool)

  • bool is_normalized()

Если true, шумовое изображение, поступающее от генератора шума, нормализуется в диапазоне от 0.0 до 1.0.

Отключение нормализации может повлиять на контрастность и позволит создавать неповторяющиеся мозаичные текстуры шума.


bool seamless = false 🔗

  • void set_seamless(value: bool)

  • bool get_seamless()

Если true, бесшовная текстура запрашивается из ресурса Noise.

Примечание: Бесшовные текстуры шума могут генерироваться дольше и/или могут иметь меньшую контрастность по сравнению с небесшовным шумом в зависимости от используемого ресурса Noise. Это связано с тем, что некоторые реализации используют более высокие измерения для создания бесшовного шума.

Примечание: Реализация FastNoiseLite по умолчанию использует резервный путь для бесшовной генерации. Если использовать width, height или depth ниже, чем по умолчанию, вам может потребоваться увеличить seamless_blend_skirt, чтобы сделать бесшовное смешивание более эффективным.


float seamless_blend_skirt = 0.1 🔗

  • void set_seamless_blend_skirt(value: float)

  • float get_seamless_blend_skirt()

Используется для реализации по умолчанию/резервного варианта создания бесшовной текстуры. Определяет расстояние, на котором смешиваются швы. Высокие значения могут привести к снижению детализации и контрастности. Дополнительные сведения см. в разделе Noise.

Примечание: Если вы используете width, height или depth ниже, чем по умолчанию, вам может потребоваться увеличить seamless_blend_skirt, чтобы сделать бесшовное смешивание более эффективным.


int width = 64 🔗

  • void set_width(value: int)

  • int get_width()

Ширина сгенерированной текстуры (в пикселях).