先に前回・前々回の記事を読んでから、この記事を読み始めていただきたいです。こんにちは、名残惜しいですが『パンチングゲーム制作』は今回で一旦の最終回です。『敵が死亡したら消える処理』をやってきました。『出来上がったものを試しにプレイ』をやっていきます。11.敵のブループリントを実装しよう!(ラスト)敵のブループリントもこれで最後です。これまでに『生存している間、移動する処理』と『死亡したら消える処理』を実装してきました。なると、残っている処理は『生存/死亡を切り替える処理』です。最初の仕様の通り、生存/死亡が切り替わるタイミングとは『プレイヤーに殴られた時』となります。プレイヤーに殴られた時に呼び出されるイベントに、生死を切り替える処理を実装しましょう。したら忘れている方もいるかもしれませんが、こういう時こそ『BPインターフェイス』を利用します。画面上の『クラス設定』を選択し、『詳細ウィンドウ』の『インターフェース』→『実装インターフェース』に、初期に作成した『PunchingInterface』を追加しましょう。これで、殴られたとき用のイベントが追加できるようになります。ブループリント上で右クリックを行い、これまた最初に作成した『Punching』イベントを追加しましょう。(インターフェイス追加後にコンパイルしないと表示されないので要注意です)これが殴られた時に呼び出されるイベントです。あとはこの先に生死を切り替える処理を実装しましょう。生死を判定している変数とは、そう、『IsAlive』です。『IsAlive』をFalseに変えてしまえば敵の実装も完了です!12.ブループリントを修正しよう!(ラスト)敵のBP実装が終わったところで、今度はテンプレートのBPに一部処理を追加します。追加する箇所は『BP_MotionController』です。処理を追加するといってもノード2つだけなので身構えないで大丈夫です。ActorBeginOverlap』ノードに、先ほど敵側のBPで作成した『Punching』の呼び出し処理を繋げるだけでOKです。これで、プレイヤーの拳が敵に触れたタイミングで敵側の死亡処理が呼び出されるようになります。今回はテスト目的なので気にしないことにします。ちなみに手のコリジョンは掴み状態(攻撃モード)じゃないとONにならないように最初から実装されています。このような『テンプレート側で既に行われている処理』については、また後日に説明します。13.レベルに必要なデータを配置しよう!ようやく、レベルそのものを弄るときが来ました。今回は見やすさを追求して、見下ろしカメラでの編集をお勧めします。見下ろしモードにするためには、エディタの左上から『上』を選択するだけです。マップの中心に『MotionControllerPawn』を配置しましょう。これがプレイヤーになります。『詳細ウィンドウ』の『AutoPossessPlayer』にプレイヤーのポーンを設定するのをお忘れなく。これはVR以外でも必要な処理です。続いて、エネミーをスポーンさせるポイントを配置します。モードウィンドウから『ターゲットポイント』を以下の画像のようにマップ四方に配置しましょう。ターゲットポイントが見つからない場合は、モードウィンドウで『ターゲットポイント』と検索すれば大丈夫です。一応、配置が終わったのちに編集視点を『パースペクティブ』に戻し、細かい修正もしておきましょう。これでレベルへのアクタ配置は終了、いよいよ最後にエネミーをスポーンさせる処理を行います。『レベルブループリント』を開きましょう。ターゲットポイント等、レベル側の処理は『レベルブループリント』で行われます。ここで、エネミーを出現させる処理を行います。エディタ上でターゲットポイントをクリックしておくと、レベルブループリントでもリファレンスを取得できます。Tick内で『Delay』を行い、その後に『クラスからアクタをスポーンします』のノードを繋げます。このノードは、引数Classを引数SpawnTransformの場所にスポーンさせる処理です。今回はターゲットポイントの位置にスポーンさせるため、ターゲットポイントのリファレンスから『GetActorTransform』で位置を取得して引数に設定しています。させるのはもちろん敵キャラのため『BP_Enemy_Ball』をClassに設定しましょう。その後、残りのターゲットポイントからもスポーンさせるように実装します。以下の画像では少しだけ出現タイミングをずらすため、一つのポイントからスポーン後に『Delay』を使用しています。ぶっちゃけここももっといい方法がありますが、今回はテスト目的なので気にしないように。プレビュー』を選択しないとできないので、そこだけ要注意です。ちなみに、『VRプレビュー』はUE4起動時点でHMDが接続できていないと選択できませんので、注意してください。『ゲームオーバーがないので緊張感も何もない』などと問題が山積みであることがわかります。ここからは読者の皆様が、自分なりに色々と試して作っていきましょう。いいゲームが作れるはずです。全3回、テンプレートを利用したパンチングゲーム制作はこれにて一応終了です。解説していない処理も多いです。『VRテンプレートで最初から用意されている処理』とか。次回からは、そういった『最初から用意されている処理』についての説明をします。