DynamicRigidBody QML Type

動いたり動かされたりすることができる肉体。詳細...

Import Statement: import QtQuick3D.Physics
Since: Qt 6.4
Inherits:

PhysicsBody

プロパティ

メソッド

詳細な説明

この型は動的剛体を定義します。物理シーンの一部であり、質量と速度を持つ物理オブジェクトのように振る舞うオブジェクトです。

注: triangle meshheight fieldplane のジオメトリ形状は、isKinematicfalse の場合、コリジョン形状として許可されません。

プロパティの説明

angularAxisLock : AxisLock

このプロパティは、DynamicRigidBody.AxisLock enum で定義された軸に沿ってボディの角速度をロックします。複数の軸をロックするには、それらの列挙値をビット単位で指定するだけです。

利用可能なオプション:

定数説明
DynamicRigidBody.None軸ロックなし。
DynamicRigidBody.LockXX 軸をロックする。
DynamicRigidBody.LockYY軸をロックする。
DynamicRigidBody.LockZZ軸をロックする。

デフォルト値:DynamicRigidBody.None


centerOfMassPosition : vector3d

デフォルト値:ボディに対する重心の位置を定義する。massModeDynamicRigidBody.MassAndInertiaTensor に設定されているときのみ使用されることに注意。

デフォルト値:(0, 0, 0)

massMode およびinertiaTensorも参照してください


centerOfMassRotation : quaternion

重心ポーズの回転を定義します。つまり、ボディに対するボディの主慣性軸の向きを指定します。これは、massModeDynamicRigidBody.MassAndInertiaTensor に設定されている場合にのみ使用されることに注意してください。

デフォルト値:(1, 0, 0, 0)

massMode およびinertiaTensorも参照してください


density : float

このプロパティはボディの密度を定義します。これはmassModeDynamicRigidBody.CustomDensity に設定されているときのみ使用されます。

デフォルト値:0.001

範囲:(0, inf]

massModeも参照して ください。


gravityEnabled : bool

このプロパティは、オブジェクトが重力の影響を受けるかどうかを定義します。

デフォルト値:true


inertiaMatrix : list<float>

慣性テンソル行列を定義する。これは列長オーダーの 3x3 行列です。この行列は対角化可能であることに注意してください。これはmassModeDynamicRigidBody.MassAndInertiaMatrix に設定されている場合にのみ使用されることに注意してください.

デフォルト値.3x3 の単位行列.

massMode およびinertiaTensorも参照して ください.


inertiaTensor : vector3d

質量空間座標で指定されたパラメータを用いて,慣性テンソルベクトルを定義します.

これは 3x3 の対角行列の対角ベクトルです。対角でないワールド/アクター空間の慣性テンソルがある場合は、代わりにinertiaMatrix を使用する必要があります。

慣性テンソルの成分は正でなければならず、どの成分の値も0であれば、その軸に沿った慣性は無限であると解釈される。これはmassModeDynamicRigidBody.MassAndInertiaTensor に設定されているときのみ使用されることに注意してください。

デフォルト値:(1, 1, 1)

massMode およびinertiaMatrixも参照


isKinematic : bool

このプロパティは、オブジェクトがキネマティックかどうかを定義します。キネマティック・オブジェクトは外力の影響を受けず、無限の質量を持つオブジェクトと見なすことができます。このプロパティが設定されている場合、すべてのシミュレーションフレームにおいて、物理オブジェクトは外力に関係なく目標位置に移動します。なお、キネマティックオブジェクトを移動・回転させるには、kinematicPosition,kinematicRotation,kinematicEulerRotation,kinematicPivot プロパティを使用する必要があります。

デフォルト値:false

kinematicPosition,kinematicRotation,kinematicEulerRotation,kinematicPivotも参照


kinematicEulerRotation : vector4d [since 6.5]

オブジェクトがキネマティックであるとき、つまりisKinematictrue に設定されているときのオブジェクトのオイラー回転を定義します。シミュレーションの各反復で、物理オブジェクトはこの値に従って更新されます。

デフォルト値です:(1, 0, 0, 0)

このプロパティは Qt 6.5 で導入されました。

isKinematic,kinematicPosition, kinematicEulerRotation,kinematicPivotも参照してください


kinematicPivot : vector3d [since 6.5]

オブジェクトがキネマティックであるとき、つまりisKinematictrue に設定されているときのピボットを定義します。シミュレーションの各反復で、物理オブジェクトはこの値に従って更新されます。

デフォルト値です:(0, 0, 0)

このプロパティは Qt 6.5 で導入されました。

isKinematic,kinematicPosition,kinematicEulerRotation,kinematicRotationも参照してください


kinematicPosition : vector3d [since 6.5]

オブジェクトがキネマティックであるとき、つまりisKinematictrue に設定されているときのオブジェクトの位置を定義します。シミュレーションの各反復で、物理オブジェクトはこの値に従って更新されます。

デフォルト値です:(0, 0, 0)

このプロパティは Qt 6.5 で導入されました。

isKinematic,kinematicRotation,kinematicEulerRotation,kinematicPivotも参照してください


kinematicRotation : vector3d [since 6.5]

オブジェクトがキネマティックであるとき、つまりisKinematictrue に設定されているときのオブジェクトの回転を定義します。シミュレーションの各反復で、物理オブジェクトはこの値に従って更新されます。

デフォルト値です:(0, 0, 0)

このプロパティは Qt 6.5 で導入されました。

isKinematic,kinematicPosition,kinematicEulerRotation,kinematicPivotも参照してください


linearAxisLock : AxisLock

このプロパティは、DynamicRigidBody.AxisLock enumによって定義された軸に沿って、ボディの直線速度をロックします。複数の軸をロックするには、その列挙値をビット単位で指定します。

利用可能なオプション:

定数説明
DynamicRigidBody.None軸ロックなし。
DynamicRigidBody.LockXX 軸をロックする。
DynamicRigidBody.LockYY軸をロックする。
DynamicRigidBody.LockZZ軸をロックする。

デフォルト値:DynamicRigidBody.None


mass : float

このプロパティはボディの質量を定義する。これは、massModeDynamicRigidBody.CustomDensity またはDynamicRigidBody.DefaultDensity でない場合にのみ使用されることに注意してください。また、値 0 は無限の質量と解釈され、負の数は許可されないことに注意してください。

デフォルト値:1

範囲:[0, inf]

massModeも参照のこと


massMode : MassMode

このプロパティは、このボディの質量と慣性の計算方法を記述する列挙型を保持します。

利用可能なオプション

定数説明
DynamicRigidBody.DefaultDensity一様な密度を仮定して質量と慣性を計算するために、PhysicsWorlddefaultDensity プロパティで指定された密度を使用する。
DynamicRigidBody.CustomDensity一様な密度と仮定して質量と慣性を計算するために、density で指定された密度を使用する。
DynamicRigidBody.Mass指定された質量を使用して、一様な密度を仮定して慣性を計算する。
DynamicRigidBody.MassAndInertiaTensor指定された質量値と慣性テンソルを使用する。
DynamicRigidBody.MassAndInertiaMatrix指定された質量値を使用し、指定された慣性行列から慣性を計算する。

デフォルト値:DynamicRigidBody.DefaultDensity


方法 ドキュメント

applyCentralForce(vector3d force)

体の中心にforce を適用する。


applyCentralImpulse(vector3d impulse)

体の中心にimpulse を適用します。


applyForce(vector3d force, vector3d position)

ボディのpositionforce を適用します。


applyImpulse(vector3d impulse, vector3d position)

ボディのpositionimpulse を適用する。


applyTorque(vector3d torque)

ボディにtorque


applyTorqueImpulse(vector3d impulse)

ボディにトルクimpulse を加える。


reset(vector3d position, vector3d eulerRotation)

ボディのpositioneulerRotation をリセットする。


setAngularVelocity(vector3d angularVelocity)

ボディのangularVelocity を設定する。


setLinearVelocity(vector3d linearVelocity)

ボディのlinearVelocity を設定します。


本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。