OmniLight3D
Всенаправленный свет, например, от лампочки или свечи.
Всенаправленный свет, например, от лампочки или свечи.
Всенаправленный свет — это тип Light3D, который излучает свет во всех направлениях. Свет ослабевает с расстоянием, и это ослабление можно настроить, изменив его энергию, радиус и параметры затухания.
Примечание: При использовании метода рендеринга Mobile на каждом ресурсе сетки может отображаться только 8 источников света omni. Попытка отобразить более 8 источников света omni на одном ресурсе сетки приведет к мерцанию источников света omni при движении камеры. При использовании метода рендеринга Compatibility на каждом ресурсе сетки по умолчанию может отображаться только 8 источников света omni, но это число можно увеличить, настроив ProjectSettings.rendering/limits/opengl/max_lights_per_object.
Примечание: При использовании методов рендеринга Mobile или Compatibility источники света omni будут правильно влиять только на те сетки, видимость AABB которых пересекается с AABB источника света. Если используется шейдер для деформации сетки таким образом, что она выходит за пределы своего AABB, GeometryInstance3D.ExtraCullMargin должен быть увеличен на сетке. В противном случае свет может быть не виден на сетке.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
OmniLight3DКонструктор
public OmniLight3D();Свойства3
OmniAttenuationСвойство
public float OmniAttenuation { get; set; }Управляет функцией затухания на расстоянии для всенаправленных источников света.
Значение 0.0 будет поддерживать постоянную яркость на протяжении большей части диапазона, но плавно ослаблять свет на границе диапазона. Используйте значение 2.0 для физически точных источников света, поскольку оно обеспечивает правильное обратноквадратичное затухание.
Примечание: Установка затухания на 2.0 или выше может привести к тому, что удаленные объекты будут получать минимальный свет, даже в пределах диапазона. Например, при диапазоне 4096 объект на 100 единиц ослабляется с коэффициентом 0.0001. При яркости по умолчанию 1 свет не будет виден на этом расстоянии.
Примечание: Использование отрицательных или значений выше 10.0 может привести к неожиданным результатам.
OmniRangeСвойство
public float OmniRange { get; set; }Максимальная область влияния точечного света в единицах мира с учётом его трансформации. Большой range увеличивает затрагиваемую область; LightEnergy не расширяет его автоматически. В примере range 0.2 исключает поверхности, освещаемые при 8.
OmniShadowModeСвойство
public OmniLight3D.ShadowMode OmniShadowMode { get; set; }Методы2
GetShadowModeOmniLight3D.ShadowMode
public OmniLight3D.ShadowMode GetShadowMode();OmniLight3D.ShadowModeSetShadowModevoid
public void SetShadowMode(OmniLight3D.ShadowMode mode);| Имя | Тип | По умолчанию |
|---|---|---|
mode | OmniLight3D.ShadowMode | — |
OmniLight3D.ShadowMode
| Значение | Описание |
|---|---|
Cube = 1 | Тени рендерятся в кубическую карту. Медленнее, чем |
DualParaboloid = 0 | Тени визуализируются в текстуру двойного параболоида. Быстрее, чем |