GeometryInstance

Inherits: VisualInstance < Spatial < Node < Object

Inherited By: CPUParticles, CSGShape, ImmediateGeometry, MeshInstance, MultiMeshInstance, Particles, SpriteBase3D

Base node for geometry-based visual instances.

Description

Base node for geometry-based visual instances. Shares some common functionality like visibility and custom materials.

Properties

ShadowCastingSetting cast_shadow 1
float extra_cull_margin 0.0
float lod_max_distance 0.0
float lod_max_hysteresis 0.0
float lod_min_distance 0.0
float lod_min_hysteresis 0.0
Material material_override
bool use_in_baked_light false

Methods

bool get_flag ( Flags flag ) const
void set_custom_aabb ( AABB aabb )
void set_flag ( Flags flag, bool value )

Enumerations

enum ShadowCastingSetting:

  • SHADOW_CASTING_SETTING_OFF = 0 --- Will not cast any shadows.
  • SHADOW_CASTING_SETTING_ON = 1 --- Will cast shadows from all visible faces in the GeometryInstance.

Will take culling into account, so faces not being rendered will not be taken into account when shadow casting.

  • SHADOW_CASTING_SETTING_DOUBLE_SIDED = 2 --- Will cast shadows from all visible faces in the GeometryInstance.

Will not take culling into account, so all faces will be taken into account when shadow casting.

  • SHADOW_CASTING_SETTING_SHADOWS_ONLY = 3 --- Will only show the shadows casted from this object.

In other words, the actual mesh will not be visible, only the shadows casted from the mesh will be.

enum Flags:

  • FLAG_USE_BAKED_LIGHT = 0 --- Will allow the GeometryInstance to be used when baking lights using a GIProbe or BakedLightmap.
  • FLAG_DRAW_NEXT_FRAME_IF_VISIBLE = 1 --- Unused in this class, exposed for consistency with InstanceFlags.
  • FLAG_MAX = 2 --- Represents the size of the Flags enum.

Property Descriptions

ShadowCastingSetting cast_shadow

Default 1
Setter set_cast_shadows_setting(value)
Getter get_cast_shadows_setting()

The selected shadow casting flag. See ShadowCastingSetting for possible values.

float extra_cull_margin

Default 0.0
Setter set_extra_cull_margin(value)
Getter get_extra_cull_margin()

The extra distance added to the GeometryInstance's bounding box (AABB) to increase its cull box.

float lod_max_distance

Default 0.0
Setter set_lod_max_distance(value)
Getter get_lod_max_distance()

The GeometryInstance's max LOD distance.

Note: This property currently has no effect.

float lod_max_hysteresis

Default 0.0
Setter set_lod_max_hysteresis(value)
Getter get_lod_max_hysteresis()

The GeometryInstance's max LOD margin.

Note: This property currently has no effect.

float lod_min_distance

Default 0.0
Setter set_lod_min_distance(value)
Getter get_lod_min_distance()

The GeometryInstance's min LOD distance.

Note: This property currently has no effect.

float lod_min_hysteresis

Default 0.0
Setter set_lod_min_hysteresis(value)
Getter get_lod_min_hysteresis()

The GeometryInstance's min LOD margin.

Note: This property currently has no effect.

Material material_override

Setter set_material_override(value)
Getter get_material_override()

The material override for the whole geometry.

If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.

bool use_in_baked_light

Default false
Setter set_flag(value)
Getter get_flag()

If true, this GeometryInstance will be used when baking lights using a GIProbe or BakedLightmap.

Method Descriptions

bool get_flag ( Flags flag ) const

Returns the Flags that have been set for this object.

void set_custom_aabb ( AABB aabb )

Overrides the bounding box of this node with a custom one. To remove it, set an AABB with all fields set to zero.

void set_flag ( Flags flag, bool value )

Sets the Flags specified. See Flags for options.

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_geometryinstance.html