reckfellENGINE

Decal

Entity который проецирует текстуру на MeshInstance3D.

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

Entity который проецирует текстуру на MeshInstance3D.

Decals используется для проецирования текстуры на Mesh Используйте Dackals для добавления деталей в сцену без ущерба для основной части. MeshОни часто используются для того, чтобы добавить погоду в здания, добавить грязь или грязью в землю или добавить разнообразие в реквизиты. Они сделаны из Aabb и группой, Texture2Ds Уточнение Color, нормальные, УРМ (оккумулирование, шероховатость, металлические) и выбросы. Aabb , изменяя ориентацию Decal , влияет на направление, в котором они проецируются. По умолчанию декалы проецируются вниз (т.е. с положительного Y до отрицательного Y). :: Texture2Ds, связанные с Decal , автоматически хранятся в текстовом атласе, который используется для рисования пропусков, с тем чтобы все пропуска могли быть нанесены одновременно. Примечание: Декады не могут влиять на прозрачность основного материала, независимо от его режима транспарентности (альфа-смесь, альфа-ножник, альфа-хэш, непрозрачный предпроход). Это означает, что прозрачные или прозрачные участки материала останутся прозрачными или транспарентными, даже если на них наносится непрозрачный пропуск. Примечание: Декады поддерживаются только в методах переднего+ и мобильного отображения, а не совместимости. При использовании метода подвижного отображения на каждом сеточном ресурсе может быть выставлено только 8 пропусков. Попытка вывешивать более 8 наклеек на одном сетном ресурсе приведет к тому, что по мере движения камеры декалации будут мигать внутрь и снаружи. Примечание: При использовании метода подвижного отображения пропуски будут правильно влиять только на слежки, видимость которых AABB пересекается с пропуском AABB. Если использовать тень для деформации сетки таким образом, чтобы она выходила за пределы AABB, GeometryInstance3D.ExtraCullMargin В противном случае пропуск может не быть виден в сетке.

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

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

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

Свойства15

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

Вес изменения базового цвета. Ноль сохраняет исходный albedo поверхности, но не отключает Normal/ORM при наличии TextureAlbedo с alpha-маской. Для отключения всего экземпляра используйте Visible=false.

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

Битовая маска слоёв рендеринга получателей. Декаль применяется при ненулевом пересечении с VisualInstance3D.Layers меша. Это не PhysicsBody3D.CollisionLayer и не номер единственного слоя. В примере CullMask=2 выбирает пол с Layers=2.

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

Расстояние от камеры до позиции декали, после которого начинается затухание при DistanceFadeEnabled=true. До него вклад сохраняется. Для предсказуемой настройки используйте неотрицательное расстояние.

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

Включает затухание по расстоянию между камерой и позицией декали. Использует DistanceFadeBegin и DistanceFadeLength. Это визуальная оптимизация декали, не остановка скриптов и не удаление Entity.

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

Длина перехода после DistanceFadeBegin. При включённом distance fade декаль исключается за Begin+Length. Используйте положительное значение: нулевая длина не задаёт плавного перехода.

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

Множитель TextureEmission. Ноль убирает этот вклад, но не albedo/Normal/ORM. Свечение декали не создаёт Light3D и не гарантирует освещение соседних мешей.

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

Неотрицательная степень затухания к отрицательной границе локальной Y объёма проекции. Ноль отключает этот градиент; отрицательное присвоение становится нулём. Уменьшение Size.Y меняет область пересечения, а не этот показатель.

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

RGB умножает цвет albedo и emission. Alpha ослабляет albedo и связанное с его маской смешивание Normal/ORM; emission не умножается на Modulate.A. Поэтому alpha=0 не является надёжным выключателем всей декали.

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

Ослабление проекции на поверхностях с неподходящим направлением геометрической нормали. Положительное значение задействует угловой градиент; это не сила TextureNormal. В примере используется 0.5; угловые граничные случаи отдельно не проверены.

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

Полный размер объёма проекции по локальным осям. X/Z задают область текстуры, Y — глубину. Объём должен пересекать поверхность. Каждая компонента при присваивании ограничивается снизу значением 0.001; это не половина размера.

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

Цвет и alpha-маска декали. Alpha участвует также в смешивании Normal и ORM; для изменения только этих каналов сохраните Albedo-текстуру и установите AlbedoMix=0. Отсутствие этой текстуры не равнозначно нулевому AlbedoMix.

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

Аддитивное свечение по RGB текстуры, независимое от наличия TextureAlbedo и её alpha-маски. Области без свечения должны быть чёрными по RGB; одна прозрачность не гарантирует отсутствие emission. Яркость умножается на EmissionEnergy и Modulate.RGB.

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

Карта нормалей меняет освещение поверхности внутри alpha-маски TextureAlbedo, а не её геометрию или коллизию. Для normal-only декали задайте обе текстуры и AlbedoMix=0. Пример не проверяет импорт и ориентацию карт из сторонних редакторов.

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

Упакованные каналы: R — ambient occlusion, G — roughness, B — metallic. Их смешивание использует alpha TextureAlbedo. Пример подтверждает изменение материала с AlbedoMix=0 и исчезновение этого влияния без Albedo-текстуры.

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

Неотрицательная степень затухания к положительной границе локальной Y объёма проекции. Ноль отключает этот градиент; отрицательное присвоение становится нулём. Это не distance fade от камеры.

Методы24

GetAlbedoMixfloat
# GetAlbedoMix
C#
public float GetAlbedoMix();

Читает AlbedoMix у этого экземпляра. Не определяет по одному значению, видна ли проекция на поверхности.

Возвращает float

Вес изменения базового цвета. Ноль сохраняет исходный albedo поверхности, но не отключает Normal/ORM при наличии TextureAlbedo с alpha-маской. Для отключения всего экземпляра используйте Visible=false.

GetCullMaskuint
# GetCullMask
C#
public uint GetCullMask();

Читает CullMask у этого экземпляра. Не определяет по одному значению, видна ли проекция на поверхности.

Возвращает uint

Битовая маска слоёв рендеринга получателей. Декаль применяется при ненулевом пересечении с VisualInstance3D.Layers меша. Это не PhysicsBody3D.CollisionLayer и не номер единственного слоя. В примере CullMask=2 выбирает пол с Layers=2.

GetDistanceFadeBeginfloat
# GetDistanceFadeBegin
C#
public float GetDistanceFadeBegin();
Возвращает float
GetDistanceFadeLengthfloat
# GetDistanceFadeLength
C#
public float GetDistanceFadeLength();
Возвращает float
GetEmissionEnergyfloat
# GetEmissionEnergy
C#
public float GetEmissionEnergy();
Возвращает float
GetLowerFadefloat
# GetLowerFade
C#
public float GetLowerFade();
Возвращает float
GetModulateColor
# GetModulate
C#
public Color GetModulate();

Читает Modulate у этого экземпляра. Не определяет по одному значению, видна ли проекция на поверхности.

Возвращает Color

RGB умножает цвет albedo и emission. Alpha ослабляет albedo и связанное с его маской смешивание Normal/ORM; emission не умножается на Modulate.A. Поэтому alpha=0 не является надёжным выключателем всей декали.

GetNormalFadefloat
# GetNormalFade
C#
public float GetNormalFade();
Возвращает float
GetSizeVector3
# GetSize
C#
public Vector3 GetSize();

Читает Size у этого экземпляра. Не определяет по одному значению, видна ли проекция на поверхности.

Возвращает Vector3

Полный размер объёма проекции по локальным осям. X/Z задают область текстуры, Y — глубину. Объём должен пересекать поверхность. Каждая компонента при присваивании ограничивается снизу значением 0.001; это не половина размера.

GetTextureTexture2D
# GetTexture
C#
public Texture2D GetTexture(Decal.DecalTexture type);

Читает назначенный ресурс выбранного канала. Не захватывает результат проекции и не возвращает изображение поверхности.

Параметры
ИмяТипПо умолчанию
typeDecal.DecalTexture—
type

Канал Albedo, Normal, Orm или Emission. Не передавайте Max.

Возвращает Texture2D

Назначенная Texture2D либо null, если канал пуст. Наличие ресурса не подтверждает видимость декали.

GetUpperFadefloat
# GetUpperFade
C#
public float GetUpperFade();
Возвращает float
IsDistanceFadeEnabledbool
# IsDistanceFadeEnabled
C#
public bool IsDistanceFadeEnabled();
Возвращает bool
SetAlbedoMixvoid
# SetAlbedoMix
C#
public void SetAlbedoMix(float energy);

Задаёт AlbedoMix. Вес изменения базового цвета. Ноль сохраняет исходный albedo поверхности, но не отключает Normal/ORM при наличии TextureAlbedo с alpha-маской. Для отключения всего экземпляра используйте Visible=false.

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

Вес albedo-смешивания, обычно 0…1. Несмотря на имя energy, это не EmissionEnergy.

SetCullMaskvoid
# SetCullMask
C#
public void SetCullMask(uint mask);

Задаёт CullMask. Битовая маска слоёв рендеринга получателей. Декаль применяется при ненулевом пересечении с VisualInstance3D.Layers меша. Это не PhysicsBody3D.CollisionLayer и не номер единственного слоя. В примере CullMask=2 выбирает пол с Layers=2.

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

Битовая маска слоёв рендеринга получателей; ноль не выбирает ни одного слоя.

SetDistanceFadeBeginvoid
# SetDistanceFadeBegin
C#
public void SetDistanceFadeBegin(float distance);
Параметры
ИмяТипПо умолчанию
distancefloat—
SetDistanceFadeLengthvoid
# SetDistanceFadeLength
C#
public void SetDistanceFadeLength(float distance);
Параметры
ИмяТипПо умолчанию
distancefloat—
SetEmissionEnergyvoid
# SetEmissionEnergy
C#
public void SetEmissionEnergy(float energy);
Параметры
ИмяТипПо умолчанию
energyfloat—
SetEnableDistanceFadevoid
# SetEnableDistanceFade
C#
public void SetEnableDistanceFade(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetLowerFadevoid
# SetLowerFade
C#
public void SetLowerFade(float fade);
Параметры
ИмяТипПо умолчанию
fadefloat—
SetModulatevoid
# SetModulate
C#
public void SetModulate(Color color);

Задаёт Modulate. RGB умножает цвет albedo и emission. Alpha ослабляет albedo и связанное с его маской смешивание Normal/ORM; emission не умножается на Modulate.A. Поэтому alpha=0 не является надёжным выключателем всей декали.

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

RGB-множитель цвета и alpha для маски albedo/Normal/ORM. Alpha не выключает emission.

SetNormalFadevoid
# SetNormalFade
C#
public void SetNormalFade(float fade);
Параметры
ИмяТипПо умолчанию
fadefloat—
SetSizevoid
# SetSize
C#
public void SetSize(Vector3 size);

Задаёт Size. Полный размер объёма проекции по локальным осям. X/Z задают область текстуры, Y — глубину. Объём должен пересекать поверхность. Каждая компонента при присваивании ограничивается снизу значением 0.001; это не половина размера.

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

Полный локальный размер. Каждая компонента ограничивается снизу 0.001.

SetTexturevoid
# SetTexture
C#
public void SetTexture(Decal.DecalTexture type, Texture2D texture);

Назначает текстуру в указанный канал декали. null очищает канал. Для Normal/ORM нужна отдельная TextureAlbedo с alpha-маской; канал Emission обрабатывается независимо.

Параметры
ИмяТипПо умолчанию
typeDecal.DecalTexture—
textureTexture2D—
type

Канал DecalTexture.Albedo, Normal, Orm или Emission. Max — ограничитель перечисления, не канал.

texture

Текстура выбранного канала либо null для удаления. Проверяйте поддержку конкретного вида Texture2D: ссылка на viewport не является обычной импортированной текстурой atlas декалей.

SetUpperFadevoid
# SetUpperFade
C#
public void SetUpperFade(float fade);
Параметры
ИмяТипПо умолчанию
fadefloat—

Decal.DecalTexture

ЗначениеОписание
Albedo = 0

Texture2D соответствует Decal.TextureAlbedo.

Emission = 3

Texture2D соответствует Decal.TextureEmission.

Max = 4

Максимальный размер перечисления Decal.DecalTexture.

Normal = 1

Texture2D соответствует Decal.TextureNormal.

Orm = 2

Texture2D соответствует Decal.TextureOrm.

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

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

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

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