reckfellENGINE

FogMaterial

Готовый материал плотности, рассеяния и свечения FogVolume.

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

Умножает Density на высотное ослабление, красный канал DensityTexture и профиль границы по SDF. Отдельные FogVolume могут разделять материал. Для иной формулы создайте ShaderMaterial типа fog; одноимённые параметры разных типов материалов не связаны автоматически.

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

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

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

Создаёт материал тумана: Density=1, Albedo=White, Emission=Black, HeightFalloff=0, EdgeFade=0.1, DensityTexture=null. Это материал FogVolume, а не обычной поверхности MeshInstance3D.

Свойства6

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

Цвет рассеяния света средой, а не гарантированный цвет итогового пикселя. Результат зависит от источников, Density и Environment. Для самостоятельного свечения среды предусмотрен Emission.

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

Вклад локального объёма в плотность. Положительное значение добавляет туман, ноль убирает вклад, отрицательное уменьшает существующую плотность. Это не alpha прозрачного меша. В галерее 0.08 создаёт локальную дымку при глобальной плотности 0, а -0.12 ослабляет общий туман 0.02.

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

Необязательная Texture3D, красный канал которой умножает Density по UVW объёма. null снимает текстуру и оставляет белую выборку встроенного sampler. Это не двумерная Texture2D. Для собственной мировой привязки используйте ShaderMaterial типа fog.

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

Неотрицательная степень множителя затухания у границы формы. При положительных значениях плотность плавно уменьшается к границе; увеличение меняет профиль перехода, а не Size. Отрицательное присвоение становится нулём. В галерее используется 0.5.

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

Собственное излучение среды. Чёрный выключает этот вклад. Это не замена Light3D для освещения соседних мешей: fog-шейдер записывает свечение в объёмный буфер, а не создаёт источник света.

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

Неотрицательное затухание плотности вверх по мировой оси Y относительно позиции FogVolume. Ноль сохраняет плотность по высоте до других множителей. Шейдер использует clamp(exp2(-HeightFalloff × (worldY − volumeY)), 0, 1); отрицательные присвоения становятся нулём.

Методы12

GetAlbedoColor
# GetAlbedo
C#
public Color GetAlbedo();

RGB рассеяния входящего света. Без освещения и emission чёрный albedo даёт поглощающий объём. Альфа Color не управляет прозрачностью тумана; её задаёт плотность.

Возвращает Color

Сохранённый Color albedo.

GetDensityfloat
# GetDensity
C#
public float GetDensity();

Вклад плотности, не alpha поверхности. Положительный добавляет туман, ноль убирает вклад материала, отрицательный вычитает перекрывающуюся плотность. Setter сохраняет отрицательные значения. Вычитание плотности не гарантирует удаления emission другого объёма: RD накапливает их отдельно.

Возвращает float

Сохранённая плотность.

GetDensityTextureTexture3D
# GetDensityTexture
C#
public Texture3D GetDensityTexture();

Необязательная Texture3D, красный канал которой умножает Density по UVW объёма. null снимает текстуру и оставляет белую выборку встроенного sampler. Это не двумерная Texture2D. Для собственной мировой привязки используйте ShaderMaterial типа fog.

Возвращает Texture3D

Назначенная Texture3D либо null.

GetEdgeFadefloat
# GetEdgeFade
C#
public float GetEdgeFade();

Неотрицательная степень затухания плотности к границе формы по SDF. Это не ширина в метрах и не Size объёма. Setter приводит отрицательные значения к 0, без верхнего ограничения 1.

Возвращает float

Сохранённая неотрицательная степень.

GetEmissionColor
# GetEmission
C#
public Color GetEmission();

Собственное свечение среды в RGB, а не Light3D для соседних моделей. Вклад зависит от положительной плотности. Чёрный убирает emission этого материала; отрицательная плотность другого объёма не обязана его стереть.

Возвращает Color

Сохранённый Color emission.

GetHeightFallofffloat
# GetHeightFalloff
C#
public float GetHeightFalloff();

Неотрицательный коэффициент высотного затухания вдоль мирового Y относительно позиции FogVolume. Встроенный шейдер применяет clamp(exp2(-HeightFalloff * (worldY - volumeY)),0,1). Setter приводит отрицательное значение к 0, но допускает значения выше 1.

Возвращает float

Коэффициент после нижнего ограничения 0.

SetAlbedovoid
# SetAlbedo
C#
public void SetAlbedo(Color albedo);

RGB рассеяния входящего света. Без освещения и emission чёрный albedo даёт поглощающий объём. Альфа Color не управляет прозрачностью тумана; её задаёт плотность.

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

Цвет рассеяния; шейдер использует RGB.

SetDensityvoid
# SetDensity
C#
public void SetDensity(float density);

Вклад плотности, не alpha поверхности. Положительный добавляет туман, ноль убирает вклад материала, отрицательный вычитает перекрывающуюся плотность. Setter сохраняет отрицательные значения. Вычитание плотности не гарантирует удаления emission другого объёма: RD накапливает их отдельно.

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

Плотность, включая отрицательное вычитание; hint диапазона не является clamp setter.

SetDensityTexturevoid
# SetDensityTexture
C#
public void SetDensityTexture(Texture3D densityTexture);

Необязательная Texture3D, красный канал которой умножает Density по UVW объёма. null снимает текстуру и оставляет белую выборку встроенного sampler. Это не двумерная Texture2D. Для собственной мировой привязки используйте ShaderMaterial типа fog.

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

3D-текстура плотности или null.

SetEdgeFadevoid
# SetEdgeFade
C#
public void SetEdgeFade(float edgeFade);

Неотрицательная степень затухания плотности к границе формы по SDF. Это не ширина в метрах и не Size объёма. Setter приводит отрицательные значения к 0, без верхнего ограничения 1.

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

Степень профиля границы; исходное значение 0.1.

SetEmissionvoid
# SetEmission
C#
public void SetEmission(Color emission);

Собственное свечение среды в RGB, а не Light3D для соседних моделей. Вклад зависит от положительной плотности. Чёрный убирает emission этого материала; отрицательная плотность другого объёма не обязана его стереть.

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

Цвет собственного свечения; используется RGB, не alpha.

SetHeightFalloffvoid
# SetHeightFalloff
C#
public void SetHeightFalloff(float heightFalloff);

Неотрицательный коэффициент высотного затухания вдоль мирового Y относительно позиции FogVolume. Встроенный шейдер применяет clamp(exp2(-HeightFalloff * (worldY - volumeY)),0,1). Setter приводит отрицательное значение к 0, но допускает значения выше 1.

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

Коэффициент; 0 отключает высотное ослабление.

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

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

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

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