class_gltfmesh.rst 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/4.3/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.3/modules/gltf/doc_classes/GLTFMesh.xml.
  6. .. _class_GLTFMesh:
  7. GLTFMesh
  8. ========
  9. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. GLTFMesh represents a GLTF mesh.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. GLTFMesh handles 3D mesh data imported from GLTF files. It includes properties for blend channels, blend weights, instance materials, and the mesh itself.
  15. .. rst-class:: classref-introduction-group
  16. Tutorials
  17. ---------
  18. - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>`
  19. .. rst-class:: classref-reftable-group
  20. Properties
  21. ----------
  22. .. table::
  23. :widths: auto
  24. +--------------------------------------------------------------+-----------------------------------------------------------------------+--------------------------+
  25. | :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`blend_weights<class_GLTFMesh_property_blend_weights>` | ``PackedFloat32Array()`` |
  26. +--------------------------------------------------------------+-----------------------------------------------------------------------+--------------------------+
  27. | :ref:`Array<class_Array>`\[:ref:`Material<class_Material>`\] | :ref:`instance_materials<class_GLTFMesh_property_instance_materials>` | ``[]`` |
  28. +--------------------------------------------------------------+-----------------------------------------------------------------------+--------------------------+
  29. | :ref:`ImporterMesh<class_ImporterMesh>` | :ref:`mesh<class_GLTFMesh_property_mesh>` | |
  30. +--------------------------------------------------------------+-----------------------------------------------------------------------+--------------------------+
  31. | :ref:`String<class_String>` | :ref:`original_name<class_GLTFMesh_property_original_name>` | ``""`` |
  32. +--------------------------------------------------------------+-----------------------------------------------------------------------+--------------------------+
  33. .. rst-class:: classref-reftable-group
  34. Methods
  35. -------
  36. .. table::
  37. :widths: auto
  38. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | :ref:`Variant<class_Variant>` | :ref:`get_additional_data<class_GLTFMesh_method_get_additional_data>`\ (\ extension_name\: :ref:`StringName<class_StringName>`\ ) |
  40. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | |void| | :ref:`set_additional_data<class_GLTFMesh_method_set_additional_data>`\ (\ extension_name\: :ref:`StringName<class_StringName>`, additional_data\: :ref:`Variant<class_Variant>`\ ) |
  42. +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. .. rst-class:: classref-section-separator
  44. ----
  45. .. rst-class:: classref-descriptions-group
  46. Property Descriptions
  47. ---------------------
  48. .. _class_GLTFMesh_property_blend_weights:
  49. .. rst-class:: classref-property
  50. :ref:`PackedFloat32Array<class_PackedFloat32Array>` **blend_weights** = ``PackedFloat32Array()`` :ref:`🔗<class_GLTFMesh_property_blend_weights>`
  51. .. rst-class:: classref-property-setget
  52. - |void| **set_blend_weights**\ (\ value\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ )
  53. - :ref:`PackedFloat32Array<class_PackedFloat32Array>` **get_blend_weights**\ (\ )
  54. An array of floats representing the blend weights of the mesh.
  55. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat32Array<class_PackedFloat32Array>` for more details.
  56. .. rst-class:: classref-item-separator
  57. ----
  58. .. _class_GLTFMesh_property_instance_materials:
  59. .. rst-class:: classref-property
  60. :ref:`Array<class_Array>`\[:ref:`Material<class_Material>`\] **instance_materials** = ``[]`` :ref:`🔗<class_GLTFMesh_property_instance_materials>`
  61. .. rst-class:: classref-property-setget
  62. - |void| **set_instance_materials**\ (\ value\: :ref:`Array<class_Array>`\[:ref:`Material<class_Material>`\]\ )
  63. - :ref:`Array<class_Array>`\[:ref:`Material<class_Material>`\] **get_instance_materials**\ (\ )
  64. An array of Material objects representing the materials used in the mesh.
  65. .. rst-class:: classref-item-separator
  66. ----
  67. .. _class_GLTFMesh_property_mesh:
  68. .. rst-class:: classref-property
  69. :ref:`ImporterMesh<class_ImporterMesh>` **mesh** :ref:`🔗<class_GLTFMesh_property_mesh>`
  70. .. rst-class:: classref-property-setget
  71. - |void| **set_mesh**\ (\ value\: :ref:`ImporterMesh<class_ImporterMesh>`\ )
  72. - :ref:`ImporterMesh<class_ImporterMesh>` **get_mesh**\ (\ )
  73. The :ref:`ImporterMesh<class_ImporterMesh>` object representing the mesh itself.
  74. .. rst-class:: classref-item-separator
  75. ----
  76. .. _class_GLTFMesh_property_original_name:
  77. .. rst-class:: classref-property
  78. :ref:`String<class_String>` **original_name** = ``""`` :ref:`🔗<class_GLTFMesh_property_original_name>`
  79. .. rst-class:: classref-property-setget
  80. - |void| **set_original_name**\ (\ value\: :ref:`String<class_String>`\ )
  81. - :ref:`String<class_String>` **get_original_name**\ (\ )
  82. The original name of the mesh.
  83. .. rst-class:: classref-section-separator
  84. ----
  85. .. rst-class:: classref-descriptions-group
  86. Method Descriptions
  87. -------------------
  88. .. _class_GLTFMesh_method_get_additional_data:
  89. .. rst-class:: classref-method
  90. :ref:`Variant<class_Variant>` **get_additional_data**\ (\ extension_name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GLTFMesh_method_get_additional_data>`
  91. Gets additional arbitrary data in this **GLTFMesh** instance. This can be used to keep per-node state data in :ref:`GLTFDocumentExtension<class_GLTFDocumentExtension>` classes, which is important because they are stateless.
  92. The argument should be the :ref:`GLTFDocumentExtension<class_GLTFDocumentExtension>` name (does not have to match the extension name in the GLTF file), and the return value can be anything you set. If nothing was set, the return value is null.
  93. .. rst-class:: classref-item-separator
  94. ----
  95. .. _class_GLTFMesh_method_set_additional_data:
  96. .. rst-class:: classref-method
  97. |void| **set_additional_data**\ (\ extension_name\: :ref:`StringName<class_StringName>`, additional_data\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_GLTFMesh_method_set_additional_data>`
  98. Sets additional arbitrary data in this **GLTFMesh** instance. This can be used to keep per-node state data in :ref:`GLTFDocumentExtension<class_GLTFDocumentExtension>` classes, which is important because they are stateless.
  99. The first argument should be the :ref:`GLTFDocumentExtension<class_GLTFDocumentExtension>` name (does not have to match the extension name in the GLTF file), and the second argument can be anything you want.
  100. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  101. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  102. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  103. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  104. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  105. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  106. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  107. .. |void| replace:: :abbr:`void (No return value.)`