OccluderInstance3D
Entity, размещающая ресурс Occluder3D для окклюзионного отсечения.
Размещает назначенный ресурс Occluder3D в 3D-иерархии. Система окклюзии использует эту геометрию для определения скрытых от камеры объектов; сама Entity не заменяет видимую модель или физическую коллизию.
Включите rendering/occlusion_culling/use_occlusion_culling и назначьте ресурс Occluder. Затем проверяйте результат с камерой и объектами за окклюдером. Наличие OccluderInstance3D в дереве само по себе не доказывает работу отсечения или прирост производительности.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
OccluderInstance3DКонструктор
public OccluderInstance3D();Свойства3
BakeMaskСвойство
public uint BakeMask { get; set; }Маска визуальных слоёв геометрии, собираемой при запекании occluder. Это не CollisionMask и не включатель runtime culling. В примере QuadOccluder3D назначен напрямую, без editor bake.
BakeSimplificationDistanceСвойство
public float BakeSimplificationDistance { get; set; }Параметр упрощения геометрии при bake. Не является дистанцией от камеры, после которой скрывается объект. Проверяйте полученный occluder на проёмах и тонких стенах; bake-интерфейс и качество упрощения этим runtime-примером не проверены.
OccluderСвойство
public Occluder3D Occluder { get; set; }Ресурс геометрии, перекрывающей объекты для occlusion culling. Он сам не является видимой стеной или физическим телом. Согласуйте его с реальной непрозрачной геометрией: слишком большой или оставшийся после удаления стены occluder может скрыть видимый объект.
Методы8
GetBakeMaskuint
public uint GetBakeMask();uintGetBakeMaskValuebool
public bool GetBakeMaskValue(int layerNumber);Возвращает, включен ли указанный слой OccluderInstance3D.BakeMask, учитывая layer_number от 1 до 32.
| Имя | Тип | По умолчанию |
|---|---|---|
layerNumber | int | — |
boolGetBakeSimplificationDistancefloat
public float GetBakeSimplificationDistance();floatGetOccluderOccluder3D
public Occluder3D GetOccluder();Occluder3DSetBakeMaskvoid
public void SetBakeMask(uint mask);| Имя | Тип | По умолчанию |
|---|---|---|
mask | uint | — |
SetBakeMaskValuevoid
public void SetBakeMaskValue(int layerNumber, bool value);На основе value включает или отключает указанный слой в OccluderInstance3D.BakeMask, учитывая layer_number от 1 до 32.
| Имя | Тип | По умолчанию |
|---|---|---|
layerNumber | int | — |
value | bool | — |
SetBakeSimplificationDistancevoid
public void SetBakeSimplificationDistance(float simplificationDistance);| Имя | Тип | По умолчанию |
|---|---|---|
simplificationDistance | float | — |
SetOccludervoid
public void SetOccluder(Occluder3D occluder);| Имя | Тип | По умолчанию |
|---|---|---|
occluder | Occluder3D | — |