Unigine::WorldCluster Class
Header: | #include <UnigineWorlds.h> |
Inherits: | Node |
WorldCluster bakes reference nodes into one world cluster and handles only visible nodes found within a specified distance from the camera. Further than this distance, nodes fade out and then disappear completely. There are two benefits of using WorldCluster:
- Instances of nodes that are currently outside the view frustum are not stored in the memory, which provides much more efficient memory usage.
- Less cluttered spatial tree, which allows, for example, faster collision detection.
See Also#
A UnigineScript API sample <UnigineSDK>/data/samples/worlds/cluster_00
WorldCluster Class
Members
static WorldClusterPtr create ( )
Constructor. Creates a new world cluster.Ptr<WorldCluster> cast( const Ptr<Node> & node )
Casts a WorldCluster out of the Node instance.Arguments
- const Ptr<Node> & node - Pointer to Node.
Return value
Pointer to WorldCluster.void setFadeDistance( float distance )
Updates the distance up to which the nodes comprising the world cluster will be fading out (that is, fewer node references will be rendered instead of all). The distance is measured starting from the visible distance.In order for a fade distance to be applied, visibility distance should not be infinite.
Arguments
- float distance - Distance of fading for nodes in units. If a negative value is provided, 0 will be used instead.
float getFadeDistance( )
Returns the current distance up to which the nodes comprising the world cluster are fading out (that is, fewer meshes will be rendered instead of all). The distance is measured starting from the visible distance.In order for a fade distance to be applied, visibility distance should not be infinite.
Return value
Distance of fading for nodes in units.const char * getNodeName( int num )
Returns the name of the given node reference by its number.Arguments
- int num - Node reference number.
Return value
Name of the node reference.Ptr<NodeReference> getNodeReference( int num )
Returns the given node reference by its number.Arguments
- int num - Node reference number.
Return value
Node reference.Math::mat4 getNodeTransform( int num )
Returns the transformation of the given node reference by its number.Arguments
- int num - Node reference number.
Return value
Transformation matrix for the node reference.int getNumNodes( )
Returns the total number of node references in the world cluster.Return value
Number of nodes.int getNumReferences( )
Returns the total number of reference nodes contained in world clutter.Return value
The number of reference nodes.const char * getReferenceName( int num )
Returns the name of NodeReference contained in WorldCluster by its number.Arguments
- int num - NodeReference index number.
Return value
NodeReference name.void setVisibleDistance( float distance )
Updates the distance up to which all the nodes comprising the world cluster will be rendered.Arguments
- float distance - Distance of visibility in units. If a negative value is provided, 0 will be used instead.
float getVisibleDistance( )
Returns the current distance up to which all the nodes comprising the world cluster will be rendered.Return value
Distance of visibility for nodes in units.void clearNodes( )
Remove all reference nodes from the world cluster.void createNodes( const Vector< Ptr<Node> > & nodes )
Bakes the given reference nodes into one world cluster storing their coordinates.Arguments
- const Vector< Ptr<Node> > & nodes - ID of node references array.
int type( )
Returns the type of the node.Return value
World type identifier.Last update:
2020-01-14
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)