Files
godot/doc/classes/Mesh.xml
Daniel Rakos 6df53e0401 MeshLibrary export improvements
- From now materials assigned to the MeshInstance (not the Mesh) get exported
  into the MeshLibrary when such materials exist. This enables workflows where
  the MeshLibrary is exported from an imported scene (e.g. GLTF) where the
  materials assigned to the Mesh (not the MeshInstance) get overwritten on
  re-import, thus can't use editor set materials in the exported MeshLibrary
  unless they are assigned to the MeshInstance whose materials get saved with
  the inherited scene thus persist across re-imports.
- When appending to an existing MeshLibrary only generate previews for newly
  added or modified meshes.
- During preview generation transform camera and lights instead of the mesh
  and use the source MeshInstance's transform for the mesh to avoid weird
  previews being generated for meshes with a position dependent material
  (e.g. when using triplanar mapping).
- Adjust the camera angle and light directions used in mesh preview generation
  for better results.
2019-02-03 22:48:35 +01:00

202 lines
7.4 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="Mesh" inherits="Resource" category="Core" version="3.1">
<brief_description>
A [Resource] that contains vertex-array based geometry.
</brief_description>
<description>
Mesh is a type of [Resource] that contains vertex-array based geometry, divided in [i]surfaces[/i]. Each surface contains a completely separate array and a material used to draw it. Design wise, a mesh with multiple surfaces is preferred to a single surface, because objects created in 3D editing software commonly contain multiple materials.
</description>
<tutorials>
</tutorials>
<demos>
</demos>
<methods>
<method name="create_convex_shape" qualifiers="const">
<return type="Shape">
</return>
<description>
Calculate a [ConvexPolygonShape] from the mesh.
</description>
</method>
<method name="create_outline" qualifiers="const">
<return type="Mesh">
</return>
<argument index="0" name="margin" type="float">
</argument>
<description>
Calculate an outline mesh at a defined offset (margin) from the original mesh. Note: Typically returns the vertices in reverse order (e.g. clockwise to anti-clockwise).
</description>
</method>
<method name="create_trimesh_shape" qualifiers="const">
<return type="Shape">
</return>
<description>
Calculate a [ConcavePolygonShape] from the mesh.
</description>
</method>
<method name="generate_triangle_mesh" qualifiers="const">
<return type="TriangleMesh">
</return>
<description>
Generate a [TriangleMesh] from the mesh.
</description>
</method>
<method name="get_faces" qualifiers="const">
<return type="PoolVector3Array">
</return>
<description>
Returns all the vertices that make up the faces of the mesh. Each three vertices represent one triangle.
</description>
</method>
<method name="get_surface_count" qualifiers="const">
<return type="int">
</return>
<description>
Return the amount of surfaces that the [code]Mesh[/code] holds.
</description>
</method>
<method name="surface_get_arrays" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
Returns the arrays for the vertices, normals, uvs, etc. that make up the requested surface (see [method ArrayMesh.add_surface_from_arrays]).
</description>
</method>
<method name="surface_get_blend_shape_arrays" qualifiers="const">
<return type="Array">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
Returns the blend shape arrays for the requested surface.
</description>
</method>
<method name="surface_get_material" qualifiers="const">
<return type="Material">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<description>
Return a [Material] in a given surface. Surface is rendered using this material.
</description>
</method>
<method name="surface_set_material">
<return type="void">
</return>
<argument index="0" name="surf_idx" type="int">
</argument>
<argument index="1" name="material" type="Material">
</argument>
<description>
Set a [Material] for a given surface. Surface will be rendered using this material.
</description>
</method>
</methods>
<members>
<member name="lightmap_size_hint" type="Vector2" setter="set_lightmap_size_hint" getter="get_lightmap_size_hint">
</member>
</members>
<constants>
<constant name="PRIMITIVE_POINTS" value="0" enum="PrimitiveType">
Render array as points (one vertex equals one point).
</constant>
<constant name="PRIMITIVE_LINES" value="1" enum="PrimitiveType">
Render array as lines (every two vertices a line is created).
</constant>
<constant name="PRIMITIVE_LINE_STRIP" value="2" enum="PrimitiveType">
Render array as line strip.
</constant>
<constant name="PRIMITIVE_LINE_LOOP" value="3" enum="PrimitiveType">
Render array as line loop (like line strip, but closed).
</constant>
<constant name="PRIMITIVE_TRIANGLES" value="4" enum="PrimitiveType">
Render array as triangles (every three vertices a triangle is created).
</constant>
<constant name="PRIMITIVE_TRIANGLE_STRIP" value="5" enum="PrimitiveType">
Render array as triangle strips.
</constant>
<constant name="PRIMITIVE_TRIANGLE_FAN" value="6" enum="PrimitiveType">
Render array as triangle fans.
</constant>
<constant name="BLEND_SHAPE_MODE_NORMALIZED" value="0" enum="BlendShapeMode">
</constant>
<constant name="BLEND_SHAPE_MODE_RELATIVE" value="1" enum="BlendShapeMode">
</constant>
<constant name="ARRAY_FORMAT_VERTEX" value="1" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FORMAT_NORMAL" value="2" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FORMAT_TANGENT" value="4" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FORMAT_COLOR" value="8" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FORMAT_TEX_UV" value="16" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FORMAT_TEX_UV2" value="32" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FORMAT_BONES" value="64" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FORMAT_WEIGHTS" value="128" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FORMAT_INDEX" value="256" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_BASE" value="9" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_VERTEX" value="512" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_NORMAL" value="1024" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_TANGENT" value="2048" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_COLOR" value="4096" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_TEX_UV" value="8192" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_TEX_UV2" value="16384" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_BONES" value="32768" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_WEIGHTS" value="65536" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_INDEX" value="131072" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FLAG_USE_2D_VERTICES" value="262144" enum="ArrayFormat">
</constant>
<constant name="ARRAY_FLAG_USE_16_BIT_BONES" value="524288" enum="ArrayFormat">
</constant>
<constant name="ARRAY_COMPRESS_DEFAULT" value="97280" enum="ArrayFormat">
</constant>
<constant name="ARRAY_VERTEX" value="0" enum="ArrayType">
Array of vertices.
</constant>
<constant name="ARRAY_NORMAL" value="1" enum="ArrayType">
Array of normals.
</constant>
<constant name="ARRAY_TANGENT" value="2" enum="ArrayType">
Array of tangents as an array of floats, 4 floats per tangent.
</constant>
<constant name="ARRAY_COLOR" value="3" enum="ArrayType">
Array of colors.
</constant>
<constant name="ARRAY_TEX_UV" value="4" enum="ArrayType">
Array of UV coordinates.
</constant>
<constant name="ARRAY_TEX_UV2" value="5" enum="ArrayType">
Array of second set of UV coordinates.
</constant>
<constant name="ARRAY_BONES" value="6" enum="ArrayType">
Array of bone data.
</constant>
<constant name="ARRAY_WEIGHTS" value="7" enum="ArrayType">
Array of weights.
</constant>
<constant name="ARRAY_INDEX" value="8" enum="ArrayType">
Array of indices.
</constant>
<constant name="ARRAY_MAX" value="9" enum="ArrayType">
</constant>
</constants>
</class>