reckfellENGINE

Noise

Интерфейс координатного шума и создания CPU-изображений.

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

Используйте реализацию, например FastNoiseLite; Noise не является готовым конкретным генератором. Числовые сэмплы, grayscale Image и GPU texture — разные данные. Для heightfield сначала определите координаты и масштаб значений; не приравнивайте L8 к исходному float.

Базовые Image-методы сэмплируют целую сетку от нуля. Normalize растягивает диапазон отдельного изображения или всего запрошенного объёма; это может изменить контраст соседних отдельно созданных чанков. Для непрерывного мира подавайте согласованные координаты и используйте общий mapping значений.

Seamless blending предназначен для повторяемых изображений, не для произвольной склейки мира. В FastNoiseLite 1.0.0 есть проверенные особенности GetNoise1D/Offset.x и seamless-объёма depth=1; они описаны у методов. Проверены CPU-сэмплы/байты/размеры; визуальные швы, GPU и большие запросы не проверялись.

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

Методы9

GetImageImage
# GetImage
C#
public Image GetImage(int width, int height, bool invert = false, bool in3DSpace = false, bool normalize = true);

Синхронно создаёт CPU Image. Базовая реализация и FastNoiseLite сэмплируют целые x/y от 0 и возвращают L8 без mipmaps. in3DSpace=true берёт срез z=0, false использует 2D. normalize=true растягивает min/max этой картинки в 0..255; постоянное поле становится чёрным. false отображает −1..1 в 0..255 с обрезкой и потерей точности. invert меняет байт на 255−byte. Не создаёт GPU texture и не сохраняет файл.

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

Положительная ширина изображения; ограничьте размер по памяти и времени CPU.

height

Положительная высота изображения, не world-размер.

invert

Инвертирует яркость после отображения в байты; не меняет seed или сэмплы генератора.

in3DSpace

true сэмплирует 3D на z=0; false — 2D. Учитывается Offset реализации.

normalize

true растягивает min/max всего запрошенного поля; false использует фиксированный mapping с обрезкой.

Возвращает Image

Новый собственный CPU Image либо null с диагностикой при недопустимых условиях.

GetImage3DReckfell.Collections.Array<Image>
# GetImage3D
C#
public Reckfell.Collections.Array<Image> GetImage3D(int width, int height, int depth, bool invert = false, bool normalize = true);

Создаёт типизированный Array<Image> CPU-срезов z=0..depth−1, а не ImageTexture3D. Базовая реализация/FastNoiseLite даёт L8 без mipmaps; normalize=true использует общий min/max ВСЕГО запрошенного объёма. Раздельная нормализация чанков может дать разные шкалы яркости; для согласованных числовых heightfields задавайте собственный общий mapping. Освободите собственные Image после использования; у typed Array нет Dispose.

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

Положительная ширина изображения; ограничьте размер по памяти и времени CPU.

height

Положительная высота изображения, не world-размер.

depth

Положительное число Z-срезов; для seamless depth=1 в 1.0.0 проверьте лишний слой.

invert

Инвертирует яркость после отображения в байты; не меняет seed или сэмплы генератора.

normalize

true растягивает min/max всего запрошенного поля; false использует фиксированный mapping с обрезкой.

Возвращает Reckfell.Collections.Array<Image>

Типизированный Array<Image> CPU-слоёв; Dispose собственные Image, проверяйте фактический Count.

GetNoise1Dfloat
# GetNoise1D
C#
public float GetNoise1D(float x);

Возвращает числовой сэмпл реализации Noise. Для FastNoiseLite 1.0.0 это 2D-срез с дополнительной предварительной обработкой: Offset.x применяется дважды при выключенном warp. Если нужен однократный срез, вызывайте GetNoise2D(x, 0). Диапазон зависит от алгоритма; результат не обязательно 0..1.

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

Конечная X-координата входного поля; масштаб учитывается реализацией/Frequency.

Возвращает float

Числовой сэмпл алгоритма, не гарантированная вероятность или нормализованная высота.

GetNoise2Dfloat
# GetNoise2D
C#
public float GetNoise2D(float x, float y);

Сэмплирует шум в координате x/y, не в индексе готового Image. У FastNoiseLite учитывает Offset.X/Y, warp и Frequency. Для соседних terrain-чанков подавайте согласованные глобальные координаты, а не начинайте каждый чанк с нуля. Не гарантирует universal диапазон [−1,1].

Параметры
ИмяТипПо умолчанию
xfloat—
yfloat—
x

Конечная X-координата входного поля; масштаб учитывается реализацией/Frequency.

y

Конечная Y-координата того же поля.

Возвращает float

Числовой сэмпл алгоритма, не гарантированная вероятность или нормализованная высота.

GetNoise2Dvfloat
# GetNoise2Dv
C#
public float GetNoise2Dv(Vector2 v);

Векторная форма GetNoise2D(v.X, v.Y) с теми же настройками и диапазоном. Не преобразует координаты Entity автоматически.

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

Конечные координаты входного поля в Vector2/Vector3.

Возвращает float

Числовой сэмпл алгоритма, не гарантированная вероятность или нормализованная высота.

GetNoise3Dfloat
# GetNoise3D
C#
public float GetNoise3D(float x, float y, float z);

Сэмплирует объёмный шум x/y/z. Это не отдельные независимые 2D-карты: изменение z задаёт другой срез того же поля. У FastNoiseLite применяются три компоненты Offset и 3D warp. Для анимации можно менять координату, но API не принимает время в секундах автоматически.

Параметры
ИмяТипПо умолчанию
xfloat—
yfloat—
zfloat—
x

Конечная X-координата входного поля; масштаб учитывается реализацией/Frequency.

y

Конечная Y-координата того же поля.

z

Конечная Z-координата объёмного поля.

Возвращает float

Числовой сэмпл алгоритма, не гарантированная вероятность или нормализованная высота.

GetNoise3Dvfloat
# GetNoise3Dv
C#
public float GetNoise3Dv(Vector3 v);

Векторная форма GetNoise3D(v.X, v.Y, v.Z), не чтение пикселя или voxel из готового ресурса.

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

Конечные координаты входного поля в Vector2/Vector3.

Возвращает float

Числовой сэмпл алгоритма, не гарантированная вероятность или нормализованная высота.

GetSeamlessImageImage
# GetSeamlessImage
C#
public Image GetSeamlessImage(int width, int height, bool invert = false, bool in3DSpace = false, float skirt = 0.1f, bool normalize = true);

Создаёт CPU-картинку для повторения, смешивая расширенное поле по краям. skirt задаёт долю дополнительного поля, а не число пикселей: даже 0 оставляет минимум один дополнительный пиксель. Это не то же поле, что GetImage без blending, и не решение непрерывности произвольных соседних чанков. Используйте положительные размеры и разумный конечный skirt; отрицательный запрещён. Размер/формат проверены, визуальное качество стыка и экстремальные skirt — нет.

Параметры
ИмяТипПо умолчанию
widthint—
heightint—
invertboolfalse
in3DSpaceboolfalse
skirtfloat0.1f
normalizebooltrue
width

Положительная ширина изображения; ограничьте размер по памяти и времени CPU.

height

Положительная высота изображения, не world-размер.

invert

Инвертирует яркость после отображения в байты; не меняет seed или сэмплы генератора.

in3DSpace

true сэмплирует 3D на z=0; false — 2D. Учитывается Offset реализации.

skirt

Разумная конечная неотрицательная доля дополнительного поля, default 0.1; не пиксели. Большие значения увеличивают работу и не проверены.

normalize

true растягивает min/max всего запрошенного поля; false использует фиксированный mapping с обрезкой.

Возвращает Image

Новый собственный CPU Image либо null с диагностикой при недопустимых условиях.

GetSeamlessImage3DReckfell.Collections.Array<Image>
# GetSeamlessImage3D
C#
public Reckfell.Collections.Array<Image> GetSeamlessImage3D(int width, int height, int depth, bool invert = false, float skirt = 0.1f, bool normalize = true);

Создаёт массив CPU-срезов со смешиванием по трём осям. В 1.0.0 depth=1 возвращает лишний skirt-слой: проверяйте Count; для одного 3D-среза используйте GetSeamlessImage(..., in3DSpace:true), если достаточно бесшовности по X/Y. Проверен объём depth=4; не предполагайте корректность любых размеров/skirt. normalize относится к расширенному полю. Метод не создаёт GPU volume и не доказывает отсутствие видимых швов.

Параметры
ИмяТипПо умолчанию
widthint—
heightint—
depthint—
invertboolfalse
skirtfloat0.1f
normalizebooltrue
width

Положительная ширина изображения; ограничьте размер по памяти и времени CPU.

height

Положительная высота изображения, не world-размер.

depth

Положительное число Z-срезов; для seamless depth=1 в 1.0.0 проверьте лишний слой.

invert

Инвертирует яркость после отображения в байты; не меняет seed или сэмплы генератора.

skirt

Разумная конечная неотрицательная доля дополнительного поля, default 0.1; не пиксели. Большие значения увеличивают работу и не проверены.

normalize

true растягивает min/max всего запрошенного поля; false использует фиксированный mapping с обрезкой.

Возвращает Reckfell.Collections.Array<Image>

Типизированный Array<Image> CPU-слоёв; Dispose собственные Image, проверяйте фактический Count.

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

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

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

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