This page has been translated automatically.
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Программирование
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
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
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Working with Large Number of Objects

When the virtual scene contains a large number of objects, both identical and unique, managing each of them is a very complicated task. Moreover, when such objects are represented in the scene as separate meshes, the performance significantly drops.

UNIGINE allows managing a great number of objects as a single object by using clusters and clutters. It simplifies a spatial tree of nodes (in the World Hierarchy, there will be one or several objects instead of thousands), thus increasing the performance.

  • Mesh Cluster and Mesh Clutter nodes allow managing a great number of identical meshes (or nodes in case of a World Clutter) in the world.
  • World Clutter nodes allow managing a great number of node references in the world.
Notice
Unlike a cluster, a clutter scatters objects randomly, and, therefore, meshes/nodes of the clutter cannot be managed manually. However, procedural scattering provided by the clutter is more memory-efficient.

Using Clusters#

Clusters allow you to manage a lot of objects as a single object, while keeping the ability to independently edit each mesh baked in the cluster.

Mesh Cluster contains only identical meshes. So, if you need to create a complex construction that contains several types of identical meshes (like the tube construction on the picture below), you will have to bake several mesh clusters:

Mesh Clusters in World Hierarchy
Meshes Baked to Mesh Cluster (Click to watch the video tutorial)

The detailed instructions on baking meshes/nodes to the cluster can be found in the corresponding articles referenced above, as well as in the Content Optimization video tutorial.

Using Clutters#

Clutters are almost the same objects as clusters. The main difference is that the clutter scatters objects randomly and doesn't allow editing each object baked into the clutter individually. However, such peculiarity makes the clutter objects more preferable from the perspective of the performance.

There are 2 types of clutters:

  • Mesh Clutter contains only identical meshes randomly scattered across the area.
  • World Clutter contains randomly scattered node references. It means that you can bake different objects into the clutter and randomly position them.
Mesh Clutter with Identical Meshes (Click to watch the video tutorial)
World Clutter with Different Nodes (Click to watch the video tutorial)

The detailed instructions on baking meshes/nodes to the clutter can be found in the corresponding articles referenced above, as well as in the Content Optimization video tutorial.

Last update: 10.04.2020
Build: ()