2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2021-11-05 15:02:42 +01:00
<class name= "GeometryInstance" inherits= "VisualInstance" version= "3.5" >
2017-09-12 22:42:36 +02:00
<brief_description >
2019-06-22 01:04:47 +02:00
Base node for geometry-based visual instances.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2019-06-22 01:04:47 +02:00
Base node for geometry-based visual instances. Shares some common functionality like visibility and custom materials.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
2019-06-27 16:10:09 +02:00
<method name= "get_flag" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
<argument index= "0" name= "flag" type= "int" enum= "GeometryInstance.Flags" />
2019-06-27 16:10:09 +02:00
<description >
2020-01-14 22:27:14 +01:00
Returns the [enum GeometryInstance.Flags] that have been set for this object.
2019-06-27 16:10:09 +02:00
</description>
</method>
2019-01-31 17:54:00 +01:00
<method name= "set_custom_aabb" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "aabb" type= "AABB" />
2019-01-31 17:54:00 +01:00
<description >
2019-06-27 11:10:53 +02:00
Overrides the bounding box of this node with a custom one. To remove it, set an [AABB] with all fields set to zero.
2019-01-31 17:54:00 +01:00
</description>
</method>
2019-06-27 16:10:09 +02:00
<method name= "set_flag" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "flag" type= "int" enum= "GeometryInstance.Flags" />
<argument index= "1" name= "value" type= "bool" />
2019-06-27 16:10:09 +02:00
<description >
2020-01-14 22:27:14 +01:00
Sets the [enum GeometryInstance.Flags] specified. See [enum GeometryInstance.Flags] for options.
2019-06-27 16:10:09 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
</methods>
<members >
2019-06-29 12:38:01 +02:00
<member name= "cast_shadow" type= "int" setter= "set_cast_shadows_setting" getter= "get_cast_shadows_setting" enum= "GeometryInstance.ShadowCastingSetting" default= "1" >
2019-06-27 11:10:53 +02:00
The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "extra_cull_margin" type= "float" setter= "set_extra_cull_margin" getter= "get_extra_cull_margin" default= "0.0" >
2017-11-26 17:12:25 +01:00
The extra distance added to the GeometryInstance's bounding box ([AABB]) to increase its cull box.
2017-09-12 22:42:36 +02:00
</member>
2020-12-30 17:12:41 +01:00
<member name= "generate_lightmap" type= "bool" setter= "set_generate_lightmap" getter= "get_generate_lightmap" default= "true" >
When disabled, the mesh will be taken into account when computing indirect lighting, but the resulting lightmap will not be saved. Useful for emissive only materials or shadow casters.
</member>
<member name= "lightmap_scale" type= "int" setter= "set_lightmap_scale" getter= "get_lightmap_scale" enum= "GeometryInstance.LightmapScale" default= "0" >
Scale factor for the generated baked lightmap. Useful for adding detail to certain mesh instances.
</member>
2019-06-29 12:38:01 +02:00
<member name= "lod_max_distance" type= "float" setter= "set_lod_max_distance" getter= "get_lod_max_distance" default= "0.0" >
2017-11-26 17:12:25 +01:00
The GeometryInstance's max LOD distance.
2019-08-21 14:04:56 +02:00
[b]Note:[/b] This property currently has no effect.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "lod_max_hysteresis" type= "float" setter= "set_lod_max_hysteresis" getter= "get_lod_max_hysteresis" default= "0.0" >
2017-11-26 17:12:25 +01:00
The GeometryInstance's max LOD margin.
2019-08-21 14:04:56 +02:00
[b]Note:[/b] This property currently has no effect.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "lod_min_distance" type= "float" setter= "set_lod_min_distance" getter= "get_lod_min_distance" default= "0.0" >
2017-11-26 17:12:25 +01:00
The GeometryInstance's min LOD distance.
2019-08-21 14:04:56 +02:00
[b]Note:[/b] This property currently has no effect.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "lod_min_hysteresis" type= "float" setter= "set_lod_min_hysteresis" getter= "get_lod_min_hysteresis" default= "0.0" >
2017-11-26 17:12:25 +01:00
The GeometryInstance's min LOD margin.
2019-08-21 14:04:56 +02:00
[b]Note:[/b] This property currently has no effect.
2017-09-12 22:42:36 +02:00
</member>
2021-07-24 22:45:51 +02:00
<member name= "material_overlay" type= "Material" setter= "set_material_overlay" getter= "get_material_overlay" >
The material overlay for the whole geometry.
If a material is assigned to this property, it will be rendered on top of any other active material for all the surfaces.
</member>
2019-07-15 20:42:47 +02:00
<member name= "material_override" type= "Material" setter= "set_material_override" getter= "get_material_override" >
2017-11-26 17:12:25 +01:00
The material override for the whole geometry.
2019-08-21 14:04:56 +02:00
If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "use_in_baked_light" type= "bool" setter= "set_flag" getter= "get_flag" default= "false" >
2019-08-21 14:04:56 +02:00
If [code]true[/code], this GeometryInstance will be used when baking lights using a [GIProbe] or [BakedLightmap].
2017-09-12 22:42:36 +02:00
</member>
</members>
<constants >
2020-12-30 17:12:41 +01:00
<constant name= "LIGHTMAP_SCALE_1X" value= "0" enum= "LightmapScale" >
The generated lightmap texture will have the original size.
</constant>
<constant name= "LIGHTMAP_SCALE_2X" value= "1" enum= "LightmapScale" >
The generated lightmap texture will be twice as large, on each axis.
</constant>
<constant name= "LIGHTMAP_SCALE_4X" value= "2" enum= "LightmapScale" >
The generated lightmap texture will be 4 times as large, on each axis.
</constant>
<constant name= "LIGHTMAP_SCALE_8X" value= "3" enum= "LightmapScale" >
The generated lightmap texture will be 8 times as large, on each axis.
</constant>
<constant name= "LIGHTMAP_SCALE_MAX" value= "4" enum= "LightmapScale" >
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "SHADOW_CASTING_SETTING_OFF" value= "0" enum= "ShadowCastingSetting" >
2017-11-26 17:12:25 +01:00
Will not cast any shadows.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "SHADOW_CASTING_SETTING_ON" value= "1" enum= "ShadowCastingSetting" >
2017-11-26 17:12:25 +01:00
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.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "SHADOW_CASTING_SETTING_DOUBLE_SIDED" value= "2" enum= "ShadowCastingSetting" >
2017-11-26 17:12:25 +01:00
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.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "SHADOW_CASTING_SETTING_SHADOWS_ONLY" value= "3" enum= "ShadowCastingSetting" >
2017-11-26 17:12:25 +01:00
Will only show the shadows casted from this object.
2019-08-21 14:04:56 +02:00
In other words, the actual mesh will not be visible, only the shadows casted from the mesh will be.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "FLAG_USE_BAKED_LIGHT" value= "0" enum= "Flags" >
2019-08-21 14:04:56 +02:00
Will allow the GeometryInstance to be used when baking lights using a [GIProbe] or [BakedLightmap].
2019-06-27 11:10:53 +02:00
</constant>
<constant name= "FLAG_DRAW_NEXT_FRAME_IF_VISIBLE" value= "1" enum= "Flags" >
Unused in this class, exposed for consistency with [enum VisualServer.InstanceFlags].
2017-09-16 01:46:14 +02:00
</constant>
2018-07-26 11:56:21 +02:00
<constant name= "FLAG_MAX" value= "2" enum= "Flags" >
2019-06-27 11:10:53 +02:00
Represents the size of the [enum Flags] enum.
2017-09-12 22:42:36 +02:00
</constant>
</constants>
</class>