NoiseTexture2D

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

A 2D текстура, наповнена шумом, створеним об'єктом Noise.

Опис

Використовує бібліотеку FastNoiseLite або інші генератори шуму для заповнення даними текстури бажаного розміру. NoiseTexture2D також може генерувати нормальні текстури карти.

Клас використовує Thread для внутрішньої генерації даних текстури, тому Texture2D.get_image() може повернути null, якщо процес генерації ще не завершено. У такому випадку вам потрібно дочекатися генерації текстури, перш ніж отримати доступ до зображення та згенерованих байтових даних:

var texture = NoiseTexture2D.new()
texture.noise = FastNoiseLite.new()
await texture.changed
var image = texture.get_image()
var data = image.get_data()

Властивості

bool

as_normal_map

false

float

bump_strength

8.0

Gradient

color_ramp

bool

generate_mipmaps

true

int

height

512

bool

in_3d_space

false

bool

invert

false

Noise

noise

bool

normalize

true

bool

resource_local_to_scene

false (overrides Resource)

bool

seamless

false

float

seamless_blend_skirt

0.1

int

width

512


Описи властивостей

bool as_normal_map = false 🔗

  • void set_as_normal_map(value: bool)

  • bool is_normal_map()

Якщо true, отримана текстура містить нормальну карту, створену з оригінального шуму, інтерпретованої як bump map.


float bump_strength = 8.0 🔗

  • void set_bump_strength(value: float)

  • float get_bump_strength()

Міцність бамських карт, що використовуються в цій фактурі. Більша вартість зробить бамперові карти з'являються більшими, ніж менша вартість зробить їх більш м'якими.


Gradient color_ramp 🔗

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


bool generate_mipmaps = true 🔗

  • void set_generate_mipmaps(value: bool)

  • bool is_generating_mipmaps()

Визначають, чи створюються карти для цієї текстури. Включаючи ці результати в меншій фактурі, що ілюзують на відстані, за вартістю збільшення використання пам'яті приблизно на 33% і робить процес генерації шуму довше.

Примітка: generate_mipmaps вимагає фільтрування mipmap, щоб увімкнути матеріал за допомогою NoiseTexture2D, щоб мати ефект.


int height = 512 🔗

  • void set_height(value: int)

  • int get_height()

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


bool in_3d_space = false 🔗

  • void set_in_3d_space(value: bool)

  • bool is_in_3d_space()

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


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 використовує шлях знепаду для безшовного покоління. Якщо ви використовуєте height або width нижче, ніж за замовчуванням, ви можете збільшити seamless_blend_skirt, щоб зробити безшовний блендер більш ефективним.


float seamless_blend_skirt = 0.1 🔗

  • void set_seamless_blend_skirt(value: float)

  • float get_seamless_blend_skirt()

Використовується для реалізації безшовної текстури. Визначається відстань, над яким з'єднуються шви. Високі значення можуть призвести до меншої кількості деталей та контрастності. Див. Noise для подальших деталей.

Примітка: Якщо за допомогою width або height нижче за замовчуванням, ви можете збільшити seamless_blend_skirt, щоб зробити безшовний блендер більш ефективним.


int width = 512 🔗

  • void set_width(value: int)

  • int get_width()

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