Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 Default PawnとSpectator Pawnについて

Game Modeに設定可能なクラスとして、"Default Pawn Class"と"Spectator Class"というものがあります。これらに関してはあまり公式にも具体的な解説がありません。不要な方には不要なものですが、改めて解説してみます。

f:id:alwei:20160424224828p:plain

Default Pawnについて

Default Pawnは設定をすると、Player Startを配置した場所に設定したPawnを継承したクラスをスポーンすることができます。あくまでもPawnである必要があるため、単なるActorをスポーンすることはできません。

スポーンされたPawnには自動的にPlayer ContorollerがPosses(所有)した状態となり、キーやパッドの入力情報を受け付けることが可能となります。もしここでDefault Pawnを設定していなくても、既に配置済みのPawnを継承したクラスであれば、エディター上から"Auto Possess Player"というプロパティで"Player 0"と指定してあげると自動的に所有状態となるので、入力情報を受け付けることが可能となります。

f:id:alwei:20160424232659p:plain

ちなみにGame ModeでDefault Pawn Classを指定したとしてもこちらの設定の方が優先度が高いようです。Game Modeで設定しているのになぜか操作したいキャラが違う!という時は操作されているキャラクターに"Auto Possess Player"が設定されていないか確認してください。

更にこれとは別に"Default Pawn"という名前のクラスが用意されています。このクラスは本当にデフォルトで用意されているPawnの一種ですが、最初から基本的なカメラ操作とコリジョンとスフィアのメッシュを持っています。WASDとQEというエディターで標準の移動方法がそのまま使えますので、デバッグ用途などで利用することができます。

Spectator Pawnについて

このSpectator Pawnというものは公式にもほとんど解説がありません。名前から推測するに、Spectatorとは『観戦者』という意味であり、ゲームに直接参加していない人が観戦したいという時に利用されるようです。

Game ModeからSpectator Classを設定できるのですが、どうやらUE4.11現在ブループリント上から自分をSpectatorとして使用する方法はどうやらなさそうです。なので自分をSpectatorとして扱いたい場合にはC++コードからPlayer Controller経由でアクセスするしかなさそうです。Spectatorになると、ネットワーク経由で他人のマッチを観戦したり、デモのリプレイ時に自由なカメラから楽しむといったことが可能となるようです。

ではそういった使い方をしない、ほとんどの人にこのSpectatorとは意味がないものなのか?少し調べてみました。

デフォルトで"Spectator Pawn"というクラスが用意されています。このクラスは"Default Pawn"クラスとほとんど同じですが、スフィアのスタティックメッシュが省かれた状態のままスフィアコリジョンを持つという特殊なクラスとなっています。また移動機能も保持したまま、WorldStaticであるオブジェクトとのみ当たり判定をするという設定がされています。

f:id:alwei:20160424234857p:plain

Default Pawnクラスとは違って見た目がないので、当然観戦に向きますし、一時的にプレイヤーキャラクターのカメラから離れて透明なまま、第三者視点にしておきたい場合になど有効です。透明なプレイヤーキャラクターを実装する時にも役立ちます。

あまり目立った機能ではありませんが、覚えておくと役立つこともあるかもしれません。