Pawn クラスはプレイヤーまたは AI によって制御可能な、すべてのアクタの基本クラスです。ポーンは、ワールド内のプレイヤーまたは AI エンティティの物理的な実体です。ポーンは、プレイヤーまたは AI エンティティの視覚的な表現のみならず、コリジョンや物理的インタラクションにおいて、これらのワールド内における相互作用方法を決定します。これは、特定の状況下では混乱を招く場合もあります。ゲームの種類によっては、ゲーム内に表示されるプレイヤーのメッシュやアバターが存在しないためです。いずれにせよ、Pawn はゲーム内のプレイヤーまたはエンティティの物理的な位置、回転を表します。Character は、歩行能力を持つ特別な種類のポーンです。
デフォルトで、コントローラー とポーンは 1 対 1 の関係です。つまり、各コントローラーは常にポーンを 1 つだけ管理します。また、ゲームプレイ中にスポーンされたポーンはコントローラーに自動的に所有されません。
ブループリント でポーンから派生したクラスへ動作を追加する最善の方法は、 SetActorLocation の使用です。SetActorLocation の使用で、特定の位置へテレポートまたはスウィープを決定することができます。スウィープ時は、ポーンは進行方向に沿って移動し、何かに衝突すると停止します。
Default Pawn
Pawn クラスはワールド内のプレイヤーまたは AI エンティティの物理表現の作成に不可欠な要素のみを提供しますが、 DefaultPawn サブクラスにはいくつかの追加のコンポーネントと機能があります。
DefaultPawn クラスには、ネイティブの DefaultPawnMovementComponent 、スフィア (球体) の CollisionComponent 、そして StaticMeshComponent が含まれています。カメラだけでなく DefaultPawnMovementComponent をコントロールするために、デフォルトの移動バインディングを追加するための Boolean も DefaultPawn クラスに存在し、デフォルトで True に設定されています。
DefaultPawnMovementComponent
DefaultPawnMovementComponent には、無重力の飛行スタイルが設定されています。通常の MovementComponent 変数の他に、MaxSpeed
、 Acceleration
、 Deceleration
の浮動小数点値が含まれています。これらは、DefaultPawn から派生したブループリントでもアクセスが可能です。
Spectator Pawn
SpectatorPawn クラスは DefaultPawn のサブクラスです。GameMode を使って、Pawn と SpectatorPawn に別々のクラスをデフォルトに設定することができます。このクラスは観戦機能に適したシンプルなフレームワークを提供します。.DoNotCreateDefaultSubobject(Super::MeshComponentName)
を実行したために StaticMeshComponent が作成されなくても、DefaultPawn と同じく球体の CollisionComponent を保持します。
SpectatorPawn クラスの移動は、 SpectatorPawnMovementComponent で処理されます。
必要に応じて時間の遅れの処理、またはこれを無視するためのコードが追加された、 DefaultPawnMovementComponent の無重力な飛行動作と一緒です。