Unreal Engine でリスポーンを実装する方法について
プレイヤーキャラクターを復活させたいとき、レベルに配置されているギミックごとリセットしたい場合には、RestartLevel を呼ぶ方法がありますが、今回はプレイヤーキャラクターのみを復活させる方法を紹介します。
早速ですが、以下がその実装です。
簡単な説明
まずは BeginPlay でレベルの開始時に、現在の PlayerPawn を取得して、OnDestroyed にカスタムイベントをバインドします。この OnDestroyed は文字通りプレイヤーが破棄された時に呼び出されますので、破棄されたタイミングで新しく PlayerPawn (今回は TPS テンプレートを使用しているので、Third Person Character )を生成しています。
そして、生成した新しい PlayerPawn に対して PlayerController を割り当て直して操作可能にしています。最後に元に戻って新しく生成した PlayerPawn の OnDestroyed にカスタムイベントを割り当てて完了となります。
コメント