DynamicRigidBody QML Type
動いたり動かされたりすることができる肉体。詳細...
| Import Statement: | import QtQuick3D.Physics |
| Since: | Qt 6.4 |
| Inherits: |
プロパティ
- angularAxisLock : AxisLock
- centerOfMassPosition : vector3d
- centerOfMassRotation : quaternion
- density : real
- gravityEnabled : bool
- inertiaMatrix : list<real>
- inertiaTensor : vector3d
- isKinematic : bool
- isSleeping : bool
(since 6.9) - kinematicEulerRotation : vector3d
(since 6.5) - kinematicPivot : vector3d
(since 6.5) - kinematicPosition : vector3d
(since 6.5) - kinematicRotation : quaternion
(since 6.5) - linearAxisLock : AxisLock
- mass : real
- massMode : MassMode
方法
- void applyCentralForce(vector3d force)
- void applyCentralImpulse(vector3d impulse)
- void applyForce(vector3d force, vector3d position)
- void applyImpulse(vector3d impulse, vector3d position)
- void applyTorque(vector3d torque)
- void applyTorqueImpulse(vector3d impulse)
- void reset(vector3d position, vector3d eulerRotation)
- void setAngularVelocity(vector3d angularVelocity)
- void setLinearVelocity(vector3d linearVelocity)
詳細説明
この型は動的剛体を定義します。物理シーンの一部であり、質量と速度を持つ物理オブジェクトのように振る舞うオブジェクトです。
注: triangle mesh 、height field 、plane のジオメトリ形状は、isKinematic がfalse の場合、衝突形状として許可されません。
プロパティ ドキュメント
angularAxisLock : AxisLock
このプロパティは、DynamicRigidBody.AxisLock enumによって定義された軸に沿ってボディの角速度をロックします。複数の軸をロックするには、それらの列挙値をビット単位で指定します。
利用可能なオプション:
| 定数 | 説明 |
|---|---|
DynamicRigidBody.None | 軸ロックなし。 |
DynamicRigidBody.LockX | X 軸をロックする。 |
DynamicRigidBody.LockY | Y軸をロックする。 |
DynamicRigidBody.LockZ | Z軸をロックする。 |
デフォルト値:DynamicRigidBody.None
centerOfMassPosition : vector3d
身体に対する重心の位置を定義する。massMode がDynamicRigidBody.MassAndInertiaTensor に設定されている場合にのみ使用されることに注意。
デフォルト値:(0, 0, 0)
massMode およびinertiaTensorも参照 。
centerOfMassRotation : quaternion
重心ポーズの回転を定義する。つまり、ボディに対するボディの主慣性軸の向きを指定する。これはmassMode がDynamicRigidBody.MassAndInertiaTensor に設定されている場合にのみ使用されることに注意してください。
デフォルト値:(1, 0, 0, 0)
massMode およびinertiaTensorも参照してください 。
density : real
このプロパティはボディの密度を定義する。これはmassMode がDynamicRigidBody.CustomDensity に設定されている場合にのみ使用されます。
デフォルト値:0.001
範囲:(0, inf]
massModeも参照 。
gravityEnabled : bool
このプロパティは、オブジェクトが重力の影響を受けるかどうかを定義します。
デフォルト値:true
inertiaMatrix : list<real>
慣性テンソル行列を定義する。これは列長オーダーの 3x3 行列である.この行列は対角化可能であることに注意すること.これは,massMode がDynamicRigidBody.MassAndInertiaMatrix に設定されている場合にのみ利用されることに注意してください.
デフォルト値.3x3 の単位行列.
massMode およびinertiaTensorも参照して ください.
inertiaTensor : vector3d
質量空間座標で指定されたパラメータを使って慣性テンソルベクトルを定義します。
これは3x3の対角行列の対角ベクトルです。対角でないワールド/アクター空間の慣性テンソルがある場合は、代わりにinertiaMatrix 。
慣性テンソルの成分は正でなければならず、どの成分の値も0であれば、その軸に沿った慣性は無限であると解釈される。これはmassMode がDynamicRigidBody.MassAndInertiaTensor に設定されているときのみ使用されることに注意してください。
デフォルト値:(1, 1, 1)
massMode およびinertiaMatrixも参照してください 。
isKinematic : bool
この特性は、物体が運動学的かどうかを定義する。キネマティックオブジェクトは外力の影響を受けず、無限の質量を持つオブジェクトと見なすことができます。このプロパティが設定されている場合、物理オブジェクトは外力に関係なく、すべてのシミュレーションフレームで目標位置に移動します。なお、キネマティックオブジェクトを移動・回転させるには、kinematicPosition,kinematicRotation,kinematicEulerRotation,kinematicPivot プロパティを使用する必要があります。
デフォルト値:false
kinematicPosition,kinematicRotation,kinematicEulerRotation, およびkinematicPivotも参照してください 。
isSleeping : bool [since 6.9]
体が眠っている場合はtrue に設定される。このプロパティを設定することは技術的には可能ですが、物理シミュレーションが実行されているすべてのフレームで設定される読み取り専用のプロパティと見なされるべきです。
このプロパティは Qt 6.9 で導入されました。
kinematicEulerRotation : vector3d [since 6.5]
オブジェクトがキネマティックであるとき、つまりisKinematic がtrue に設定されているときのオイラー回転を定義します。シミュレーションの各反復で、物理オブジェクトはこの値に従って更新されます。
デフォルト値です:(0, 0, 0)
このプロパティは Qt 6.5 で導入されました。
isKinematic,kinematicPosition, kinematicEulerRotation, およびkinematicPivotも参照してください 。
kinematicPivot : vector3d [since 6.5]
オブジェクトがキネマティックであるとき、つまりisKinematic がtrue に設定されているときのピボットを定義します。シミュレーションの各反復で、物理オブジェクトはこの値に従って更新されます。
デフォルト値です:(0, 0, 0)
このプロパティは Qt 6.5 で導入されました。
isKinematic,kinematicPosition,kinematicEulerRotation,kinematicRotationも参照してください 。
kinematicPosition : vector3d [since 6.5]
オブジェクトがキネマティックであるとき、すなわちisKinematic がtrue に設定されているときのオブジェクトの位置を定義します。シミュレーションの各反復で、物理オブジェクトはこの値に従って更新されます。
デフォルト値です:(0, 0, 0)
このプロパティは Qt 6.5 で導入されました。
isKinematic,kinematicRotation,kinematicEulerRotation,kinematicPivotも参照してください 。
kinematicRotation : quaternion [since 6.5]
オブジェクトがキネマティックであるとき、つまりisKinematic がtrue に設定されているときのオブジェクトの回転を定義します。シミュレーションの各反復で、物理オブジェクトはこの値に従って更新されます。
デフォルト値です:(1, 0, 0, 0)
このプロパティは Qt 6.5 で導入されました。
isKinematic,kinematicPosition,kinematicEulerRotation,kinematicPivotも参照してください 。
linearAxisLock : AxisLock
このプロパティは、DynamicRigidBody.AxisLock enumによって定義された軸に沿ってボディの直線速度をロックします。複数の軸をロックするには、それらの列挙値をビット単位で指定します。
利用可能なオプション:
| 定数 | 説明 |
|---|---|
DynamicRigidBody.None | 軸ロックなし。 |
DynamicRigidBody.LockX | X 軸をロックする。 |
DynamicRigidBody.LockY | Y軸をロックする。 |
DynamicRigidBody.LockZ | Z軸をロックする。 |
デフォルト値:DynamicRigidBody.None
mass : real
このプロパティはボディの質量を定義する。これはmassMode がDynamicRigidBody.CustomDensity またはDynamicRigidBody.DefaultDensity でない場合にのみ使用されることに注意してください。また、値 0 は質量が無限大であると解釈され、負の数は許可されないことに注意してください。
デフォルト値:1
範囲:[0, inf]
massModeも参照してください 。
massMode : MassMode
このプロパティは、このボディの質量と慣性の計算方法を記述する列挙型を保持する。
利用可能なオプション
| 定数 | 説明 |
|---|---|
DynamicRigidBody.DefaultDensity | 一様な密度を仮定して質量と慣性を計算するために、PhysicsWorld のdefaultDensity プロパティで指定された密度を使用する。 |
DynamicRigidBody.CustomDensity | 一様な密度と仮定して質量と慣性を計算するために、density で指定された密度を使用する。 |
DynamicRigidBody.Mass | 指定された質量を使用して、一様な密度を仮定して慣性を計算する。 |
DynamicRigidBody.MassAndInertiaTensor | 指定された質量値と慣性テンソルを使用する。 |
DynamicRigidBody.MassAndInertiaMatrix | 指定された質量値を使用し、指定された慣性行列から慣性を計算する。 |
デフォルト値:DynamicRigidBody.DefaultDensity
方法 ドキュメント
void applyCentralForce(vector3d force)
体の中心にforce 。
void applyCentralImpulse(vector3d impulse)
体の中心にimpulse 。
void applyForce(vector3d force, vector3d position)
force 、ボディのposition 。
void applyImpulse(vector3d impulse, vector3d position)
impulse 、ボディのposition 。
void applyTorque(vector3d torque)
ボディにtorque 。
void applyTorqueImpulse(vector3d impulse)
ボディにトルクimpulse をかける。
void reset(vector3d position, vector3d eulerRotation)
身体のposition とeulerRotation をリセットする。
void setAngularVelocity(vector3d angularVelocity)
ボディのangularVelocity 。
void setLinearVelocity(vector3d linearVelocity)
ボディのlinearVelocity 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.