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 の値や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 に移動します。呼び出し側は、静的オブジェクトとの重なりを避ける責任があります。
© 2025 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.