GLTFPhysicsBody

Наследует: Resource < RefCounted < Object

Представляет собой физическое тело glTF.

Описание

Представляет физическое тело как посредник между данными glTF OMI_physics_body и узлами Годо, и оно абстрагировано таким образом, что позволяет добавлять поддержку различных расширений физики glTF в будущем.

Обучающие материалы

Свойства

Vector3

angular_velocity

Vector3(0, 0, 0)

String

body_type

"rigid"

Vector3

center_of_mass

Vector3(0, 0, 0)

Vector3

inertia_diagonal

Vector3(0, 0, 0)

Quaternion

inertia_orientation

Quaternion(0, 0, 0, 1)

Basis

inertia_tensor

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

Vector3

linear_velocity

Vector3(0, 0, 0)

float

mass

1.0

Методы

GLTFPhysicsBody

from_dictionary(dictionary: Dictionary) static

GLTFPhysicsBody

from_node(body_node: CollisionObject3D) static

Dictionary

to_dictionary() const

CollisionObject3D

to_node() const


Описания свойств

Vector3 angular_velocity = Vector3(0, 0, 0) 🔗

  • void set_angular_velocity(value: Vector3)

  • Vector3 get_angular_velocity()

Угловая скорость физического тела в радианах в секунду. Используется только в случае, если тип тела — «rigid» или «vehicle».


String body_type = "rigid" 🔗

Тип тела.

При импорте это управляет тем, какой тип узла CollisionObject3D Godot должен генерировать. Допустимые значения: "static", "animatable", "character", "rigid", "vehicle" и "trigger".

При экспорте это будет сжато до одного из типов движения "static", "kinematic" или "dynamic" или свойства "trigger".


Vector3 center_of_mass = Vector3(0, 0, 0) 🔗

  • void set_center_of_mass(value: Vector3)

  • Vector3 get_center_of_mass()

Центр масс тела в метрах. Это в локальном пространстве относительно тела. По умолчанию центр масс — это начало координат тела.


Vector3 inertia_diagonal = Vector3(0, 0, 0) 🔗

  • void set_inertia_diagonal(value: Vector3)

  • Vector3 get_inertia_diagonal()

Сила инерции физического тела в килограммах на метр в квадрате (кг⋅м²). Это представляет инерцию вокруг главных осей, диагональ матрицы тензора инерции. Используется только в том случае, если тип тела «rigid» или «vehicle».

При преобразовании в узел Godot RigidBody3D, если это значение равно нулю, инерция будет рассчитана автоматически.


Quaternion inertia_orientation = Quaternion(0, 0, 0, 1) 🔗

Ориентация инерции физического тела. Определяет вращение главных осей инерции относительно локальных осей объекта. Используется только в том случае, если тип тела — «rigid» или «vehicle», а inertia_diagonal имеет ненулевое значение.


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

  • void set_inertia_tensor(value: Basis)

  • Basis get_inertia_tensor()

Устарело: Это свойство может быть изменено или удалено в будущих версиях.

Тензор инерции физического тела в килограммах на метр в квадрате (кг⋅м²). Используется только в том случае, если тип тела — «rigid» или «vehicle».

При преобразовании в узел Godot RigidBody3D, если это значение равно нулю, инерция будет рассчитана автоматически.


Vector3 linear_velocity = Vector3(0, 0, 0) 🔗

  • void set_linear_velocity(value: Vector3)

  • Vector3 get_linear_velocity()

Линейная скорость физического тела в метрах в секунду. Используется только в случае, если тип тела — «rigid» или «vehicle».


float mass = 1.0 🔗

Масса физического тела в килограммах. Используется только в случае, если тип тела — «rigid» или «vehicle».


Описания метода

GLTFPhysicsBody from_dictionary(dictionary: Dictionary) static 🔗

Создает новый экземпляр GLTFPhysicsBody путем анализа указанного Dictionary в формате расширения OMI_physics_body glTF.


GLTFPhysicsBody from_node(body_node: CollisionObject3D) static 🔗

Создает новый экземпляр GLTFPhysicsBody из заданного узла Godot CollisionObject3D.


Dictionary to_dictionary() const 🔗

Сериализует этот экземпляр GLTFPhysicsBody в Dictionary. Он будет в формате, ожидаемом расширением OMI_physics_body glTF.


CollisionObject3D to_node() const 🔗

Преобразует этот экземпляр GLTFPhysicsBody в узел Godot CollisionObject3D.