CharacterController QML Type

キャラクターの動きを制御します。詳細...

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

PhysicsBody

プロパティ

シグナル

  • shapeHit(PhysicsNode *body, vector3D position, vector3D impulse, vector3D normal) (since 6.6)

メソッド

詳細説明

CharacterController型はキャラクターの動きを制御する。

キャラクタは外部からの制御で動くエンティティですが、物理的なバリアに制約され、(オプションで)重力の影響を受けます。これは、dynamic rigid bodies とは対照的で、物理シミュレーションによって完全に制御されるか(非キネマティックボディの場合)、バリアに関係なく配置された場所に正確に移動します(キネマティックオブジェクトの場合)。

キャラクタコントローラの動きを制御するには、movement を希望の速度に設定します。

一人称視点の場合、カメラは通常、キャラクタ コントローラ内に配置されます。

注: collisionShapes は、単一のCapsuleShape に設定する必要があります。他の形状には対応していません。

: キャラクタ コントローラは、カプセル シェイプの高さの 4 分の 1 より低い障害物をスケーリングできます。

Shapes and Bodies の概要ドキュメントも参照してください

プロパティの説明

collisions : Collisions [read-only]

このプロパティは、キャラクタの現在の衝突状態を保持します。衝突なしの場合はNone 、衝突ありの場合はSide 、衝突ありの場合はUp 、衝突ありの場合はDown の OR の組み合わせです:

定数説明
CharacterController.Noneキャラクタは何も触れていません。重力が NULL でない場合、これはキャラクタが自由落下していることを意味します。
CharacterController.Sideキャラクタが横の何かに触れている。
CharacterController.Upキャラクタが上の何かに触れている。
CharacterController.Downキャラクタが下にあるものに触れている。標準重力では、これはキャラクタが地面にいることを意味します。

注: 方向は標準重力に対して相対的に定義されます。Up は、CharacterController.gravity の値に関係なく、常に正の y 軸に沿っています。PhysicsWorld.gravity


enableShapeHitCallback : bool [since 6.6]

このプロパティは、このキャラクタ コントローラのCharacterController::shapeHit コールバックを有効/無効にします。

デフォルト値:false

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


gravity : vector3d

このプロパティは、キャラクタに適用される重力加速度を定義します。地面を歩くキャラクタの場合、通常はPhysicsWorld.gravity に設定します。三次元の移動制御を持つ浮動キャラクタは、通常、重力(0, 0, 0) を持ちます。

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


midAirControl : bool

このプロパティは、キャラクタが自由落下しているときにmovement プロパティ が効果を持つかどうかを定義します。これは、gravity が NULL でない場合にのみ関係します。値がtrue の場合、キャラクタはmovement が変化すると空中で方向を変えます。値がfalse の場合、キャラクタは他のオブジェクトにぶつかるまで現在の軌道を進みます。

デフォルト値:true


movement : vector3d

このプロパティは、キャラクタの制御されたモーションを定義します。これは、重力がなく、他の物理オブジェクトと相互作用しない場合のキャラクタの 移動速度です。

このプロパティはキャラクタの実際の速度を反映しません。キャラクタが地形に引っかかっている場合、キャラクタはmovement で定義された速度よりも遅く動くことができます。逆に、キャラクタが自由落下している場合は、かなり速く移動することがあります。

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


シグナル ドキュメント

[since 6.6] shapeHit(PhysicsNode *body, vector3D position, vector3D impulse, vector3D normal)

このシグナルは、movement が呼び出され、DynamicRigidBody またはStaticRigidBody と衝突し、enableShapeHitCallbacktrue に設定されている場合に発せられます。パラメータ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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。