CharacterController QML Type
キャラクターの動きを制御します。詳細...
Import Statement: | import QtQuick3D.Physics |
Since: | Qt 6.4 |
Inherits: |
プロパティ
- collisions : Collisions
- enableShapeHitCallback : bool
(since 6.6)
- gravity : vector3d
- midAirControl : bool
- movement : vector3d
シグナル
- shapeHit(PhysicsNode *body, vector3D position, vector3D impulse, vector3D normal)
(since 6.6)
メソッド
- teleport(vector3d position)
詳細説明
CharacterController型はキャラクターの動きを制御する。
キャラクタは外部からの制御で動くエンティティですが、物理的なバリアに制約され、(オプションで)重力の影響を受けます。これは、dynamic rigid bodies とは対照的で、物理シミュレーションによって完全に制御されるか(非キネマティックボディの場合)、バリアに関係なく配置された場所に正確に移動します(キネマティックオブジェクトの場合)。
キャラクタコントローラの動きを制御するには、movement を希望の速度に設定します。
一人称視点の場合、カメラは通常、キャラクタ コントローラ内に配置されます。
注: collisionShapes は、単一のCapsuleShape に設定する必要があります。他の形状には対応していません。
注 : キャラクタ コントローラは、カプセル シェイプの高さの 4 分の 1 より低い障害物をスケーリングできます。
Shapes and Bodies の概要ドキュメントも参照してください 。
プロパティの説明
collisions : Collisions |
このプロパティは、キャラクタの現在の衝突状態を保持します。衝突なしの場合はNone
、衝突ありの場合はSide
、衝突ありの場合はUp
、衝突ありの場合はDown
の OR の組み合わせです:
定数 | 説明 |
---|---|
CharacterController.None | キャラクタは何も触れていません。重力が NULL でない場合、これはキャラクタが自由落下していることを意味します。 |
CharacterController.Side | キャラクタが横の何かに触れている。 |
CharacterController.Up | キャラクタが上の何かに触れている。 |
CharacterController.Down | キャラクタが下にあるものに触れている。標準重力では、これはキャラクタが地面にいることを意味します。 |
注: 方向は標準重力に対して相対的に定義されます。Up
は、CharacterController.gravity の値に関係なく、常に正の y 軸に沿っています。PhysicsWorld.gravity
enableShapeHitCallback : bool |
このプロパティは、このキャラクタ コントローラのCharacterController::shapeHit コールバックを有効/無効にします。
デフォルト値:false
このプロパティは Qt 6.6 で導入されました。
gravity : vector3d |
このプロパティは、キャラクタに適用される重力加速度を定義します。地面を歩くキャラクタの場合、通常はPhysicsWorld.gravity に設定します。三次元の移動制御を持つ浮動キャラクタは、通常、重力(0, 0, 0)
を持ちます。
デフォルト値:(0, 0, 0)
。
midAirControl : bool |
movement : vector3d |
このプロパティは、キャラクタの制御されたモーションを定義します。これは、重力がなく、他の物理オブジェクトと相互作用しない場合のキャラクタの 移動速度です。
このプロパティはキャラクタの実際の速度を反映しません。キャラクタが地形に引っかかっている場合、キャラクタはmovement
で定義された速度よりも遅く動くことができます。逆に、キャラクタが自由落下している場合は、かなり速く移動することがあります。
デフォルト値:(0, 0, 0)
シグナル ドキュメント
|
このシグナルは、movement が呼び出され、DynamicRigidBody またはStaticRigidBody と衝突し、enableShapeHitCallback がtrue
に設定されている場合に発せられます。パラメータbody,position,impulse,normal には、接触点のボディ、位置、インパルス力、法線が含まれます。
注意: 対応するハンドラはonShapeHit
です。
このシグナルは Qt 6.6 で導入されました。
メソッドの説明
teleport(vector3d position) |
衝突をチェックすることなく、直ちにキャラクタをposition に移動します。呼び出し側は、静的オブジェクトとの重なりを避ける責任があります。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。