GltfPhysicsBody
Представляет собой физическое тело glTF.
Представляет собой физическое тело glTF.
Представляет физическое тело как посредник между данными glTF OMI_physics_body и узлами Годо, и оно абстрагировано таким образом, что позволяет добавлять поддержку различных расширений физики glTF в будущем.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
GltfPhysicsBodyКонструктор
public GltfPhysicsBody();Свойства8
AngularVelocityСвойство
public Vector3 AngularVelocity { get; set; }Угловая скорость физического тела в радианах в секунду. Используется только в случае, если тип тела — «rigid» или «vehicle».
BodyTypeСвойство
public string BodyType { get; set; }Тип тела.
При импорте это управляет тем, какой тип узла CollisionObject3D Reckfell должен генерировать. Допустимые значения: "static", "animatable", "character", "rigid", "vehicle" и "trigger".
При экспорте это будет сжато до одного из типов движения "static", "kinematic" или "dynamic" или свойства "trigger".
CenterOfMassСвойство
public Vector3 CenterOfMass { get; set; }Центр масс тела в метрах. Это в локальном пространстве относительно тела. По умолчанию центр масс — это начало координат тела.
InertiaDiagonalСвойство
public Vector3 InertiaDiagonal { get; set; }Сила инерции физического тела в килограммах на метр в квадрате (кг⋅м²). Это представляет инерцию вокруг главных осей, диагональ матрицы тензора инерции. Используется только в том случае, если тип тела «rigid» или «vehicle».
При преобразовании в узел Reckfell RigidBody3D, если это значение равно нулю, инерция будет рассчитана автоматически.
InertiaOrientationСвойство
public Quaternion InertiaOrientation { get; set; }Ориентация инерции физического тела. Определяет вращение главных осей инерции относительно локальных осей объекта. Используется только в том случае, если тип тела — «rigid» или «vehicle», а GltfPhysicsBody.InertiaDiagonal имеет ненулевое значение.
InertiaTensorСвойство · Устарело
public Basis InertiaTensor { get; set; }Тензор инерции физического тела в килограммах на метр в квадрате (кг⋅м²). Используется только в том случае, если тип тела — «rigid» или «vehicle».
При преобразовании в узел Reckfell RigidBody3D, если это значение равно нулю, инерция будет рассчитана автоматически.
LinearVelocityСвойство
public Vector3 LinearVelocity { get; set; }Линейная скорость физического тела в метрах в секунду. Используется только в случае, если тип тела — «rigid» или «vehicle».
MassСвойство
public float Mass { get; set; }Масса физического тела в килограммах. Используется только в случае, если тип тела — «rigid» или «vehicle».
Методы20
FromDictionaryGltfPhysicsBody
public static GltfPhysicsBody FromDictionary(Reckfell.Collections.Dictionary dictionary);Создает новый экземпляр GLTFPhysicsBody путем анализа указанного Reckfell.Collections.Dictionary в формате расширения OMI_physics_body glTF.
| Имя | Тип | По умолчанию |
|---|---|---|
dictionary | Reckfell.Collections.Dictionary | — |
GltfPhysicsBodyFromNodeGltfPhysicsBody
public static GltfPhysicsBody FromNode(CollisionObject3D bodyNode);Создает новый экземпляр GLTFPhysicsBody из заданного узла Reckfell CollisionObject3D.
| Имя | Тип | По умолчанию |
|---|---|---|
bodyNode | CollisionObject3D | — |
GltfPhysicsBodyGetAngularVelocityVector3
public Vector3 GetAngularVelocity();Vector3GetBodyTypestring
public string GetBodyType();stringGetCenterOfMassVector3
public Vector3 GetCenterOfMass();Vector3GetInertiaDiagonalVector3
public Vector3 GetInertiaDiagonal();Vector3GetInertiaOrientationQuaternion
public Quaternion GetInertiaOrientation();QuaternionGetInertiaTensorBasis
public Basis GetInertiaTensor();BasisGetLinearVelocityVector3
public Vector3 GetLinearVelocity();Vector3GetMassfloat
public float GetMass();floatSetAngularVelocityvoid
public void SetAngularVelocity(Vector3 angularVelocity);| Имя | Тип | По умолчанию |
|---|---|---|
angularVelocity | Vector3 | — |
SetBodyTypevoid
public void SetBodyType(string bodyType);| Имя | Тип | По умолчанию |
|---|---|---|
bodyType | string | — |
SetCenterOfMassvoid
public void SetCenterOfMass(Vector3 centerOfMass);| Имя | Тип | По умолчанию |
|---|---|---|
centerOfMass | Vector3 | — |
SetInertiaDiagonalvoid
public void SetInertiaDiagonal(Vector3 inertiaDiagonal);| Имя | Тип | По умолчанию |
|---|---|---|
inertiaDiagonal | Vector3 | — |
SetInertiaOrientationvoid
public void SetInertiaOrientation(Quaternion inertiaOrientation);| Имя | Тип | По умолчанию |
|---|---|---|
inertiaOrientation | Quaternion | — |
SetInertiaTensorvoid
public void SetInertiaTensor(Basis inertiaTensor);| Имя | Тип | По умолчанию |
|---|---|---|
inertiaTensor | Basis | — |
SetLinearVelocityvoid
public void SetLinearVelocity(Vector3 linearVelocity);| Имя | Тип | По умолчанию |
|---|---|---|
linearVelocity | Vector3 | — |
SetMassvoid
public void SetMass(float mass);| Имя | Тип | По умолчанию |
|---|---|---|
mass | float | — |
ToDictionaryReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary ToDictionary();Сериализует этот экземпляр GLTFPhysicsBody в Reckfell.Collections.Dictionary. Он будет в формате, ожидаемом расширением OMI_physics_body glTF.
Reckfell.Collections.DictionaryToNodeCollisionObject3D
public CollisionObject3D ToNode();Преобразует этот экземпляр GLTFPhysicsBody в узел Reckfell CollisionObject3D.
CollisionObject3D