GLTFState
Hereda: Resource < RefCounted < Object
Heredado por: FBXState
Representa todos los datos de un archivo glTF.
Descripción
Contains all nodes and resources of a glTF file. This is used by GLTFDocument as data storage, which allows GLTFDocument and all GLTFDocumentExtension classes to remain stateless.
GLTFState can be populated by 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 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.
Tutoriales
Propiedades
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Métodos
Constantes
HANDLE_BINARY_DISCARD_TEXTURES = 0 🔗
Descarta todas las texturas incrustadas y usa materiales sin textura.
HANDLE_BINARY_EXTRACT_TEXTURES = 1 🔗
Extrae las texturas incrustadas para ser reimportadas y comprimidas. Solo en el editor. Actúa como sin comprimir en tiempo de ejecución.
HANDLE_BINARY_EMBED_AS_BASISU = 2 🔗
Incrusta texturas comprimidas para VRAM con Basis Universal en la escena generada.
HANDLE_BINARY_EMBED_AS_UNCOMPRESSED = 3 🔗
Incrusta texturas comprimidas sin pérdida en la escena generada, coincidiendo con el comportamiento anterior.
Descripciones de Propiedades
Los FPS de procesado de la animación para la importación o exportación.
La ruta de la carpeta asociada con estos datos glTF. Se utiliza para encontrar otros archivos a los que hace referencia el archivo glTF, como imágenes o búferes binarios. Esto se establecerá durante la importación al adjuntar desde un archivo, y se establecerá durante la exportación al escribir en un archivo.
Array[PackedByteArray] buffers = [] 🔗
void set_buffers(value: Array[PackedByteArray])
Array[PackedByteArray] get_buffers()
There is currently no description for this property. Please help us by contributing one!
La string de copyright en la cabecera del activo del archivo glTF. Esto se establece durante la importación si está presente y en la exportación si no está vacío. Consulta la documentación de la cabecera de activos glTF para obtener más información.
bool create_animations = true 🔗
There is currently no description for this property. Please help us by contributing one!
El nombre de archivo asociado a estos datos glTF. Si termina con .gltf, se trata de un glTF basado en texto; de lo contrario, es un GLB binario. Esto se establecerá durante la importación al añadir desde un archivo, y se establecerá durante la exportación al escribir en un archivo. Si se escribe en un búfer, será una string vacía.
PackedByteArray glb_data = PackedByteArray() 🔗
void set_glb_data(value: PackedByteArray)
PackedByteArray get_glb_data()
El búfer binario adjunto a un archivo .glb.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedByteArray for more details.
bool import_as_skeleton_bones = false 🔗
Si es true, fuerza a todos los GLTFNodes del documento a ser huesos de un único nodo Skeleton3D de Godot.
Dictionary json = {} 🔗
void set_json(value: Dictionary)
Dictionary get_json()
El documento JSON crudo original correspondiente a este GLTFState.
There is currently no description for this property. Please help us by contributing one!
There is currently no description for this property. Please help us by contributing one!
PackedInt32Array root_nodes = PackedInt32Array() 🔗
void set_root_nodes(value: PackedInt32Array)
PackedInt32Array get_root_nodes()
Los nodos raíz del archivo glTF. Típicamente, un archivo glTF solo tendrá una escena y, por lo tanto, un nodo raíz. Sin embargo, un archivo glTF puede tener múltiples escenas y, por lo tanto, múltiples nodos raíz, que se generarán como hermanos entre sí y como hijos del nodo raíz de la escena de Godot generada.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedInt32Array for more details.
El nombre de la escena. Al importar, si no se especifica, este será el nombre del archivo. Al exportar, si se especifica, el nombre de la escena se guardará en el archivo glTF.
bool use_named_skin_binds = false 🔗
There is currently no description for this property. Please help us by contributing one!
Descripciones de Métodos
void add_used_extension(extension_name: String, required: bool) 🔗
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 GLTFDocumentExtension._export_post(), as that stage is too late to add extensions. The final list is sorted alphabetically.
int append_data_to_buffers(data: PackedByteArray, deduplication: bool) 🔗
Añade el array de bytes dado data a los búferes y crea una GLTFBufferView para él. Se devuelve el índice del destino GLTFBufferView. Si deduplication es true, los búferes se buscan primero para datos duplicados, de lo contrario, siempre se añaden nuevos bytes.
int append_gltf_node(gltf_node: GLTFNode, godot_scene_node: Node, parent_node_index: int) 🔗
Añade el GLTFNode dado al estado, y devuelve su nuevo índice. Esto se puede usar para exportar un nodo de Godot como múltiples nodos glTF, o inyectar nuevos nodos glTF en tiempo de importación. En la importación, esto debe ser llamado antes de que GLTFDocumentExtension._generate_scene_node() termine para el nodo padre. En la exportación, esto debe ser llamado antes de que GLTFDocumentExtension._export_node() se ejecute para el nodo padre.
El parámetro godot_scene_node es el nodo de la escena de Godot que corresponde a este nodo glTF. Se recomienda encarecidamente que se establezca en un nodo válido, pero puede ser null si no hay un nodo de escena de Godot correspondiente. Un nodo de escena de Godot se puede usar para múltiples nodos glTF, así que si se exportan múltiples nodos glTF para un nodo de escena de Godot, use el mismo nodo de escena de Godot para cada uno.
El parámetro parent_node_index es el índice del GLTFNode padre en el estado. Si -1, el nodo será un nodo raíz, de lo contrario, el nuevo nodo se añadirá a la lista de hijos del padre. El índice también se escribirá en la propiedad GLTFNode.parent del nuevo nodo.
Array[GLTFAccessor] get_accessors() 🔗
There is currently no description for this method. Please help us by contributing one!
Variant get_additional_data(extension_name: StringName) 🔗
Obtiene datos arbitrarios adicionales en esta instancia de GLTFState. Esto se puede usar para mantener datos de estado por archivo en las clases GLTFDocumentExtension, lo cual es importante porque no tienen estado.
El argumento debe ser el nombre de GLTFDocumentExtension (no tiene que coincidir con el nombre de la extensión en el archivo glTF), y el valor de retorno puede ser cualquier cosa que establezcas. Si no se estableció nada, el valor de retorno es null.
AnimationPlayer get_animation_player(idx: int) 🔗
Devuelve el nodo AnimationPlayer con el índice dado. Estos nodos solo se usan durante el proceso de exportación al convertir los nodos AnimationPlayer de Godot en animaciones glTF.
int get_animation_players_count(idx: int) 🔗
Devuelve el número de nodos AnimationPlayer en este GLTFState. Estos nodos solo se utilizan durante el proceso de exportación al convertir los nodos AnimationPlayer de Godot en animaciones glTF.
Array[GLTFAnimation] get_animations() 🔗
Devuelve un array de todos los GLTFAnimations en el archivo glTF. Al importar, estos se generarán como animaciones en un nodo AnimationPlayer. Al exportar, estos se generarán a partir de nodos AnimationPlayer de Godot.
Array[GLTFBufferView] get_buffer_views() 🔗
There is currently no description for this method. Please help us by contributing one!
Array[GLTFCamera] get_cameras() 🔗
Devuelve un array de todos los GLTFCamera en el archivo glTF. Estas son las cámaras a las que se refiere el índice GLTFNode.camera.
int get_handle_binary_image() 🔗
There is currently no description for this method. Please help us by contributing one!
Array[Texture2D] get_images() 🔗
Obtiene las imágenes del archivo glTF como un array de Texture2Ds. Estas son las imágenes a las que se refiere el índice GLTFTexture.src_image.
Array[GLTFLight] get_lights() 🔗
Devuelve un array de todas las GLTFLights en el archivo glTF. Estas son las luces a las que se refiere el índice GLTFNode.light.
Array[Material] get_materials() 🔗
There is currently no description for this method. Please help us by contributing one!
Array[GLTFMesh] get_meshes() 🔗
Devuelve un array de todos los GLTFMesh del archivo glTF. Estas son las mallas a las que se refiere el índice GLTFNode.mesh.
int get_node_index(scene_node: Node) 🔗
Devuelve el índice del GLTFNode correspondiente a este nodo de escena de Godot. Esta es la inversa de get_scene_node(). Útil durante el proceso de exportación.
Nota: No todos los nodos de escena de Godot tendrán un GLTFNode correspondiente, y no todos los GLTFNode tendrán un nodo de escena generado. Si no hay un índice GLTFNode para este nodo de escena, se devuelve -1.
Devuelve un array de todos los GLTFNodes en el archivo glTF. Estos son los nodos a los que GLTFNode.children y root_nodes se refieren. Esto incluye los nodos que pueden no ser generados en la escena de Godot, o los nodos que pueden generar múltiples nodos de la escena de Godot.
Node get_scene_node(idx: int) 🔗
Devuelve el nodo de la escena de Godot que corresponde al mismo índice que el GLTFNode del que fue generado. Esta es la inversa de get_node_index(). Útil durante el proceso de importación.
Nota: No todos los GLTFNode tendrán un nodo de escena generado, y no todos los nodos de escena generados tendrán un GLTFNode correspondiente. Si no hay ningún nodo de escena para este índice de GLTFNode, se devuelve null.
Array[GLTFSkeleton] get_skeletons() 🔗
Devuelve un array de todos los GLTFSkeletons en el archivo glTF. Estos son los esqueletos a los que se refiere el índice de GLTFNode.skeleton.
Devuelve un array de todos los GLTFSkins en el archivo glTF. Estos son las pieles a las que se refiere el índice de GLTFNode.skin.
Array[GLTFTextureSampler] get_texture_samplers() 🔗
Retrieves the array of texture samplers that are used by the textures contained in the glTF.
Array[GLTFTexture] get_textures() 🔗
There is currently no description for this method. Please help us by contributing one!
Array[String] get_unique_animation_names() 🔗
Devuelve una lista de nombres de animación únicos. Esto solo se usa durante el proceso de importación.
Array[String] get_unique_names() 🔗
Devuelve una lista de nombres de nodo únicos. Esto se usa tanto en el proceso de importación como en el de exportación.
void set_accessors(accessors: Array[GLTFAccessor]) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_additional_data(extension_name: StringName, additional_data: Variant) 🔗
Establece datos arbitrarios adicionales en esta instancia de GLTFState. Esto se puede usar para mantener datos de estado por archivo en las clases GLTFDocumentExtension, lo cual es importante porque no tienen estado.
El primer argumento debe ser el nombre de GLTFDocumentExtension (no tiene que coincidir con el nombre de la extensión en el archivo glTF), y el segundo argumento puede ser cualquier cosa que desees.
void set_animations(animations: Array[GLTFAnimation]) 🔗
Establece las GLTFAnimations en el estado. Al importar, estas se generarán como animaciones en un nodo AnimationPlayer. Al exportar, estas se generarán a partir de nodos AnimationPlayer de Godot.
void set_buffer_views(buffer_views: Array[GLTFBufferView]) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_cameras(cameras: Array[GLTFCamera]) 🔗
Establece las GLTFCameras en el estado. Estas son las cámaras a las que se refiere el índice de GLTFNode.camera.
void set_handle_binary_image(method: int) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_images(images: Array[Texture2D]) 🔗
Establece las imágenes en el estado almacenado como un array de Texture2Ds. Esto puede ser usado durante la exportación. Estas son las imágenes a las que se refiere el índice de GLTFTexture.src_image.
void set_lights(lights: Array[GLTFLight]) 🔗
Establece las GLTFLights en el estado. Estas son las luces a las que se refiere el índice de GLTFNode.light.
void set_materials(materials: Array[Material]) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_meshes(meshes: Array[GLTFMesh]) 🔗
Establece los GLTFMeshes en el estado. Estas son las mallas a las que se refiere el índice de GLTFNode.mesh.
void set_nodes(nodes: Array[GLTFNode]) 🔗
Establece los GLTFNodes en el estado. Estos son los nodos a los que se refieren GLTFNode.children y root_nodes. Algunos de los nodos establecidos aquí pueden no ser generados en la escena de Godot, o pueden generar múltiples nodos de escena de Godot.
void set_skeletons(skeletons: Array[GLTFSkeleton]) 🔗
Establece los GLTFSkeletons en el estado. Estos son los esqueletos a los que se refiere el índice de GLTFNode.skeleton.
void set_skins(skins: Array[GLTFSkin]) 🔗
Sets the GLTFSkins in the state. These are the skins that the GLTFNode.skin index refers to.
void set_texture_samplers(texture_samplers: Array[GLTFTextureSampler]) 🔗
Establece el array de muestreadores de texturas que son utilizados por las texturas contenidas en el glTF.
void set_textures(textures: Array[GLTFTexture]) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_unique_animation_names(unique_animation_names: Array[String]) 🔗
Establece los nombres de animación únicos en el estado. Esto solo se usa durante el proceso de importación.
void set_unique_names(unique_names: Array[String]) 🔗
Establece los nombres de nodos únicos en el estado. Esto se usa tanto en el proceso de importación como en el de exportación.