GLTFPhysicsBody ​
Inherits: Resource < RefCounted < Object
Represents a GLTF physics body.
Description
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.
Tutorials
Properties
Vector3(0, 0, 0) | ||
"rigid" | ||
Vector3(0, 0, 0) | ||
Vector3(0, 0, 0) | ||
Quaternion(0, 0, 0, 1) | ||
Basis(0, 0, 0, 0, 0, 0, 0, 0, 0) | ||
Vector3(0, 0, 0) | ||
1.0 |
Methods
from_dictionary(dictionary: Dictionary) static | |
from_node(body_node: CollisionObject3D) static | |
to_dictionary() const | |
to_node() const |
Property Descriptions
Vector3 angular_velocity = Vector3(0, 0, 0) 🔗
The angular velocity of the physics body, in radians per second. This is only used when the body type is "rigid" or "vehicle".
String body_type = "rigid" 🔗
The type of the body. When importing, this controls what type of 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.
Vector3 center_of_mass = Vector3(0, 0, 0) 🔗
The center of mass of the body, in meters. This is in local space relative to the body. By default, the center of the mass is the body's origin.
Vector3 inertia_diagonal = Vector3(0, 0, 0) 🔗
The inertia strength of the physics body, in kilogram meter squared (kg⋅m²). This represents the inertia around the principle axes, the diagonal of the inertia tensor matrix. This is only used when the body type is "rigid" or "vehicle".
When converted to a Godot RigidBody3D node, if this value is zero, then the inertia will be calculated automatically.
Quaternion inertia_orientation = Quaternion(0, 0, 0, 1) 🔗
void set_inertia_orientation(value: Quaternion)
Quaternion get_inertia_orientation()
The inertia orientation of the physics body. This defines the rotation of the inertia's principle axes relative to the object's local axes. This is only used when the body type is "rigid" or "vehicle" and inertia_diagonal is set to a non-zero value.
Basis inertia_tensor = Basis(0, 0, 0, 0, 0, 0, 0, 0, 0) 🔗
Deprecated: This property may be changed or removed in future versions.
The inertia tensor of the physics body, in kilogram meter squared (kg⋅m²). This is only used when the body type is "rigid" or "vehicle".
When converted to a Godot RigidBody3D node, if this value is zero, then the inertia will be calculated automatically.
Vector3 linear_velocity = Vector3(0, 0, 0) 🔗
The linear velocity of the physics body, in meters per second. This is only used when the body type is "rigid" or "vehicle".
The mass of the physics body, in kilograms. This is only used when the body type is "rigid" or "vehicle".
Method Descriptions
GLTFPhysicsBody from_dictionary(dictionary: Dictionary) static 🔗
Creates a new GLTFPhysicsBody instance by parsing the given Dictionary in the OMI_physics_body
GLTF extension format.
GLTFPhysicsBody from_node(body_node: CollisionObject3D) static 🔗
Creates a new GLTFPhysicsBody instance from the given Godot CollisionObject3D node.
Dictionary to_dictionary() const 🔗
Serializes this GLTFPhysicsBody instance into a Dictionary. It will be in the format expected by the OMI_physics_body
GLTF extension.
CollisionObject3D to_node() const 🔗
Converts this GLTFPhysicsBody instance into a Godot CollisionObject3D node.