Up to date

This page is up to date for Godot 4.1. If you still find outdated information, please open an issue.

GLTFPhysicsBody

Inherits: Resource < RefCounted < Object

Represents a GLTF physics body.

Description

Represents a physics body as defined by the OMI_physics_body GLTF extension. This class is an intermediary between the 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

angular_velocity

Vector3(0, 0, 0)

String

body_type

"static"

Basis

inertia_tensor

Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)

Vector3

linear_velocity

Vector3(0, 0, 0)

float

mass

1.0

Methods

GLTFPhysicsBody

from_dictionary ( Dictionary dictionary ) static

GLTFPhysicsBody

from_node ( CollisionObject3D body_node ) static

Dictionary

to_dictionary ( ) const

CollisionObject3D

to_node ( ) const


Property Descriptions

Vector3 angular_velocity = Vector3(0, 0, 0)

  • void set_angular_velocity ( Vector3 value )

  • 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".


String body_type = "static"

  • void set_body_type ( String value )

  • String get_body_type ( )

The type of the body. Valid values are "static", "kinematic", "character", "rigid", "vehicle", and "trigger".


Basis inertia_tensor = Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)

  • void set_inertia_tensor ( Basis value )

  • Basis get_inertia_tensor ( )

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)

  • void set_linear_velocity ( Vector3 value )

  • Vector3 get_linear_velocity ( )

The linear velocity of the physics body, in meters per second. This is only used when the body type is "rigid" or "vehicle".


float mass = 1.0

  • void set_mass ( float value )

  • float get_mass ( )

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.


GLTFPhysicsBody from_node ( CollisionObject3D body_node ) static

Create a new GLTFPhysicsBody instance from the given Godot CollisionObject3D node.


Dictionary to_dictionary ( ) const

Serializes this GLTFPhysicsBody instance into a Dictionary.


CollisionObject3D to_node ( ) const

Converts this GLTFPhysicsBody instance into a Godot CollisionObject3D node.