reckfellENGINE

NoiseTexture2D

Процедурная 2D-текстура с отложенной генерацией, цветовой рампой и normal map.

На этой странице
class NoiseTexture2DReckfellSharpНаследует Texture2D

Задайте Width/Height и Noise, подпишитесь на Changed до ожидания и дайте очереди выполнить обновление. Constructor/setter не возвращают готовые пиксели. Первая генерация выполняется в отложенном вызове без worker; последующие при поддержке потоков уходят в WorkerThreadPool. Поэтому первая большая картинка тоже может задержать главный поток.

GetImage возвращает текущую общую CPU-картинку, не копию и не обязательно результат последних setter. Размеры ресурса — желаемые настройки. При быстрых изменениях может публиковаться промежуточный результат перед повторной генерацией; Changed не подтверждает готовность именно последнего набора параметров. Настройте стабильный набор параметров и проверяйте данные после уведомления. Noise=null тоже даёт Changed, но CPU Image становится null; прежний GPU-ресурс не гарантированно очищается. RID может быть placeholder и не доказывает готовность.

Порядок: noise/invert/normalize → ColorRamp в RGBA8 → AsNormalMap → mipmaps. Общие Noise/Gradient отслеживаются по Changed; не меняйте их параллельно генерации. HasAlpha в 1.0.0 возвращает false даже при alpha-пикселях рампы — не используйте его как доказательство непрозрачности.

Проверены малые CPU-картинки, отложенные обновления и настройки. Видимая графика, GPU readback, швы, HDR и гонки потоков не проверялись.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

NoiseTexture2DКонструктор
# NoiseTexture2D
C#
public NoiseTexture2D();

Создаёт текстурный ресурс с Width/Height=512, GenerateMipmaps=true, Normalize=true и без Noise. Генерация отложена: сначала назначьте небольшой размер и Noise, подпишитесь на Changed до ожидания. Сам конструктор не даёт готового CPU Image. Собственный ресурс Dispose после завершения использования.

Свойства12

AsNormalMapСвойство
# AsNormalMap
C#
public bool AsNormalMap { get; set; }

После ColorRamp превращает яркость в normal map через BumpStrength, затем создаёт mipmaps. Не создаёт геометрию, смещение поверхности или освещение автоматически. Для нормалей из исходного heightfield обычно оставьте ColorRamp пустой.

BumpStrengthСвойство
# BumpStrength
C#
public float BumpStrength { get; set; }

Сила градиента высоты при AsNormalMap=true, default 8. Это не высота mesh. Если normal-map режим выключен, значение сохраняется без запуска регенерации. Проверяйте конечный осмысленный диапазон сами.

ColorRampСвойство
# ColorRamp
C#
public Gradient ColorRamp { get; set; }

Общая Gradient-рампа: яркость шумового Image используется как позиция Sample. Changed рампы запускает регенерацию. Результат переводится в RGBA8: HDR-цвета и точность float не сохраняются. Это преобразование после invert/normalize, а не изменение самого шума. Полученная alpha не означает, что NoiseTexture2D.HasAlpha вернёт true.

GenerateMipmapsСвойство
# GenerateMipmaps
C#
public bool GenerateMipmaps { get; set; }

Генерирует mip-уровни после ColorRamp/normal-map, default true. Снижает aliasing при уменьшении текстуры, но требует дополнительной работы и памяти; не увеличивает детализацию базового изображения. Флаг не является статусом выполняющейся задачи.

HeightСвойство
# Height
C#
public int Height { get; set; }

Желаемая положительная высота, default 512. Не является индикатором завершения генерации; сопоставляйте с реально полученным Image после обновления.

In3DSpaceСвойство
# In3DSpace
C#
public bool In3DSpace { get; set; }

Для 2D-текстуры берёт 3D-шум на срезе z=0 с учётом Offset генератора; default false использует 2D-шум. Не создаёт volume texture и не добавляет глубину Image.

InvertСвойство
# Invert
C#
public bool Invert { get; set; }

Инвертирует яркость исходного изображения до ColorRamp и normal-map обработки. Не меняет seed и не означает инверсию финальных RGB. Изменение ставит регенерацию в очередь.

NoiseСвойство
# Noise
C#
public Noise Noise { get; set; }

Общая ссылка на генератор Noise, например FastNoiseLite. Setter подписывается на его Changed и ставит обновление в очередь; результат не готов сразу. Изменения одного общего генератора обновляют все подписанные текстуры. При null Changed тоже может прийти, но новых данных нет; прежний GPU-ресурс не гарантированно очищается. Не Dispose заимствованный getter-wrapper и не меняйте генератор из другого потока во время выборки.

NormalizeСвойство
# Normalize
C#
public bool Normalize { get; set; }

Включает min/max-нормализацию при генерации шумового изображения/объёма, default true. Меняет mapping данных, а не только отображение. Отдельно нормализованные чанки могут получить разный контраст; постоянное поле становится нулевой яркостью до invert. Изменение требует очереди генерации.

SeamlessСвойство
# Seamless
C#
public bool Seamless { get; set; }

Выбирает blending расширенного шумового поля для повторения. Не гарантирует непрерывность произвольных terrain-чанков и не включает Repeat у материала. Дополнительная работа/память зависит от SeamlessBlendSkirt; видимое качество швов здесь не проверялось.

SeamlessBlendSkirtСвойство
# SeamlessBlendSkirt
C#
public float SeamlessBlendSkirt { get; set; }

Доля дополнительного поля для Seamless, default 0.1; setter принимает 0..1, но крайние/большие значения не проверены. Даже 0 оставляет минимальную область blending в реализации Noise. Это не пиксели и не качество AA. Для обычного случая начните с default.

WidthСвойство
# Width
C#
public int Width { get; set; }

Желаемая положительная ширина, default 512. Setter сразу меняет метаданные и откладывает регенерацию: старый GetImage может иметь другой размер. Ограничьте размер по памяти/устройству; диапазон Inspector не является гарантией доступной GPU-текстуры.

Методы22

GetBumpStrengthfloat
# GetBumpStrength
C#
public float GetBumpStrength();

Читает настройку BumpStrength, не состояние завершения задачи. Сила градиента высоты при AsNormalMap=true, default 8. Это не высота mesh. Если normal-map режим выключен, значение сохраняется без запуска регенерации. Проверяйте конечный осмысленный диапазон сами.

Возвращает float

Сохранённая настройка, не гарантия готовности пикселей/GPU-данных.

GetColorRampGradient
# GetColorRamp
C#
public Gradient GetColorRamp();

Читает настройку ColorRamp, не состояние завершения задачи. Общая Gradient-рампа: яркость шумового Image используется как позиция Sample. Changed рампы запускает регенерацию. Результат переводится в RGBA8: HDR-цвета и точность float не сохраняются. Это преобразование после invert/normalize, а не изменение самого шума. Полученная alpha не означает, что NoiseTexture2D.HasAlpha вернёт true.

Возвращает Gradient

Общий назначенный ресурс либо null; не Dispose заимствованный wrapper.

GetInvertbool
# GetInvert
C#
public bool GetInvert();

Читает настройку Invert, не состояние завершения задачи. Инвертирует яркость исходного изображения до ColorRamp и normal-map обработки. Не меняет seed и не означает инверсию финальных RGB. Изменение ставит регенерацию в очередь.

Возвращает bool

Сохранённая настройка, не гарантия готовности пикселей/GPU-данных.

GetNoiseNoise
# GetNoise
C#
public Noise GetNoise();

Читает настройку Noise, не состояние завершения задачи. Общая ссылка на генератор Noise, например FastNoiseLite. Setter подписывается на его Changed и ставит обновление в очередь; результат не готов сразу. Изменения одного общего генератора обновляют все подписанные текстуры. При null Changed тоже может прийти, но новых данных нет; прежний GPU-ресурс не гарантированно очищается. Не Dispose заимствованный getter-wrapper и не меняйте генератор из другого потока во время выборки.

Возвращает Noise

Общий назначенный ресурс либо null; не Dispose заимствованный wrapper.

GetSeamlessbool
# GetSeamless
C#
public bool GetSeamless();

Читает настройку Seamless, не состояние завершения задачи. Выбирает blending расширенного шумового поля для повторения. Не гарантирует непрерывность произвольных terrain-чанков и не включает Repeat у материала. Дополнительная работа/память зависит от SeamlessBlendSkirt; видимое качество швов здесь не проверялось.

Возвращает bool

Сохранённая настройка, не гарантия готовности пикселей/GPU-данных.

GetSeamlessBlendSkirtfloat
# GetSeamlessBlendSkirt
C#
public float GetSeamlessBlendSkirt();

Читает настройку SeamlessBlendSkirt, не состояние завершения задачи. Доля дополнительного поля для Seamless, default 0.1; setter принимает 0..1, но крайние/большие значения не проверены. Даже 0 оставляет минимальную область blending в реализации Noise. Это не пиксели и не качество AA. Для обычного случая начните с default.

Возвращает float

Сохранённая настройка, не гарантия готовности пикселей/GPU-данных.

IsGeneratingMipmapsbool
# IsGeneratingMipmaps
C#
public bool IsGeneratingMipmaps();

Читает настройку GenerateMipmaps, не состояние завершения задачи. Генерирует mip-уровни после ColorRamp/normal-map, default true. Снижает aliasing при уменьшении текстуры, но требует дополнительной работы и памяти; не увеличивает детализацию базового изображения. Флаг не является статусом выполняющейся задачи.

Возвращает bool

Сохранённая настройка, не гарантия готовности пикселей/GPU-данных.

IsIn3DSpacebool
# IsIn3DSpace
C#
public bool IsIn3DSpace();

Читает настройку In3DSpace, не состояние завершения задачи. Для 2D-текстуры берёт 3D-шум на срезе z=0 с учётом Offset генератора; default false использует 2D-шум. Не создаёт volume texture и не добавляет глубину Image.

Возвращает bool

Сохранённая настройка, не гарантия готовности пикселей/GPU-данных.

IsNormalMapbool
# IsNormalMap
C#
public bool IsNormalMap();

Читает настройку AsNormalMap, не состояние завершения задачи. После ColorRamp превращает яркость в normal map через BumpStrength, затем создаёт mipmaps. Не создаёт геометрию, смещение поверхности или освещение автоматически. Для нормалей из исходного heightfield обычно оставьте ColorRamp пустой.

Возвращает bool

Сохранённая настройка, не гарантия готовности пикселей/GPU-данных.

IsNormalizedbool
# IsNormalized
C#
public bool IsNormalized();

Читает настройку Normalize, не состояние завершения задачи. Включает min/max-нормализацию при генерации шумового изображения/объёма, default true. Меняет mapping данных, а не только отображение. Отдельно нормализованные чанки могут получить разный контраст; постоянное поле становится нулевой яркостью до invert. Изменение требует очереди генерации.

Возвращает bool

Сохранённая настройка, не гарантия готовности пикселей/GPU-данных.

SetAsNormalMapvoid
# SetAsNormalMap
C#
public void SetAsNormalMap(bool asNormalMap);

Устанавливает AsNormalMap; применяется по правилам очереди генерации. После ColorRamp превращает яркость в normal map через BumpStrength, затем создаёт mipmaps. Не создаёт геометрию, смещение поверхности или освещение автоматически. Для нормалей из исходного heightfield обычно оставьте ColorRamp пустой.

Параметры
ИмяТипПо умолчанию
asNormalMapbool—
asNormalMap

Новое значение AsNormalMap; диапазон и область действия указаны в описании.

SetBumpStrengthvoid
# SetBumpStrength
C#
public void SetBumpStrength(float bumpStrength);

Устанавливает BumpStrength; применяется по правилам очереди генерации. Сила градиента высоты при AsNormalMap=true, default 8. Это не высота mesh. Если normal-map режим выключен, значение сохраняется без запуска регенерации. Проверяйте конечный осмысленный диапазон сами.

Параметры
ИмяТипПо умолчанию
bumpStrengthfloat—
bumpStrength

Новое значение BumpStrength; диапазон и область действия указаны в описании.

SetColorRampvoid
# SetColorRamp
C#
public void SetColorRamp(Gradient gradient);

Устанавливает ColorRamp; применяется по правилам очереди генерации. Общая Gradient-рампа: яркость шумового Image используется как позиция Sample. Changed рампы запускает регенерацию. Результат переводится в RGBA8: HDR-цвета и точность float не сохраняются. Это преобразование после invert/normalize, а не изменение самого шума. Полученная alpha не означает, что NoiseTexture2D.HasAlpha вернёт true.

Параметры
ИмяТипПо умолчанию
gradientGradient—
gradient

Общая ссылка на ресурс; изменения Changed отслеживаются, копия не создаётся.

SetGenerateMipmapsvoid
# SetGenerateMipmaps
C#
public void SetGenerateMipmaps(bool invert);

Устанавливает GenerateMipmaps; применяется по правилам очереди генерации. Генерирует mip-уровни после ColorRamp/normal-map, default true. Снижает aliasing при уменьшении текстуры, но требует дополнительной работы и памяти; не увеличивает детализацию базового изображения. Флаг не является статусом выполняющейся задачи.

Параметры
ИмяТипПо умолчанию
invertbool—
invert

Несмотря на имя invert, true включает mipmaps, false выключает. Не меняет Invert текстуры.

SetHeightvoid
# SetHeight
C#
public void SetHeight(int height);

Устанавливает Height; применяется по правилам очереди генерации. Желаемая положительная высота, default 512. Не является индикатором завершения генерации; сопоставляйте с реально полученным Image после обновления.

Параметры
ИмяТипПо умолчанию
heightint—
height

Положительный желаемый размер; ограничьте память и дождитесь генерации данных.

SetIn3DSpacevoid
# SetIn3DSpace
C#
public void SetIn3DSpace(bool enable);

Устанавливает In3DSpace; применяется по правилам очереди генерации. Для 2D-текстуры берёт 3D-шум на срезе z=0 с учётом Offset генератора; default false использует 2D-шум. Не создаёт volume texture и не добавляет глубину Image.

Параметры
ИмяТипПо умолчанию
enablebool—
enable

Новое значение In3DSpace; диапазон и область действия указаны в описании.

SetInvertvoid
# SetInvert
C#
public void SetInvert(bool invert);

Устанавливает Invert; применяется по правилам очереди генерации. Инвертирует яркость исходного изображения до ColorRamp и normal-map обработки. Не меняет seed и не означает инверсию финальных RGB. Изменение ставит регенерацию в очередь.

Параметры
ИмяТипПо умолчанию
invertbool—
invert

Новое значение Invert; диапазон и область действия указаны в описании.

SetNoisevoid
# SetNoise
C#
public void SetNoise(Noise noise);

Устанавливает Noise; применяется по правилам очереди генерации. Общая ссылка на генератор Noise, например FastNoiseLite. Setter подписывается на его Changed и ставит обновление в очередь; результат не готов сразу. Изменения одного общего генератора обновляют все подписанные текстуры. При null Changed тоже может прийти, но новых данных нет; прежний GPU-ресурс не гарантированно очищается. Не Dispose заимствованный getter-wrapper и не меняйте генератор из другого потока во время выборки.

Параметры
ИмяТипПо умолчанию
noiseNoise—
noise

Общая ссылка на ресурс; изменения Changed отслеживаются, копия не создаётся.

SetNormalizevoid
# SetNormalize
C#
public void SetNormalize(bool normalize);

Устанавливает Normalize; применяется по правилам очереди генерации. Включает min/max-нормализацию при генерации шумового изображения/объёма, default true. Меняет mapping данных, а не только отображение. Отдельно нормализованные чанки могут получить разный контраст; постоянное поле становится нулевой яркостью до invert. Изменение требует очереди генерации.

Параметры
ИмяТипПо умолчанию
normalizebool—
normalize

Новое значение Normalize; диапазон и область действия указаны в описании.

SetSeamlessvoid
# SetSeamless
C#
public void SetSeamless(bool seamless);

Устанавливает Seamless; применяется по правилам очереди генерации. Выбирает blending расширенного шумового поля для повторения. Не гарантирует непрерывность произвольных terrain-чанков и не включает Repeat у материала. Дополнительная работа/память зависит от SeamlessBlendSkirt; видимое качество швов здесь не проверялось.

Параметры
ИмяТипПо умолчанию
seamlessbool—
seamless

Новое значение Seamless; диапазон и область действия указаны в описании.

SetSeamlessBlendSkirtvoid
# SetSeamlessBlendSkirt
C#
public void SetSeamlessBlendSkirt(float seamlessBlendSkirt);

Устанавливает SeamlessBlendSkirt; применяется по правилам очереди генерации. Доля дополнительного поля для Seamless, default 0.1; setter принимает 0..1, но крайние/большие значения не проверены. Даже 0 оставляет минимальную область blending в реализации Noise. Это не пиксели и не качество AA. Для обычного случая начните с default.

Параметры
ИмяТипПо умолчанию
seamlessBlendSkirtfloat—
seamlessBlendSkirt

Новое значение SeamlessBlendSkirt; диапазон и область действия указаны в описании.

SetWidthvoid
# SetWidth
C#
public void SetWidth(int width);

Устанавливает Width; применяется по правилам очереди генерации. Желаемая положительная ширина, default 512. Setter сразу меняет метаданные и откладывает регенерацию: старый GetImage может иметь другой размер. Ограничьте размер по памяти/устройству; диапазон Inspector не является гарантией доступной GPU-текстуры.

Параметры
ИмяТипПо умолчанию
widthint—
width

Положительный желаемый размер; ограничьте память и дождитесь генерации данных.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.