:github_url: hide .. _class_GLTFPhysicsBody: GLTFPhysicsBody =============== **Hereda:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Representa un cuerpo de física glTF. .. rst-class:: classref-introduction-group Descripción ---------------------- Represents a physics body as an intermediary between the ``OMI_physics_body`` glTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different glTF physics extensions in the future. .. rst-class:: classref-introduction-group Tutoriales -------------------- - :doc:`Carga y guardado de archivos en tiempo de ejecución <../tutorials/io/runtime_file_loading_and_saving>` - `OMI_physics_body glTF extension `__ .. rst-class:: classref-reftable-group Propiedades ---------------------- .. table:: :widths: auto +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ | :ref:`Vector3` | :ref:`angular_velocity` | ``Vector3(0, 0, 0)`` | +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ | :ref:`String` | :ref:`body_type` | ``"rigid"`` | +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ | :ref:`Vector3` | :ref:`center_of_mass` | ``Vector3(0, 0, 0)`` | +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ | :ref:`Vector3` | :ref:`inertia_diagonal` | ``Vector3(0, 0, 0)`` | +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ | :ref:`Quaternion` | :ref:`inertia_orientation` | ``Quaternion(0, 0, 0, 1)`` | +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ | :ref:`Basis` | :ref:`inertia_tensor` | ``Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)`` | +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ | :ref:`Vector3` | :ref:`linear_velocity` | ``Vector3(0, 0, 0)`` | +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ | :ref:`float` | :ref:`mass` | ``1.0`` | +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ .. rst-class:: classref-reftable-group Métodos -------------- .. table:: :widths: auto +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`GLTFPhysicsBody` | :ref:`from_dictionary`\ (\ dictionary\: :ref:`Dictionary`\ ) |static| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`GLTFPhysicsBody` | :ref:`from_node`\ (\ body_node\: :ref:`CollisionObject3D`\ ) |static| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`to_dictionary`\ (\ ) |const| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`CollisionObject3D` | :ref:`to_node`\ (\ ) |const| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descripciones de Propiedades -------------------------------------------------------- .. _class_GLTFPhysicsBody_property_angular_velocity: .. rst-class:: classref-property :ref:`Vector3` **angular_velocity** = ``Vector3(0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_angular_velocity**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_angular_velocity**\ (\ ) The angular velocity of the physics body, in radians per second. This is only used when the body type is "rigid" or "vehicle". .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_property_body_type: .. rst-class:: classref-property :ref:`String` **body_type** = ``"rigid"`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_body_type**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_body_type**\ (\ ) The type of the body. When importing, this controls what type of :ref:`CollisionObject3D` node Godot should generate. Valid values are ``"static"``, ``"animatable"``, ``"character"``, ``"rigid"``, ``"vehicle"``, and ``"trigger"``. When exporting, this will be squashed down to one of ``"static"``, ``"kinematic"``, or ``"dynamic"`` motion types, or the ``"trigger"`` property. .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_property_center_of_mass: .. rst-class:: classref-property :ref:`Vector3` **center_of_mass** = ``Vector3(0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_center_of_mass**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_center_of_mass**\ (\ ) El centro de masa del cuerpo, en metros. Esto está en el espacio local relativo al cuerpo. Por defecto, el centro de la masa es el origen del cuerpo. .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_property_inertia_diagonal: .. rst-class:: classref-property :ref:`Vector3` **inertia_diagonal** = ``Vector3(0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_inertia_diagonal**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_inertia_diagonal**\ (\ ) La fuerza de inercia del cuerpo físico, en kilogramos metros cuadrados (kg⋅m²). Esto representa la inercia alrededor de los ejes principales, la diagonal de la matriz del tensor de inercia. Esto solo se usa cuando el tipo de cuerpo es "rigid" o "vehicle". Cuando se convierte a un nodo :ref:`RigidBody3D` de Godot, si este valor es cero, entonces la inercia se calculará automáticamente. .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_property_inertia_orientation: .. rst-class:: classref-property :ref:`Quaternion` **inertia_orientation** = ``Quaternion(0, 0, 0, 1)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_inertia_orientation**\ (\ value\: :ref:`Quaternion`\ ) - :ref:`Quaternion` **get_inertia_orientation**\ (\ ) La orientación de la inercia del cuerpo físico. Esto define la rotación de los ejes principales de la inercia con respecto a los ejes locales del objeto. Esto es solo se usa cuando el tipo de cuerpo es "rigid" o "vehicle" y :ref:`inertia_diagonal` se establece en un valor distinto de cero. .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_property_inertia_tensor: .. rst-class:: classref-property :ref:`Basis` **inertia_tensor** = ``Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_inertia_tensor**\ (\ value\: :ref:`Basis`\ ) - :ref:`Basis` **get_inertia_tensor**\ (\ ) **Obsoleto:** Esta propiedad podría ser modificada o eliminada en versiones futuras. El tensor de inercia del cuerpo físico, en kilogramos metros cuadrados (kg⋅m²). Esto solo se usa cuando el tipo de cuerpo es "rigid" o "vehicle". Cuando se convierte a un nodo :ref:`RigidBody3D` de Godot, si este valor es cero, entonces la inercia se calculará automáticamente. .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_property_linear_velocity: .. rst-class:: classref-property :ref:`Vector3` **linear_velocity** = ``Vector3(0, 0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_linear_velocity**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_linear_velocity**\ (\ ) La velocidad lineal del cuerpo físico, en metros por segundo. Esto solo se usa cuando el tipo de cuerpo es "rigid" o "vehicle". .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_property_mass: .. rst-class:: classref-property :ref:`float` **mass** = ``1.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_mass**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_mass**\ (\ ) La masa del cuerpo físico, en kilogramos. Esto solo se usa cuando el tipo de cuerpo es "rigid" o "vehicle". .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descripciones de Métodos ------------------------------------------------ .. _class_GLTFPhysicsBody_method_from_dictionary: .. rst-class:: classref-method :ref:`GLTFPhysicsBody` **from_dictionary**\ (\ dictionary\: :ref:`Dictionary`\ ) |static| :ref:`🔗` Crea una nueva instancia de GLTFPhysicsBody analizando el :ref:`Dictionary` dado en el formato de la extensión glTF ``OMI_physics_body``. .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_method_from_node: .. rst-class:: classref-method :ref:`GLTFPhysicsBody` **from_node**\ (\ body_node\: :ref:`CollisionObject3D`\ ) |static| :ref:`🔗` Crea una nueva instancia de GLTFPhysicsBody a partir del nodo :ref:`CollisionObject3D` de Godot dado. .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_method_to_dictionary: .. rst-class:: classref-method :ref:`Dictionary` **to_dictionary**\ (\ ) |const| :ref:`🔗` Serializa esta instancia de GLTFPhysicsBody en un :ref:`Dictionary`. Estará en el formato esperado por la extensión glTF ``OMI_physics_body``. .. rst-class:: classref-item-separator ---- .. _class_GLTFPhysicsBody_method_to_node: .. rst-class:: classref-method :ref:`CollisionObject3D` **to_node**\ (\ ) |const| :ref:`🔗` Convierte esta instancia de GLTFPhysicsBody en un nodo :ref:`CollisionObject3D` de Godot. .. |virtual| replace:: :abbr:`virtual (Normalmente, este método debería ser sobreescrito por el usuario para que tenga algún efecto.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Este método no tiene efectos secundarios. No modifica ninguna de las variables miembro de la instancia.)` .. |vararg| replace:: :abbr:`vararg (Este método permite agregar cualquier número de argumentos después de los descritos aquí.)` .. |constructor| replace:: :abbr:`constructor (Este método se utiliza para construir un tipo.)` .. |static| replace:: :abbr:`static (Este método no necesita una instancia para ser llamado, por lo que puede llamarse directamente utilizando el nombre de la clase.)` .. |operator| replace:: :abbr:`operator (Este método describe un operador válido para usar con este tipo como operando izquierdo.)` .. |bitfield| replace:: :abbr:`BitField (Este valor es un entero compuesto como una máscara de bits de las siguientes banderas.)` .. |void| replace:: :abbr:`void (Sin valor de retorno.)`