GLTFPhysicsShape

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

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

Описание

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

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

Свойства

float

height

2.0

ImporterMesh

importer_mesh

bool

is_trigger

false

int

mesh_index

-1

float

radius

0.5

String

shape_type

""

Vector3

size

Vector3(1, 1, 1)

Методы

GLTFPhysicsShape

from_dictionary(dictionary: Dictionary) static

GLTFPhysicsShape

from_node(shape_node: CollisionShape3D) static

GLTFPhysicsShape

from_resource(shape_resource: Shape3D) static

Dictionary

to_dictionary() const

CollisionShape3D

to_node(cache_shapes: bool = false)

Shape3D

to_resource(cache_shapes: bool = false)


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

float height = 2.0 🔗

  • void set_height(value: float)

  • float get_height()

Высота формы в метрах. Используется только в том случае, если тип формы — "capsule" или "cylinder". Это значение не должно быть отрицательным, а для "capsule" оно должно быть как минимум в два раза больше радиуса.


ImporterMesh importer_mesh 🔗

Ресурс ImporterMesh формы. Используется только когда тип формы — "hull" (выпуклая оболочка) или "trimesh" (вогнутая тримеш).


bool is_trigger = false 🔗

  • void set_is_trigger(value: bool)

  • bool get_is_trigger()

Если true, это указывает, что эта форма является триггером. Для Godot это означает, что форма должна быть дочерним элементом узла Area3D.

Это единственная переменная, не используемая в методе to_node(), она предназначена для использования вместе с ним при принятии решения о том, куда добавить сгенерированный узел в качестве дочернего элемента.


int mesh_index = -1 🔗

  • void set_mesh_index(value: int)

  • int get_mesh_index()

Индекс сетки формы в файле glTF. Используется только когда тип формы — "hull" (выпуклая оболочка) или "trimesh" (вогнутая тримеш).


float radius = 0.5 🔗

  • void set_radius(value: float)

  • float get_radius()

Радиус формы в метрах. Используется только в том случае, если тип формы — "capsule", "cylinder" или "sphere". Это значение не должно быть отрицательным.


String shape_type = "" 🔗

  • void set_shape_type(value: String)

  • String get_shape_type()

Тип фигуры, которую представляет эта фигура. Допустимые значения: "box", "capsule", "cylinder", "sphere", "hull" и "trimesh".


Vector3 size = Vector3(1, 1, 1) 🔗

Размер фигуры в метрах. Используется только когда тип фигуры — "box", и представляет "diameter" коробки. Это значение не должно быть отрицательным.


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

GLTFPhysicsShape from_dictionary(dictionary: Dictionary) static 🔗

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


GLTFPhysicsShape from_node(shape_node: CollisionShape3D) static 🔗

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


GLTFPhysicsShape from_resource(shape_resource: Shape3D) static 🔗

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


Dictionary to_dictionary() const 🔗

Сериализует этот экземпляр GLTFPhysicsShape в Dictionary в формате, определенном OMI_physics_shape.


CollisionShape3D to_node(cache_shapes: bool = false) 🔗

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


Shape3D to_resource(cache_shapes: bool = false) 🔗

Преобразует этот экземпляр GLTFPhysicsShape в ресурс Godot Shape3D.