Inherits: CullInstance < Spatial < Node < Object

Inherited By: BakedLightmap, GeometryInstance, GIProbe, Light, ReflectionProbe, RootMotionView

Parent of all visual 3D nodes.


The VisualInstance is used to connect a resource to a visual representation. All visual 3D nodes inherit from the VisualInstance. In general, you should not access the VisualInstance properties directly as they are accessed and managed by the nodes that inherit from VisualInstance. VisualInstance is the node representation of the VisualServer instance.













get_aabb ( ) const


get_base ( ) const


get_instance ( ) const


get_layer_mask_bit ( int layer ) const


get_transformed_aabb ( ) const


set_base ( RID base )


set_layer_mask_bit ( int layer, bool enabled )

Property Descriptions

int layers = 1

  • void set_layer_mask ( int value )

  • int get_layer_mask ( )

The render layer(s) this VisualInstance is drawn on.

This object will only be visible for Cameras whose cull mask includes the render object this VisualInstance is set to.

float sorting_offset = 0.0

  • void set_sorting_offset ( float value )

  • float get_sorting_offset ( )

The sorting offset used by this VisualInstance. Adjusting it to a higher value will make the VisualInstance reliably draw on top of other VisualInstances that are otherwise positioned at the same spot.

bool sorting_use_aabb_center = true

  • void set_sorting_use_aabb_center ( bool value )

  • bool is_sorting_use_aabb_center ( )

If true, the object is sorted based on the AABB center. Sorted based on the global position otherwise.

The AABB center based sorting is generally more accurate for 3D models. The position based sorting instead allows to better control the drawing order when working with Particles and CPUParticles.

Method Descriptions

AABB get_aabb ( ) const

Returns the AABB (also known as the bounding box) for this VisualInstance. See also get_transformed_aabb.

RID get_base ( ) const

Returns the RID of the resource associated with this VisualInstance. For example, if the Node is a MeshInstance, this will return the RID of the associated Mesh.

RID get_instance ( ) const

Returns the RID of this instance. This RID is the same as the RID returned by VisualServer.instance_create. This RID is needed if you want to call VisualServer functions directly on this VisualInstance.

bool get_layer_mask_bit ( int layer ) const

Returns true when the specified layer is enabled in layers and false otherwise.

AABB get_transformed_aabb ( ) const

Returns the transformed AABB (also known as the bounding box) for this VisualInstance.

Transformed in this case means the AABB plus the position, rotation, and scale of the Spatial's Transform. See also get_aabb.

void set_base ( RID base )

Sets the resource that is instantiated by this VisualInstance, which changes how the engine handles the VisualInstance under the hood. Equivalent to VisualServer.instance_set_base.

void set_layer_mask_bit ( int layer, bool enabled )

Enables a particular layer in layers.