class_gltfstate.rst 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883
  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.1/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.1/modules/gltf/doc_classes/GLTFState.xml.
  6. .. _class_GLTFState:
  7. GLTFState
  8. =========
  9. **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Represents all data of a GLTF file.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Contains all nodes and resources of a GLTF file. This is used by :ref:`GLTFDocument<class_GLTFDocument>` as data storage, which allows :ref:`GLTFDocument<class_GLTFDocument>` and all :ref:`GLTFDocumentExtension<class_GLTFDocumentExtension>` classes to remain stateless.
  15. GLTFState can be populated by :ref:`GLTFDocument<class_GLTFDocument>` reading a file or by converting a Godot scene. Then the data can either be used to create a Godot scene or save to a GLTF file. The code that converts to/from a Godot scene can be intercepted at arbitrary points by :ref:`GLTFDocumentExtension<class_GLTFDocumentExtension>` classes. This allows for custom data to be stored in the GLTF file or for custom data to be converted to/from Godot nodes.
  16. .. rst-class:: classref-reftable-group
  17. Properties
  18. ----------
  19. .. table::
  20. :widths: auto
  21. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  22. | :ref:`String<class_String>` | :ref:`base_path<class_GLTFState_property_base_path>` | ``""`` |
  23. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  24. | :ref:`PackedByteArray[]<class_PackedByteArray>` | :ref:`buffers<class_GLTFState_property_buffers>` | ``[]`` |
  25. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  26. | :ref:`bool<class_bool>` | :ref:`create_animations<class_GLTFState_property_create_animations>` | ``true`` |
  27. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  28. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`glb_data<class_GLTFState_property_glb_data>` | ``PackedByteArray()`` |
  29. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  30. | :ref:`Dictionary<class_Dictionary>` | :ref:`json<class_GLTFState_property_json>` | ``{}`` |
  31. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  32. | :ref:`int<class_int>` | :ref:`major_version<class_GLTFState_property_major_version>` | ``0`` |
  33. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  34. | :ref:`int<class_int>` | :ref:`minor_version<class_GLTFState_property_minor_version>` | ``0`` |
  35. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  36. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`root_nodes<class_GLTFState_property_root_nodes>` | ``PackedInt32Array()`` |
  37. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  38. | :ref:`String<class_String>` | :ref:`scene_name<class_GLTFState_property_scene_name>` | ``""`` |
  39. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  40. | :ref:`bool<class_bool>` | :ref:`use_named_skin_binds<class_GLTFState_property_use_named_skin_binds>` | ``false`` |
  41. +-------------------------------------------------+----------------------------------------------------------------------------+------------------------+
  42. .. rst-class:: classref-reftable-group
  43. Methods
  44. -------
  45. .. table::
  46. :widths: auto
  47. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | void | :ref:`add_used_extension<class_GLTFState_method_add_used_extension>` **(** :ref:`String<class_String>` extension_name, :ref:`bool<class_bool>` required **)** |
  49. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`GLTFAccessor[]<class_GLTFAccessor>` | :ref:`get_accessors<class_GLTFState_method_get_accessors>` **(** **)** |
  51. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`Variant<class_Variant>` | :ref:`get_additional_data<class_GLTFState_method_get_additional_data>` **(** :ref:`StringName<class_StringName>` extension_name **)** |
  53. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | :ref:`AnimationPlayer<class_AnimationPlayer>` | :ref:`get_animation_player<class_GLTFState_method_get_animation_player>` **(** :ref:`int<class_int>` idx **)** |
  55. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | :ref:`int<class_int>` | :ref:`get_animation_players_count<class_GLTFState_method_get_animation_players_count>` **(** :ref:`int<class_int>` idx **)** |
  57. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | :ref:`GLTFAnimation[]<class_GLTFAnimation>` | :ref:`get_animations<class_GLTFState_method_get_animations>` **(** **)** |
  59. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | :ref:`GLTFBufferView[]<class_GLTFBufferView>` | :ref:`get_buffer_views<class_GLTFState_method_get_buffer_views>` **(** **)** |
  61. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | :ref:`GLTFCamera[]<class_GLTFCamera>` | :ref:`get_cameras<class_GLTFState_method_get_cameras>` **(** **)** |
  63. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | :ref:`int<class_int>` | :ref:`get_handle_binary_image<class_GLTFState_method_get_handle_binary_image>` **(** **)** |
  65. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | :ref:`Texture2D[]<class_Texture2D>` | :ref:`get_images<class_GLTFState_method_get_images>` **(** **)** |
  67. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | :ref:`GLTFLight[]<class_GLTFLight>` | :ref:`get_lights<class_GLTFState_method_get_lights>` **(** **)** |
  69. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | :ref:`Material[]<class_Material>` | :ref:`get_materials<class_GLTFState_method_get_materials>` **(** **)** |
  71. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | :ref:`GLTFMesh[]<class_GLTFMesh>` | :ref:`get_meshes<class_GLTFState_method_get_meshes>` **(** **)** |
  73. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. | :ref:`int<class_int>` | :ref:`get_node_index<class_GLTFState_method_get_node_index>` **(** :ref:`Node<class_Node>` scene_node **)** |
  75. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  76. | :ref:`GLTFNode[]<class_GLTFNode>` | :ref:`get_nodes<class_GLTFState_method_get_nodes>` **(** **)** |
  77. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  78. | :ref:`Node<class_Node>` | :ref:`get_scene_node<class_GLTFState_method_get_scene_node>` **(** :ref:`int<class_int>` idx **)** |
  79. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  80. | :ref:`GLTFSkeleton[]<class_GLTFSkeleton>` | :ref:`get_skeletons<class_GLTFState_method_get_skeletons>` **(** **)** |
  81. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  82. | :ref:`GLTFSkin[]<class_GLTFSkin>` | :ref:`get_skins<class_GLTFState_method_get_skins>` **(** **)** |
  83. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  84. | :ref:`GLTFTextureSampler[]<class_GLTFTextureSampler>` | :ref:`get_texture_samplers<class_GLTFState_method_get_texture_samplers>` **(** **)** |
  85. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  86. | :ref:`GLTFTexture[]<class_GLTFTexture>` | :ref:`get_textures<class_GLTFState_method_get_textures>` **(** **)** |
  87. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  88. | :ref:`String[]<class_String>` | :ref:`get_unique_animation_names<class_GLTFState_method_get_unique_animation_names>` **(** **)** |
  89. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  90. | :ref:`String[]<class_String>` | :ref:`get_unique_names<class_GLTFState_method_get_unique_names>` **(** **)** |
  91. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  92. | void | :ref:`set_accessors<class_GLTFState_method_set_accessors>` **(** :ref:`GLTFAccessor[]<class_GLTFAccessor>` accessors **)** |
  93. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  94. | void | :ref:`set_additional_data<class_GLTFState_method_set_additional_data>` **(** :ref:`StringName<class_StringName>` extension_name, :ref:`Variant<class_Variant>` additional_data **)** |
  95. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  96. | void | :ref:`set_animations<class_GLTFState_method_set_animations>` **(** :ref:`GLTFAnimation[]<class_GLTFAnimation>` animations **)** |
  97. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  98. | void | :ref:`set_buffer_views<class_GLTFState_method_set_buffer_views>` **(** :ref:`GLTFBufferView[]<class_GLTFBufferView>` buffer_views **)** |
  99. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  100. | void | :ref:`set_cameras<class_GLTFState_method_set_cameras>` **(** :ref:`GLTFCamera[]<class_GLTFCamera>` cameras **)** |
  101. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  102. | void | :ref:`set_handle_binary_image<class_GLTFState_method_set_handle_binary_image>` **(** :ref:`int<class_int>` method **)** |
  103. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  104. | void | :ref:`set_images<class_GLTFState_method_set_images>` **(** :ref:`Texture2D[]<class_Texture2D>` images **)** |
  105. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  106. | void | :ref:`set_lights<class_GLTFState_method_set_lights>` **(** :ref:`GLTFLight[]<class_GLTFLight>` lights **)** |
  107. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  108. | void | :ref:`set_materials<class_GLTFState_method_set_materials>` **(** :ref:`Material[]<class_Material>` materials **)** |
  109. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  110. | void | :ref:`set_meshes<class_GLTFState_method_set_meshes>` **(** :ref:`GLTFMesh[]<class_GLTFMesh>` meshes **)** |
  111. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  112. | void | :ref:`set_nodes<class_GLTFState_method_set_nodes>` **(** :ref:`GLTFNode[]<class_GLTFNode>` nodes **)** |
  113. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  114. | void | :ref:`set_skeletons<class_GLTFState_method_set_skeletons>` **(** :ref:`GLTFSkeleton[]<class_GLTFSkeleton>` skeletons **)** |
  115. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  116. | void | :ref:`set_skins<class_GLTFState_method_set_skins>` **(** :ref:`GLTFSkin[]<class_GLTFSkin>` skins **)** |
  117. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  118. | void | :ref:`set_texture_samplers<class_GLTFState_method_set_texture_samplers>` **(** :ref:`GLTFTextureSampler[]<class_GLTFTextureSampler>` texture_samplers **)** |
  119. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  120. | void | :ref:`set_textures<class_GLTFState_method_set_textures>` **(** :ref:`GLTFTexture[]<class_GLTFTexture>` textures **)** |
  121. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  122. | void | :ref:`set_unique_animation_names<class_GLTFState_method_set_unique_animation_names>` **(** :ref:`String[]<class_String>` unique_animation_names **)** |
  123. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  124. | void | :ref:`set_unique_names<class_GLTFState_method_set_unique_names>` **(** :ref:`String[]<class_String>` unique_names **)** |
  125. +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  126. .. rst-class:: classref-section-separator
  127. ----
  128. .. rst-class:: classref-descriptions-group
  129. Constants
  130. ---------
  131. .. _class_GLTFState_constant_HANDLE_BINARY_DISCARD_TEXTURES:
  132. .. rst-class:: classref-constant
  133. **HANDLE_BINARY_DISCARD_TEXTURES** = ``0``
  134. Discards all embedded textures and uses untextured materials.
  135. .. _class_GLTFState_constant_HANDLE_BINARY_EXTRACT_TEXTURES:
  136. .. rst-class:: classref-constant
  137. **HANDLE_BINARY_EXTRACT_TEXTURES** = ``1``
  138. Extracts embedded textures to be reimported and compressed. Editor only. Acts as uncompressed at runtime.
  139. .. _class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_BASISU:
  140. .. rst-class:: classref-constant
  141. **HANDLE_BINARY_EMBED_AS_BASISU** = ``2``
  142. Embeds textures VRAM compressed with Basis Universal into the generated scene.
  143. .. _class_GLTFState_constant_HANDLE_BINARY_EMBED_AS_UNCOMPRESSED:
  144. .. rst-class:: classref-constant
  145. **HANDLE_BINARY_EMBED_AS_UNCOMPRESSED** = ``3``
  146. Embeds textures compressed losslessly into the generated scene, matching old behavior.
  147. .. rst-class:: classref-section-separator
  148. ----
  149. .. rst-class:: classref-descriptions-group
  150. Property Descriptions
  151. ---------------------
  152. .. _class_GLTFState_property_base_path:
  153. .. rst-class:: classref-property
  154. :ref:`String<class_String>` **base_path** = ``""``
  155. .. rst-class:: classref-property-setget
  156. - void **set_base_path** **(** :ref:`String<class_String>` value **)**
  157. - :ref:`String<class_String>` **get_base_path** **(** **)**
  158. .. container:: contribute
  159. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  160. .. rst-class:: classref-item-separator
  161. ----
  162. .. _class_GLTFState_property_buffers:
  163. .. rst-class:: classref-property
  164. :ref:`PackedByteArray[]<class_PackedByteArray>` **buffers** = ``[]``
  165. .. rst-class:: classref-property-setget
  166. - void **set_buffers** **(** :ref:`PackedByteArray[]<class_PackedByteArray>` value **)**
  167. - :ref:`PackedByteArray[]<class_PackedByteArray>` **get_buffers** **(** **)**
  168. .. container:: contribute
  169. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  170. .. rst-class:: classref-item-separator
  171. ----
  172. .. _class_GLTFState_property_create_animations:
  173. .. rst-class:: classref-property
  174. :ref:`bool<class_bool>` **create_animations** = ``true``
  175. .. rst-class:: classref-property-setget
  176. - void **set_create_animations** **(** :ref:`bool<class_bool>` value **)**
  177. - :ref:`bool<class_bool>` **get_create_animations** **(** **)**
  178. .. container:: contribute
  179. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  180. .. rst-class:: classref-item-separator
  181. ----
  182. .. _class_GLTFState_property_glb_data:
  183. .. rst-class:: classref-property
  184. :ref:`PackedByteArray<class_PackedByteArray>` **glb_data** = ``PackedByteArray()``
  185. .. rst-class:: classref-property-setget
  186. - void **set_glb_data** **(** :ref:`PackedByteArray<class_PackedByteArray>` value **)**
  187. - :ref:`PackedByteArray<class_PackedByteArray>` **get_glb_data** **(** **)**
  188. .. container:: contribute
  189. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  190. .. rst-class:: classref-item-separator
  191. ----
  192. .. _class_GLTFState_property_json:
  193. .. rst-class:: classref-property
  194. :ref:`Dictionary<class_Dictionary>` **json** = ``{}``
  195. .. rst-class:: classref-property-setget
  196. - void **set_json** **(** :ref:`Dictionary<class_Dictionary>` value **)**
  197. - :ref:`Dictionary<class_Dictionary>` **get_json** **(** **)**
  198. .. container:: contribute
  199. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  200. .. rst-class:: classref-item-separator
  201. ----
  202. .. _class_GLTFState_property_major_version:
  203. .. rst-class:: classref-property
  204. :ref:`int<class_int>` **major_version** = ``0``
  205. .. rst-class:: classref-property-setget
  206. - void **set_major_version** **(** :ref:`int<class_int>` value **)**
  207. - :ref:`int<class_int>` **get_major_version** **(** **)**
  208. .. container:: contribute
  209. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  210. .. rst-class:: classref-item-separator
  211. ----
  212. .. _class_GLTFState_property_minor_version:
  213. .. rst-class:: classref-property
  214. :ref:`int<class_int>` **minor_version** = ``0``
  215. .. rst-class:: classref-property-setget
  216. - void **set_minor_version** **(** :ref:`int<class_int>` value **)**
  217. - :ref:`int<class_int>` **get_minor_version** **(** **)**
  218. .. container:: contribute
  219. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  220. .. rst-class:: classref-item-separator
  221. ----
  222. .. _class_GLTFState_property_root_nodes:
  223. .. rst-class:: classref-property
  224. :ref:`PackedInt32Array<class_PackedInt32Array>` **root_nodes** = ``PackedInt32Array()``
  225. .. rst-class:: classref-property-setget
  226. - void **set_root_nodes** **(** :ref:`PackedInt32Array<class_PackedInt32Array>` value **)**
  227. - :ref:`PackedInt32Array<class_PackedInt32Array>` **get_root_nodes** **(** **)**
  228. The root nodes of the GLTF file. Typically, a GLTF file will only have one scene, and therefore one root node. However, a GLTF file may have multiple scenes and therefore multiple root nodes, which will be generated as siblings of each other and as children of the root node of the generated Godot scene.
  229. .. rst-class:: classref-item-separator
  230. ----
  231. .. _class_GLTFState_property_scene_name:
  232. .. rst-class:: classref-property
  233. :ref:`String<class_String>` **scene_name** = ``""``
  234. .. rst-class:: classref-property-setget
  235. - void **set_scene_name** **(** :ref:`String<class_String>` value **)**
  236. - :ref:`String<class_String>` **get_scene_name** **(** **)**
  237. The name of the scene. When importing, if not specified, this will be the file name. When exporting, if specified, the scene name will be saved to the GLTF file.
  238. .. rst-class:: classref-item-separator
  239. ----
  240. .. _class_GLTFState_property_use_named_skin_binds:
  241. .. rst-class:: classref-property
  242. :ref:`bool<class_bool>` **use_named_skin_binds** = ``false``
  243. .. rst-class:: classref-property-setget
  244. - void **set_use_named_skin_binds** **(** :ref:`bool<class_bool>` value **)**
  245. - :ref:`bool<class_bool>` **get_use_named_skin_binds** **(** **)**
  246. .. container:: contribute
  247. There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  248. .. rst-class:: classref-section-separator
  249. ----
  250. .. rst-class:: classref-descriptions-group
  251. Method Descriptions
  252. -------------------
  253. .. _class_GLTFState_method_add_used_extension:
  254. .. rst-class:: classref-method
  255. void **add_used_extension** **(** :ref:`String<class_String>` extension_name, :ref:`bool<class_bool>` required **)**
  256. Appends an extension to the list of extensions used by this GLTF file during serialization. If ``required`` is true, the extension will also be added to the list of required extensions. Do not run this in :ref:`GLTFDocumentExtension._export_post<class_GLTFDocumentExtension_method__export_post>`, as that stage is too late to add extensions. The final list is sorted alphabetically.
  257. .. rst-class:: classref-item-separator
  258. ----
  259. .. _class_GLTFState_method_get_accessors:
  260. .. rst-class:: classref-method
  261. :ref:`GLTFAccessor[]<class_GLTFAccessor>` **get_accessors** **(** **)**
  262. .. container:: contribute
  263. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  264. .. rst-class:: classref-item-separator
  265. ----
  266. .. _class_GLTFState_method_get_additional_data:
  267. .. rst-class:: classref-method
  268. :ref:`Variant<class_Variant>` **get_additional_data** **(** :ref:`StringName<class_StringName>` extension_name **)**
  269. Gets additional arbitrary data in this **GLTFState** instance. This can be used to keep per-file state data in :ref:`GLTFDocumentExtension<class_GLTFDocumentExtension>` classes, which is important because they are stateless.
  270. 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.
  271. .. rst-class:: classref-item-separator
  272. ----
  273. .. _class_GLTFState_method_get_animation_player:
  274. .. rst-class:: classref-method
  275. :ref:`AnimationPlayer<class_AnimationPlayer>` **get_animation_player** **(** :ref:`int<class_int>` idx **)**
  276. Returns the :ref:`AnimationPlayer<class_AnimationPlayer>` node with the given index. These nodes are only used during the export process when converting Godot :ref:`AnimationPlayer<class_AnimationPlayer>` nodes to GLTF animations.
  277. .. rst-class:: classref-item-separator
  278. ----
  279. .. _class_GLTFState_method_get_animation_players_count:
  280. .. rst-class:: classref-method
  281. :ref:`int<class_int>` **get_animation_players_count** **(** :ref:`int<class_int>` idx **)**
  282. Returns the number of :ref:`AnimationPlayer<class_AnimationPlayer>` nodes in this **GLTFState**. These nodes are only used during the export process when converting Godot :ref:`AnimationPlayer<class_AnimationPlayer>` nodes to GLTF animations.
  283. .. rst-class:: classref-item-separator
  284. ----
  285. .. _class_GLTFState_method_get_animations:
  286. .. rst-class:: classref-method
  287. :ref:`GLTFAnimation[]<class_GLTFAnimation>` **get_animations** **(** **)**
  288. Returns an array of all :ref:`GLTFAnimation<class_GLTFAnimation>`\ s in the GLTF file. When importing, these will be generated as animations in an :ref:`AnimationPlayer<class_AnimationPlayer>` node. When exporting, these will be generated from Godot :ref:`AnimationPlayer<class_AnimationPlayer>` nodes.
  289. .. rst-class:: classref-item-separator
  290. ----
  291. .. _class_GLTFState_method_get_buffer_views:
  292. .. rst-class:: classref-method
  293. :ref:`GLTFBufferView[]<class_GLTFBufferView>` **get_buffer_views** **(** **)**
  294. .. container:: contribute
  295. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  296. .. rst-class:: classref-item-separator
  297. ----
  298. .. _class_GLTFState_method_get_cameras:
  299. .. rst-class:: classref-method
  300. :ref:`GLTFCamera[]<class_GLTFCamera>` **get_cameras** **(** **)**
  301. Returns an array of all :ref:`GLTFCamera<class_GLTFCamera>`\ s in the GLTF file. These are the cameras that the :ref:`GLTFNode.camera<class_GLTFNode_property_camera>` index refers to.
  302. .. rst-class:: classref-item-separator
  303. ----
  304. .. _class_GLTFState_method_get_handle_binary_image:
  305. .. rst-class:: classref-method
  306. :ref:`int<class_int>` **get_handle_binary_image** **(** **)**
  307. .. container:: contribute
  308. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  309. .. rst-class:: classref-item-separator
  310. ----
  311. .. _class_GLTFState_method_get_images:
  312. .. rst-class:: classref-method
  313. :ref:`Texture2D[]<class_Texture2D>` **get_images** **(** **)**
  314. Gets the images of the GLTF file as an array of :ref:`Texture2D<class_Texture2D>`\ s. These are the images that the :ref:`GLTFTexture.src_image<class_GLTFTexture_property_src_image>` index refers to.
  315. .. rst-class:: classref-item-separator
  316. ----
  317. .. _class_GLTFState_method_get_lights:
  318. .. rst-class:: classref-method
  319. :ref:`GLTFLight[]<class_GLTFLight>` **get_lights** **(** **)**
  320. Returns an array of all :ref:`GLTFLight<class_GLTFLight>`\ s in the GLTF file. These are the lights that the :ref:`GLTFNode.light<class_GLTFNode_property_light>` index refers to.
  321. .. rst-class:: classref-item-separator
  322. ----
  323. .. _class_GLTFState_method_get_materials:
  324. .. rst-class:: classref-method
  325. :ref:`Material[]<class_Material>` **get_materials** **(** **)**
  326. .. container:: contribute
  327. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  328. .. rst-class:: classref-item-separator
  329. ----
  330. .. _class_GLTFState_method_get_meshes:
  331. .. rst-class:: classref-method
  332. :ref:`GLTFMesh[]<class_GLTFMesh>` **get_meshes** **(** **)**
  333. Returns an array of all :ref:`GLTFMesh<class_GLTFMesh>`\ es in the GLTF file. These are the meshes that the :ref:`GLTFNode.mesh<class_GLTFNode_property_mesh>` index refers to.
  334. .. rst-class:: classref-item-separator
  335. ----
  336. .. _class_GLTFState_method_get_node_index:
  337. .. rst-class:: classref-method
  338. :ref:`int<class_int>` **get_node_index** **(** :ref:`Node<class_Node>` scene_node **)**
  339. Returns the index of the :ref:`GLTFNode<class_GLTFNode>` corresponding to this Godot scene node. This is the inverse of :ref:`get_scene_node<class_GLTFState_method_get_scene_node>`. Useful during the export process.
  340. \ **Note:** Not every Godot scene node will have a corresponding :ref:`GLTFNode<class_GLTFNode>`, and not every :ref:`GLTFNode<class_GLTFNode>` will have a scene node generated. If there is no :ref:`GLTFNode<class_GLTFNode>` index for this scene node, ``-1`` is returned.
  341. .. rst-class:: classref-item-separator
  342. ----
  343. .. _class_GLTFState_method_get_nodes:
  344. .. rst-class:: classref-method
  345. :ref:`GLTFNode[]<class_GLTFNode>` **get_nodes** **(** **)**
  346. Returns an array of all :ref:`GLTFNode<class_GLTFNode>`\ s in the GLTF file. These are the nodes that :ref:`GLTFNode.children<class_GLTFNode_property_children>` and :ref:`root_nodes<class_GLTFState_property_root_nodes>` refer to. This includes nodes that may not be generated in the Godot scene, or nodes that may generate multiple Godot scene nodes.
  347. .. rst-class:: classref-item-separator
  348. ----
  349. .. _class_GLTFState_method_get_scene_node:
  350. .. rst-class:: classref-method
  351. :ref:`Node<class_Node>` **get_scene_node** **(** :ref:`int<class_int>` idx **)**
  352. Returns the Godot scene node that corresponds to the same index as the :ref:`GLTFNode<class_GLTFNode>` it was generated from. This is the inverse of :ref:`get_node_index<class_GLTFState_method_get_node_index>`. Useful during the import process.
  353. \ **Note:** Not every :ref:`GLTFNode<class_GLTFNode>` will have a scene node generated, and not every generated scene node will have a corresponding :ref:`GLTFNode<class_GLTFNode>`. If there is no scene node for this :ref:`GLTFNode<class_GLTFNode>` index, ``null`` is returned.
  354. .. rst-class:: classref-item-separator
  355. ----
  356. .. _class_GLTFState_method_get_skeletons:
  357. .. rst-class:: classref-method
  358. :ref:`GLTFSkeleton[]<class_GLTFSkeleton>` **get_skeletons** **(** **)**
  359. Returns an array of all :ref:`GLTFSkeleton<class_GLTFSkeleton>`\ s in the GLTF file. These are the skeletons that the :ref:`GLTFNode.skeleton<class_GLTFNode_property_skeleton>` index refers to.
  360. .. rst-class:: classref-item-separator
  361. ----
  362. .. _class_GLTFState_method_get_skins:
  363. .. rst-class:: classref-method
  364. :ref:`GLTFSkin[]<class_GLTFSkin>` **get_skins** **(** **)**
  365. Returns an array of all :ref:`GLTFSkin<class_GLTFSkin>`\ s in the GLTF file. These are the skins that the :ref:`GLTFNode.skin<class_GLTFNode_property_skin>` index refers to.
  366. .. rst-class:: classref-item-separator
  367. ----
  368. .. _class_GLTFState_method_get_texture_samplers:
  369. .. rst-class:: classref-method
  370. :ref:`GLTFTextureSampler[]<class_GLTFTextureSampler>` **get_texture_samplers** **(** **)**
  371. Retrieves the array of texture samplers that are used by the textures contained in the GLTF.
  372. .. rst-class:: classref-item-separator
  373. ----
  374. .. _class_GLTFState_method_get_textures:
  375. .. rst-class:: classref-method
  376. :ref:`GLTFTexture[]<class_GLTFTexture>` **get_textures** **(** **)**
  377. .. container:: contribute
  378. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  379. .. rst-class:: classref-item-separator
  380. ----
  381. .. _class_GLTFState_method_get_unique_animation_names:
  382. .. rst-class:: classref-method
  383. :ref:`String[]<class_String>` **get_unique_animation_names** **(** **)**
  384. Returns an array of unique animation names. This is only used during the import process.
  385. .. rst-class:: classref-item-separator
  386. ----
  387. .. _class_GLTFState_method_get_unique_names:
  388. .. rst-class:: classref-method
  389. :ref:`String[]<class_String>` **get_unique_names** **(** **)**
  390. Returns an array of unique node names. This is used in both the import process and export process.
  391. .. rst-class:: classref-item-separator
  392. ----
  393. .. _class_GLTFState_method_set_accessors:
  394. .. rst-class:: classref-method
  395. void **set_accessors** **(** :ref:`GLTFAccessor[]<class_GLTFAccessor>` accessors **)**
  396. .. container:: contribute
  397. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  398. .. rst-class:: classref-item-separator
  399. ----
  400. .. _class_GLTFState_method_set_additional_data:
  401. .. rst-class:: classref-method
  402. void **set_additional_data** **(** :ref:`StringName<class_StringName>` extension_name, :ref:`Variant<class_Variant>` additional_data **)**
  403. Sets additional arbitrary data in this **GLTFState** instance. This can be used to keep per-file state data in :ref:`GLTFDocumentExtension<class_GLTFDocumentExtension>` classes, which is important because they are stateless.
  404. 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.
  405. .. rst-class:: classref-item-separator
  406. ----
  407. .. _class_GLTFState_method_set_animations:
  408. .. rst-class:: classref-method
  409. void **set_animations** **(** :ref:`GLTFAnimation[]<class_GLTFAnimation>` animations **)**
  410. Sets the :ref:`GLTFAnimation<class_GLTFAnimation>`\ s in the state. When importing, these will be generated as animations in an :ref:`AnimationPlayer<class_AnimationPlayer>` node. When exporting, these will be generated from Godot :ref:`AnimationPlayer<class_AnimationPlayer>` nodes.
  411. .. rst-class:: classref-item-separator
  412. ----
  413. .. _class_GLTFState_method_set_buffer_views:
  414. .. rst-class:: classref-method
  415. void **set_buffer_views** **(** :ref:`GLTFBufferView[]<class_GLTFBufferView>` buffer_views **)**
  416. .. container:: contribute
  417. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  418. .. rst-class:: classref-item-separator
  419. ----
  420. .. _class_GLTFState_method_set_cameras:
  421. .. rst-class:: classref-method
  422. void **set_cameras** **(** :ref:`GLTFCamera[]<class_GLTFCamera>` cameras **)**
  423. Sets the :ref:`GLTFCamera<class_GLTFCamera>`\ s in the state. These are the cameras that the :ref:`GLTFNode.camera<class_GLTFNode_property_camera>` index refers to.
  424. .. rst-class:: classref-item-separator
  425. ----
  426. .. _class_GLTFState_method_set_handle_binary_image:
  427. .. rst-class:: classref-method
  428. void **set_handle_binary_image** **(** :ref:`int<class_int>` method **)**
  429. .. container:: contribute
  430. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  431. .. rst-class:: classref-item-separator
  432. ----
  433. .. _class_GLTFState_method_set_images:
  434. .. rst-class:: classref-method
  435. void **set_images** **(** :ref:`Texture2D[]<class_Texture2D>` images **)**
  436. Sets the images in the state stored as an array of :ref:`Texture2D<class_Texture2D>`\ s. This can be used during export. These are the images that the :ref:`GLTFTexture.src_image<class_GLTFTexture_property_src_image>` index refers to.
  437. .. rst-class:: classref-item-separator
  438. ----
  439. .. _class_GLTFState_method_set_lights:
  440. .. rst-class:: classref-method
  441. void **set_lights** **(** :ref:`GLTFLight[]<class_GLTFLight>` lights **)**
  442. Sets the :ref:`GLTFLight<class_GLTFLight>`\ s in the state. These are the lights that the :ref:`GLTFNode.light<class_GLTFNode_property_light>` index refers to.
  443. .. rst-class:: classref-item-separator
  444. ----
  445. .. _class_GLTFState_method_set_materials:
  446. .. rst-class:: classref-method
  447. void **set_materials** **(** :ref:`Material[]<class_Material>` materials **)**
  448. .. container:: contribute
  449. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  450. .. rst-class:: classref-item-separator
  451. ----
  452. .. _class_GLTFState_method_set_meshes:
  453. .. rst-class:: classref-method
  454. void **set_meshes** **(** :ref:`GLTFMesh[]<class_GLTFMesh>` meshes **)**
  455. Sets the :ref:`GLTFMesh<class_GLTFMesh>`\ es in the state. These are the meshes that the :ref:`GLTFNode.mesh<class_GLTFNode_property_mesh>` index refers to.
  456. .. rst-class:: classref-item-separator
  457. ----
  458. .. _class_GLTFState_method_set_nodes:
  459. .. rst-class:: classref-method
  460. void **set_nodes** **(** :ref:`GLTFNode[]<class_GLTFNode>` nodes **)**
  461. Sets the :ref:`GLTFNode<class_GLTFNode>`\ s in the state. These are the nodes that :ref:`GLTFNode.children<class_GLTFNode_property_children>` and :ref:`root_nodes<class_GLTFState_property_root_nodes>` refer to. Some of the nodes set here may not be generated in the Godot scene, or may generate multiple Godot scene nodes.
  462. .. rst-class:: classref-item-separator
  463. ----
  464. .. _class_GLTFState_method_set_skeletons:
  465. .. rst-class:: classref-method
  466. void **set_skeletons** **(** :ref:`GLTFSkeleton[]<class_GLTFSkeleton>` skeletons **)**
  467. Sets the :ref:`GLTFSkeleton<class_GLTFSkeleton>`\ s in the state. These are the skeletons that the :ref:`GLTFNode.skeleton<class_GLTFNode_property_skeleton>` index refers to.
  468. .. rst-class:: classref-item-separator
  469. ----
  470. .. _class_GLTFState_method_set_skins:
  471. .. rst-class:: classref-method
  472. void **set_skins** **(** :ref:`GLTFSkin[]<class_GLTFSkin>` skins **)**
  473. Sets the :ref:`GLTFSkin<class_GLTFSkin>`\ s in the state. These are the skins that the :ref:`GLTFNode.skin<class_GLTFNode_property_skin>` index refers to.
  474. .. rst-class:: classref-item-separator
  475. ----
  476. .. _class_GLTFState_method_set_texture_samplers:
  477. .. rst-class:: classref-method
  478. void **set_texture_samplers** **(** :ref:`GLTFTextureSampler[]<class_GLTFTextureSampler>` texture_samplers **)**
  479. Sets the array of texture samplers that are used by the textures contained in the GLTF.
  480. .. rst-class:: classref-item-separator
  481. ----
  482. .. _class_GLTFState_method_set_textures:
  483. .. rst-class:: classref-method
  484. void **set_textures** **(** :ref:`GLTFTexture[]<class_GLTFTexture>` textures **)**
  485. .. container:: contribute
  486. There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
  487. .. rst-class:: classref-item-separator
  488. ----
  489. .. _class_GLTFState_method_set_unique_animation_names:
  490. .. rst-class:: classref-method
  491. void **set_unique_animation_names** **(** :ref:`String[]<class_String>` unique_animation_names **)**
  492. Sets the unique animation names in the state. This is only used during the import process.
  493. .. rst-class:: classref-item-separator
  494. ----
  495. .. _class_GLTFState_method_set_unique_names:
  496. .. rst-class:: classref-method
  497. void **set_unique_names** **(** :ref:`String[]<class_String>` unique_names **)**
  498. Sets the unique node names in the state. This is used in both the import process and export process.
  499. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  500. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  501. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  502. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  503. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  504. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  505. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`