Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
GeometryInstance3D¶
Inherits: VisualInstance3D < Node3D < Node < Object
Inherited By: CPUParticles3D, CSGShape3D, GPUParticles3D, Label3D, MeshInstance3D, MultiMeshInstance3D, 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.
Tutorials¶
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods¶
get_instance_shader_parameter ( StringName name ) const |
|
void |
set_instance_shader_parameter ( StringName name, Variant value ) |
Enumerations¶
enum ShadowCastingSetting:
ShadowCastingSetting SHADOW_CASTING_SETTING_OFF = 0
Will not cast any shadows. Use this to improve performance for small geometry that is unlikely to cast noticeable shadows (such as debris).
ShadowCastingSetting SHADOW_CASTING_SETTING_ON = 1
Will cast shadows from all visible faces in the GeometryInstance3D.
Will take culling into account, so faces not being rendered will not be taken into account when shadow casting.
ShadowCastingSetting SHADOW_CASTING_SETTING_DOUBLE_SIDED = 2
Will cast shadows from all visible faces in the GeometryInstance3D.
Will not take culling into account, so all faces will be taken into account when shadow casting.
ShadowCastingSetting 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 GIMode:
GIMode GI_MODE_DISABLED = 0
Disabled global illumination mode. Use for dynamic objects that do not contribute to global illumination (such as characters). When using VoxelGI and SDFGI, the geometry will receive indirect lighting and reflections but the geometry will not be considered in GI baking. When using LightmapGI, the object will receive indirect lighting using lightmap probes instead of using the baked lightmap texture.
GIMode GI_MODE_STATIC = 1
Baked global illumination mode. Use for static objects that contribute to global illumination (such as level geometry). This GI mode is effective when using VoxelGI, SDFGI and LightmapGI.
GIMode GI_MODE_DYNAMIC = 2
Dynamic global illumination mode. Use for dynamic objects that contribute to global illumination. This GI mode is only effective when using VoxelGI, but it has a higher performance impact than GI_MODE_STATIC. When using other GI methods, this will act the same as GI_MODE_DISABLED.
enum LightmapScale:
LightmapScale LIGHTMAP_SCALE_1X = 0
The standard texel density for lightmapping with LightmapGI.
LightmapScale LIGHTMAP_SCALE_2X = 1
Multiplies texel density by 2× for lightmapping with LightmapGI. To ensure consistency in texel density, use this when scaling a mesh by a factor between 1.5 and 3.0.
LightmapScale LIGHTMAP_SCALE_4X = 2
Multiplies texel density by 4× for lightmapping with LightmapGI. To ensure consistency in texel density, use this when scaling a mesh by a factor between 3.0 and 6.0.
LightmapScale LIGHTMAP_SCALE_8X = 3
Multiplies texel density by 8× for lightmapping with LightmapGI. To ensure consistency in texel density, use this when scaling a mesh by a factor greater than 6.0.
LightmapScale LIGHTMAP_SCALE_MAX = 4
Represents the size of the LightmapScale enum.
enum VisibilityRangeFadeMode:
VisibilityRangeFadeMode VISIBILITY_RANGE_FADE_DISABLED = 0
Will not fade itself nor its visibility dependencies, hysteresis will be used instead. This is the fastest approach to manual LOD, but it can result in noticeable LOD transitions depending on how the LOD meshes are authored. See visibility_range_begin and Node3D.visibility_parent for more information.
VisibilityRangeFadeMode VISIBILITY_RANGE_FADE_SELF = 1
Will fade-out itself when reaching the limits of its own visibility range. This is slower than VISIBILITY_RANGE_FADE_DISABLED, but it can provide smoother transitions. The fading range is determined by visibility_range_begin_margin and visibility_range_end_margin.
VisibilityRangeFadeMode VISIBILITY_RANGE_FADE_DEPENDENCIES = 2
Will fade-in its visibility dependencies (see Node3D.visibility_parent) when reaching the limits of its own visibility range. This is slower than VISIBILITY_RANGE_FADE_DISABLED, but it can provide smoother transitions. The fading range is determined by visibility_range_begin_margin and visibility_range_end_margin.
Property Descriptions¶
ShadowCastingSetting cast_shadow = 1
void set_cast_shadows_setting ( ShadowCastingSetting value )
ShadowCastingSetting get_cast_shadows_setting ( )
The selected shadow casting flag. See ShadowCastingSetting for possible values.
AABB custom_aabb = AABB(0, 0, 0, 0, 0, 0)
Overrides the bounding box of this node with a custom one. This can be used to avoid the expensive AABB recalculation that happens when a skeleton is used with a MeshInstance3D or to have fine control over the MeshInstance3D's bounding box. To use the default AABB, set value to an AABB with all fields set to 0.0
. To avoid frustum culling, set custom_aabb to a very large AABB that covers your entire game world such as AABB(-10000, -10000, -10000, 20000, 20000, 20000)
. To disable all forms of culling (including occlusion culling), call RenderingServer.instance_set_ignore_culling on the GeometryInstance3D's RID.
float extra_cull_margin = 0.0
The extra distance added to the GeometryInstance3D's bounding box (