FogMaterial
Готовый материал плотности, рассеяния и свечения FogVolume.
Умножает Density на высотное ослабление, красный канал DensityTexture и профиль границы по SDF. Отдельные FogVolume могут разделять материал. Для иной формулы создайте ShaderMaterial типа fog; одноимённые параметры разных типов материалов не связаны автоматически.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
FogMaterialКонструктор
public FogMaterial();Создаёт материал тумана: Density=1, Albedo=White, Emission=Black, HeightFalloff=0, EdgeFade=0.1, DensityTexture=null. Это материал FogVolume, а не обычной поверхности MeshInstance3D.
Свойства6
AlbedoСвойство
public Color Albedo { get; set; }Цвет рассеяния света средой, а не гарантированный цвет итогового пикселя. Результат зависит от источников, Density и Environment. Для самостоятельного свечения среды предусмотрен Emission.
DensityСвойство
public float Density { get; set; }Вклад локального объёма в плотность. Положительное значение добавляет туман, ноль убирает вклад, отрицательное уменьшает существующую плотность. Это не alpha прозрачного меша. В галерее 0.08 создаёт локальную дымку при глобальной плотности 0, а -0.12 ослабляет общий туман 0.02.
DensityTextureСвойство
public Texture3D DensityTexture { get; set; }Необязательная Texture3D, красный канал которой умножает Density по UVW объёма. null снимает текстуру и оставляет белую выборку встроенного sampler. Это не двумерная Texture2D. Для собственной мировой привязки используйте ShaderMaterial типа fog.
EdgeFadeСвойство
public float EdgeFade { get; set; }Неотрицательная степень множителя затухания у границы формы. При положительных значениях плотность плавно уменьшается к границе; увеличение меняет профиль перехода, а не Size. Отрицательное присвоение становится нулём. В галерее используется 0.5.
EmissionСвойство
public Color Emission { get; set; }Собственное излучение среды. Чёрный выключает этот вклад. Это не замена Light3D для освещения соседних мешей: fog-шейдер записывает свечение в объёмный буфер, а не создаёт источник света.
HeightFalloffСвойство
public float HeightFalloff { get; set; }Неотрицательное затухание плотности вверх по мировой оси Y относительно позиции FogVolume. Ноль сохраняет плотность по высоте до других множителей. Шейдер использует clamp(exp2(-HeightFalloff × (worldY − volumeY)), 0, 1); отрицательные присвоения становятся нулём.
Методы12
GetAlbedoColor
public Color GetAlbedo();RGB рассеяния входящего света. Без освещения и emission чёрный albedo даёт поглощающий объём. Альфа Color не управляет прозрачностью тумана; её задаёт плотность.
ColorСохранённый Color albedo.
GetDensityfloat
public float GetDensity();Вклад плотности, не alpha поверхности. Положительный добавляет туман, ноль убирает вклад материала, отрицательный вычитает перекрывающуюся плотность. Setter сохраняет отрицательные значения. Вычитание плотности не гарантирует удаления emission другого объёма: RD накапливает их отдельно.
floatСохранённая плотность.
GetDensityTextureTexture3D
public Texture3D GetDensityTexture();Необязательная Texture3D, красный канал которой умножает Density по UVW объёма. null снимает текстуру и оставляет белую выборку встроенного sampler. Это не двумерная Texture2D. Для собственной мировой привязки используйте ShaderMaterial типа fog.
Texture3DНазначенная Texture3D либо null.
GetEdgeFadefloat
public float GetEdgeFade();Неотрицательная степень затухания плотности к границе формы по SDF. Это не ширина в метрах и не Size объёма. Setter приводит отрицательные значения к 0, без верхнего ограничения 1.
floatСохранённая неотрицательная степень.
GetEmissionColor
public Color GetEmission();Собственное свечение среды в RGB, а не Light3D для соседних моделей. Вклад зависит от положительной плотности. Чёрный убирает emission этого материала; отрицательная плотность другого объёма не обязана его стереть.
ColorСохранённый Color emission.
GetHeightFallofffloat
public float GetHeightFalloff();Неотрицательный коэффициент высотного затухания вдоль мирового Y относительно позиции FogVolume. Встроенный шейдер применяет clamp(exp2(-HeightFalloff * (worldY - volumeY)),0,1). Setter приводит отрицательное значение к 0, но допускает значения выше 1.
floatКоэффициент после нижнего ограничения 0.
SetAlbedovoid
public void SetAlbedo(Color albedo);RGB рассеяния входящего света. Без освещения и emission чёрный albedo даёт поглощающий объём. Альфа Color не управляет прозрачностью тумана; её задаёт плотность.
| Имя | Тип | По умолчанию |
|---|---|---|
albedo | Color | — |
albedoЦвет рассеяния; шейдер использует RGB.
SetDensityvoid
public void SetDensity(float density);Вклад плотности, не alpha поверхности. Положительный добавляет туман, ноль убирает вклад материала, отрицательный вычитает перекрывающуюся плотность. Setter сохраняет отрицательные значения. Вычитание плотности не гарантирует удаления emission другого объёма: RD накапливает их отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
density | float | — |
densityПлотность, включая отрицательное вычитание; hint диапазона не является clamp setter.
SetDensityTexturevoid
public void SetDensityTexture(Texture3D densityTexture);Необязательная Texture3D, красный канал которой умножает Density по UVW объёма. null снимает текстуру и оставляет белую выборку встроенного sampler. Это не двумерная Texture2D. Для собственной мировой привязки используйте ShaderMaterial типа fog.
| Имя | Тип | По умолчанию |
|---|---|---|
densityTexture | Texture3D | — |
densityTexture3D-текстура плотности или null.
SetEdgeFadevoid
public void SetEdgeFade(float edgeFade);Неотрицательная степень затухания плотности к границе формы по SDF. Это не ширина в метрах и не Size объёма. Setter приводит отрицательные значения к 0, без верхнего ограничения 1.
| Имя | Тип | По умолчанию |
|---|---|---|
edgeFade | float | — |
edgeFadeСтепень профиля границы; исходное значение 0.1.
SetEmissionvoid
public void SetEmission(Color emission);Собственное свечение среды в RGB, а не Light3D для соседних моделей. Вклад зависит от положительной плотности. Чёрный убирает emission этого материала; отрицательная плотность другого объёма не обязана его стереть.
| Имя | Тип | По умолчанию |
|---|---|---|
emission | Color | — |
emissionЦвет собственного свечения; используется RGB, не alpha.
SetHeightFalloffvoid
public void SetHeightFalloff(float heightFalloff);Неотрицательный коэффициент высотного затухания вдоль мирового Y относительно позиции FogVolume. Встроенный шейдер применяет clamp(exp2(-HeightFalloff * (worldY - volumeY)),0,1). Setter приводит отрицательное значение к 0, но допускает значения выше 1.
| Имя | Тип | По умолчанию |
|---|---|---|
heightFalloff | float | — |
heightFalloffКоэффициент; 0 отключает высотное ослабление.