This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Режимы вывода изображения
Физика
Браузер SDK 2
Лицензирование и типы лицензий
Дополнения (Add-Ons)
Демонстрационные проекты
API Samples
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы

Unigine.WorldOccluderMesh Class

Inherits from: Node

This class is used to create an occluder based on an arbitrary mesh, which culls surfaces, bounds of which are currently hidden behind it. If any part of the bound of the object's surface is visible behind the occluder, the surface will not be culled. The objects' surfaces behind the occluder are not sent to the GPU, thereby saving performance.

The occluder itself is rendered by the CPU and stored in a separate buffer.

Usage#

In order to enhance performance, occluders should be used wisely. The following notes will help you to decide whether to use the occluder or not:

  • Occluders can be highly effective in case of complex environments where there are many objects that occlude each other and are costly to render (they have a lot of polygons and/or heavy shaders).
  • Effective culling is possible if objects are not too large, since if any part of their surface is seen, it cannot be culled. In case objects are big and have a few surfaces, it is likely that an additional performance load of an occluder will not pay off.
  • In case the scene is filled with flat objects or a camera looks down on the scene from above (for example, in flight simulators), it is better not to use occluders at all or disable them.

See Also#

WorldOccluderMesh Class

Properties

float Distance#

The current distance between the camera and the bounding box of the occluder mesh, at which this occluder mesh becomes disabled (it isn't processed by the cpu, hence it isn't rendered). by default, the inf value is used.

Members


WorldOccluderMesh ( ) #

Constructor. Creates a new world occluder mesh with the default distance value.

WorldOccluderMesh ( string name ) #

Constructor. Creates a new world occluder mesh from the given *.mesh file.

Arguments

  • string name - A mesh file name.

bool SetMesh ( Mesh mesh ) #

Allows for reinitialization of the occluder mesh: the function copies a given mesh into the current mesh used for the occluder mesh.

Arguments

  • Mesh mesh - A mesh to be copied.

Return value

true if the mesh is copied successfully; otherwise, false.

bool GetMesh ( Mesh mesh ) #

Copies the current mesh, on which the occluder mesh is based, into the target mesh.

Arguments

  • Mesh mesh - Target mesh.

Return value

true if the mesh is copied successfully; otherwise, false.

bool SetMeshPath ( string name, bool force_load = 0 ) #

Sets a new path for the mesh, on which the occluder mesh is based and forces loading of the mesh with the new path for the current occluder mesh.

Arguments

  • string name - A new path to be set for the mesh.
  • bool force_load - Force flag.
    • If true (1) is specified, the mesh with the new path will be loaded immediately.
    • If false (0) is specified, only the mesh path will be updated.

Return value

true (1) if:
  • The current mesh path coincides the new path.
  • The mesh with the new path has been loaded successfully.
  • The force flag is set to 0.
In other cases, false (0).

string GetMeshPath ( ) #

Returns the path of the mesh, on which the occluder mesh is based.

Return value

Mesh path.

bool LoadMesh ( string name ) #

Loads a mesh for the current occluder mesh from the file. This function doesn't change the mesh name.

Arguments

  • string name - The mesh file name.

Return value

true if the mesh is loaded successfully; otherwise, false.

bool SaveMesh ( string name ) #

Saves the mesh, on which the occluder mesh is based, into a file.

Arguments

  • string name - The mesh file name.

Return value

true if the mesh is saved successfully; otherwise, false.

static int type ( ) #

Returns the type of the node.

Return value

World type identifier.
Last update: 13.12.2024
Build: ()