reckfellENGINE

NoiseTexture3D

Процедурная объёмная текстура с очередью генерации и общим ресурсом Noise.

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

Установите малые Width/Height/Depth и Noise, подпишитесь до ожидания Changed. Генерация отложена, затем обычно работает через worker; несколько setter могут объединяться, а промежуточный результат — публиковаться перед повторной генерацией. Размеры — желаемые метаданные, не доказательство уже загруженного объёма.

В отличие от NoiseTexture2D, GetData читает данные через RenderingServer, а не возвращает сохранённый CPU-массив. Для CPU-слоёв используйте Noise.GetImage3D. Changed приходит и без Noise; format/старый GPU-ресурс при пустом результате могут сохраниться. Проверяйте собственный жизненный цикл генерации; один Changed или RID не доказывает свежесть/успех данных.

ColorRamp создаёт RGBA8; без него используется формат шумовых изображений. Mipmaps у этой реализации отсутствуют. Оцените память всего объёма и временных данных. Ограничение Seamless/Depth=1 наследуется от CPU-генератора Noise; оно не было проверено через GPU.

Проверены очереди, уведомления, общие ресурсы, валидные настройки и формат-метаданные. Пиксели 3D volume, GPU readback/отображение, visual seams, HDR, пределы памяти и конкурентные изменения не проверялись.

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

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

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

Создаёт объёмную текстуру с Width/Height/Depth=64, Normalize=true и без Noise. Назначьте малые размеры и генератор до ожидания Changed. Ресурс не хранит публичный готовый CPU-массив: GetData использует RenderingServer и требует отдельной проверки readback. Собственный ресурс Dispose после использования.

Свойства9

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

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

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

Желаемое положительное число Z-слоёв, default 64. В 1.0.0 Seamless с Depth=1 наследует лишний skirt-слой из Noise: не используйте этот сценарий без проверки фактических данных. Этот крайний случай не проверялся через GPU. Для одиночного среза рассмотрите NoiseTexture2D.In3DSpace.

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

Желаемая положительная высота volume, default 64. Метаданные могут опережать реально загруженный ресурс; Changed не является проверкой всех его пикселей.

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. В отличие от 2D, setter 3D принимает только 0.05..1. Это дополнительные сэмплы/память, не гарантированная гладкость. Начните с default; экстремальные значения не проверены.

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

Желаемая положительная ширина volume, default 64. Меняется сразу, независимо от завершения фоновой генерации. Учитывайте произведение Width×Height×Depth и временные буферы; положительные размеры не гарантируют доступную GPU-память.

Методы15

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. В отличие от 2D, setter 3D принимает только 0.05..1. Это дополнительные сэмплы/память, не гарантированная гладкость. Начните с default; экстремальные значения не проверены.

Возвращает float

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

IsNormalizedbool
# IsNormalized
C#
public bool IsNormalized();

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

Возвращает bool

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

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 отслеживаются, копия не создаётся.

SetDepthvoid
# SetDepth
C#
public void SetDepth(int depth);

Устанавливает Depth; применяется по правилам очереди генерации. Желаемое положительное число Z-слоёв, default 64. В 1.0.0 Seamless с Depth=1 наследует лишний skirt-слой из Noise: не используйте этот сценарий без проверки фактических данных. Этот крайний случай не проверялся через GPU. Для одиночного среза рассмотрите NoiseTexture2D.In3DSpace.

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

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

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

Устанавливает Height; применяется по правилам очереди генерации. Желаемая положительная высота volume, default 64. Метаданные могут опережать реально загруженный ресурс; Changed не является проверкой всех его пикселей.

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

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

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. В отличие от 2D, setter 3D принимает только 0.05..1. Это дополнительные сэмплы/память, не гарантированная гладкость. Начните с default; экстремальные значения не проверены.

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

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

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

Устанавливает Width; применяется по правилам очереди генерации. Желаемая положительная ширина volume, default 64. Меняется сразу, независимо от завершения фоновой генерации. Учитывайте произведение Width×Height×Depth и временные буферы; положительные размеры не гарантируют доступную GPU-память.

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

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

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

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

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

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