virtualx-engine/doc/classes/MeshInstance3D.xml

83 lines
3.5 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="MeshInstance3D" inherits="GeometryInstance3D" version="4.0">
<brief_description>
Node that instances meshes into a scenario.
</brief_description>
<description>
MeshInstance3D is a node that takes a [Mesh] resource and adds it to the current scenario by creating an instance of it. This is the class most often used render 3D geometry and can be used to instance a single [Mesh] in many places. This allows reuse of geometry which can save on resources. When a [Mesh] has to be instanced more than thousands of times at close proximity, consider using a [MultiMesh] in a [MultiMeshInstance3D] instead.
</description>
<tutorials>
</tutorials>
<methods>
<method name="create_convex_collision">
<return type="void">
</return>
<description>
This helper creates a [StaticBody3D] child node with a [ConvexPolygonShape3D] collision shape calculated from the mesh geometry. It's mainly used for testing.
</description>
</method>
<method name="create_debug_tangents">
<return type="void">
</return>
<description>
This helper creates a [MeshInstance3D] child node with gizmos at every vertex calculated from the mesh geometry. It's mainly used for testing.
</description>
</method>
<method name="create_trimesh_collision">
<return type="void">
</return>
<description>
This helper creates a [StaticBody3D] child node with a [ConcavePolygonShape3D] collision shape calculated from the mesh geometry. It's mainly used for testing.
</description>
</method>
<method name="get_active_material" qualifiers="const">
<return type="Material">
</return>
<argument index="0" name="surface" type="int">
</argument>
<description>
Returns the [Material] that will be used by the [Mesh] when drawing. This can return the [member GeometryInstance3D.material_override], the surface override [Material] defined in this [MeshInstance3D], or the surface [Material] defined in the [Mesh]. For example, if [member GeometryInstance3D.material_override] is used, all surfaces will return the override material.
</description>
</method>
<method name="get_surface_material" qualifiers="const">
<return type="Material">
</return>
<argument index="0" name="surface" type="int">
</argument>
<description>
Returns the override [Material] for the specified surface of the [Mesh] resource.
</description>
</method>
<method name="get_surface_material_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of surface materials.
</description>
</method>
<method name="set_surface_material">
<return type="void">
</return>
<argument index="0" name="surface" type="int">
</argument>
<argument index="1" name="material" type="Material">
</argument>
<description>
Sets the override [Material] for the specified surface of the [Mesh] resource. This material is associated with this [MeshInstance3D] rather than with the [Mesh] resource.
</description>
</method>
</methods>
<members>
<member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
The [Mesh] resource for the instance.
</member>
<member name="skeleton" type="NodePath" setter="set_skeleton_path" getter="get_skeleton_path" default="NodePath(&quot;..&quot;)">
[NodePath] to the [Skeleton3D] associated with the instance.
</member>
<member name="skin" type="Skin" setter="set_skin" getter="get_skin">
Sets the skin to be used by this instance.
</member>
</members>
<constants>
</constants>
</class>