reckfellENGINE

DirectionalLight3D

Направленный свет с расстояния, например, от Солнца.

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

Направленный свет с расстояния, например, от Солнца.

Направленный источник света — это тип узла Light3D, моделирующий бесконечное число параллельных лучей, покрывающих всю сцену. Он используется для источников света высокой интенсивности, расположенных далеко от сцены, для моделирования солнечного или лунного света. Свет излучается в направлении -Z глобального базиса узла. Для невращающегося источника света это означает, что свет излучается вперёд, освещая переднюю сторону трёхмерной модели (см. Vector3.Forward и Vector3.ModelFront). Положение узла игнорируется; для определения направления света используется только базис.

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

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

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

Свойства9

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

Если true, детализация теней жертвуется в обмен на более плавные переходы между разделениями. Включение разделения смешивания теней также имеет умеренные затраты производительности. Это игнорируется, когда DirectionalLight3D.DirectionalShadowMode равно DirectionalLight3D.ShadowMode.Orthogonal.

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

Пропорция DirectionalLight3D.DirectionalShadowMaxDistance, в которой тень начинает исчезать. В DirectionalLight3D.DirectionalShadowMaxDistance тень исчезнет. Значение по умолчанию — это баланс между плавным исчезновением и видимостью тени на расстоянии. Если камера движется быстро, а DirectionalLight3D.DirectionalShadowMaxDistance низкое, рассмотрите возможность уменьшения DirectionalLight3D.DirectionalShadowFadeStart ниже 0.8, чтобы сделать переходы тени менее заметными. С другой стороны, если вы настроили DirectionalLight3D.DirectionalShadowMaxDistance так, чтобы покрыть всю сцену, вы можете установить DirectionalLight3D.DirectionalShadowFadeStart на 1.0, чтобы предотвратить исчезновение тени на расстоянии (вместо этого она внезапно обрежется).

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

Максимальное расстояние для разделения теней. Увеличение этого значения сделает направленные тени видимыми с большего расстояния, за счет снижения общей детализации теней и производительности (поскольку больше объектов должны быть включены в рендеринг направленных теней).

DirectionalShadowModeСвойство
# DirectionalShadowMode
C#
public DirectionalLight3D.ShadowMode DirectionalShadowMode { get; set; }

Алгоритм рендеринга тени света.

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

Устанавливает размер направленного блина тени. Блин смещает начало усеченной пирамиды тени, чтобы обеспечить более высокое эффективное разрешение глубины для тени. Однако большой размер блина может привести к появлению артефактов в тенях крупных объектов, которые находятся близко к краю пирамиды. Уменьшение размера блина может помочь. Установка размера на 0 отключает эффект блина.

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

Расстояние от камеры до точки разделения тени 1. Относительно DirectionalLight3D.DirectionalShadowMaxDistance. Используется только тогда, когда DirectionalLight3D.DirectionalShadowMode равно DirectionalLight3D.ShadowMode.Parallel2Splits или DirectionalLight3D.ShadowMode.Parallel4Splits.

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

Расстояние от теневого разделения 1 до разделения 2. Относительно DirectionalLight3D.DirectionalShadowMaxDistance. Используется только когда DirectionalLight3D.DirectionalShadowMode равен DirectionalLight3D.ShadowMode.Parallel4Splits.

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

Расстояние от точки разделения тени 2 до точки разделения 3. Относительно DirectionalLight3D.DirectionalShadowMaxDistance. Используется только тогда, когда DirectionalLight3D.DirectionalShadowMode равен DirectionalLight3D.ShadowMode.Parallel4Splits.

SkyModeСвойство
# SkyMode
C#
public DirectionalLight3D.SkyModeEnum SkyMode { get; set; }

Участие направленного источника в освещении и небе: LightAndSky, LightOnly или SkyOnly. LightOnly исключает его из слотов LIGHT0…LIGHT3 шейдера неба. SkyOnly оставляет вклад для неба, но не обычное прямое освещение геометрии. Номер слота не является постоянным ID источника.

Методы6

GetShadowModeDirectionalLight3D.ShadowMode
# GetShadowMode
C#
public DirectionalLight3D.ShadowMode GetShadowMode();
Возвращает DirectionalLight3D.ShadowMode
GetSkyModeDirectionalLight3D.SkyModeEnum
# GetSkyMode
C#
public DirectionalLight3D.SkyModeEnum GetSkyMode();

Участие направленного источника в освещении и небе: LightAndSky, LightOnly или SkyOnly. LightOnly исключает его из слотов LIGHT0…LIGHT3 шейдера неба. SkyOnly оставляет вклад для неба, но не обычное прямое освещение геометрии. Номер слота не является постоянным ID источника.

Возвращает DirectionalLight3D.SkyModeEnum

Назначенный SkyModeEnum.

IsBlendSplitsEnabledbool
# IsBlendSplitsEnabled
C#
public bool IsBlendSplitsEnabled();
Возвращает bool
SetBlendSplitsvoid
# SetBlendSplits
C#
public void SetBlendSplits(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetShadowModevoid
# SetShadowMode
C#
public void SetShadowMode(DirectionalLight3D.ShadowMode mode);
Параметры
ИмяТипПо умолчанию
modeDirectionalLight3D.ShadowMode—
SetSkyModevoid
# SetSkyMode
C#
public void SetSkyMode(DirectionalLight3D.SkyModeEnum mode);

Участие направленного источника в освещении и небе: LightAndSky, LightOnly или SkyOnly. LightOnly исключает его из слотов LIGHT0…LIGHT3 шейдера неба. SkyOnly оставляет вклад для неба, но не обычное прямое освещение геометрии. Номер слота не является постоянным ID источника.

Параметры
ИмяТипПо умолчанию
modeDirectionalLight3D.SkyModeEnum—
mode

Режим участия источника в освещении/небе.

DirectionalLight3D.ShadowMode

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

Визуализирует всю карту теней сцены с ортогональной точки зрения. Это самый быстрый режим направленных теней. Может привести к более размытым теням на близких объектах.

Parallel2Splits = 1

Разделяет вид усеченной пирамиды на 2 области, каждая со своей собственной картой теней. Этот режим теней является компромиссом между DirectionalLight3D.ShadowMode.Orthogonal и DirectionalLight3D.ShadowMode.Parallel4Splits с точки зрения производительности.

Parallel4Splits = 2

Разделяет вид усеченной пирамиды на 4 области, каждая со своей собственной картой теней. Это самый медленный режим направленной тени.

DirectionalLight3D.SkyModeEnum

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

Делает свет видимым как при освещении сцены, так и при визуализации неба.

LightOnly = 1

Делает свет видимым только в освещении сцены (включая прямое освещение и глобальное освещение). При использовании этого режима свет не будет виден из шейдеров неба.

SkyOnly = 2

Делает свет видимым только для шейдеров неба. При использовании этого режима свет не будет отбрасывать свет на сцену (ни через прямое освещение, ни через глобальное освещение), но к нему можно получить доступ через шейдеры неба. Это может быть полезно, например, когда вы хотите управлять эффектами неба, не освещая сцену (например, во время ночного цикла).

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

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

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

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