This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Version Control
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
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
Content Creation
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

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 (Mesh Cluster) and clutters (Mesh Clutter). 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.

Notice
Unlike a cluster, a clutter scatters objects randomly, and, therefore, meshes 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 to the cluster can be found in the corresponding article 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 Mesh 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.

Mesh Clutter (click to watch the video tutorial)

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

Last update: 2023-06-23
Build: ()