【STEP4-3】「触るとゲームオーバーになるトゲ」を作ってステージに配置しよう

2022.01.22
ゲームづくりの知識
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!
目次

ブループリントを使って「触るとゲームオーバーになるトゲ」を作ります。より正確には、キャラクターがトゲに接触すると、「やられた!」という文字列が表示されるというもの。UE5では簡単に当たり判定を設定することができるので、「当たったら文字が出る」という仕組みを素早く作っていきましょう。

トゲ用のアクターを作る

STEP4-2で作ったコンテンツ内の「MyBlueprint」フォルダに、新しくActorを作っていきます。手順は前回と同じく、フォルダ内のなにもないところを右クリックし、「ブループリントクラス」を追加後、Actorを選択します。名前はDamageNeedleとしておきます。

コンテンツ > MybluePrint内に、DamageNeedleというアクターを作成した。

トゲの形状を用意する

続いて、トゲの形状を作りましょう。これも前回の「床板」の作り方とほとんど同じです。「+追加」ボタンを押して、メニューの一番下にある「コーン」を選択します。

コーンを選択すると円錐が現れる。この時点でトゲとして完成されているので、今回はこのまま進めていく。

そのままで十分トゲに見えるので、トランスフォームで形を変える必要はありません。名前はシンプルに「Needle」としておきます。

当たり判定を設定する

ゲームでは、自分のキャラクターがステージ上のギミックに触れることでなにかが起こります。コインに触れたらスコアが増える、敵に触れるとダメージを受ける、あるいは今回のようにトゲに触れるとゲームオーバーになってしまうなどです。この接触を判定するのが「当たり判定」です。

当たり判定は、先ほどのNeedleを選択した状態で、「+追加」から「Box Collision」を選択することで作られます。表示されたオレンジ色の枠の中に入ったら「触った!」と判定される仕組みになります。Box Collisionにも名前がつけられるので、今回は「NeedleCollision」としておきました。

Collision(コリジョン)とは、当たり判定のこと。オレンジ色の枠線が当たり判定を示している。Box Collisionなので、その名の通りBox型になっている。より細かく当たり判定を作る方法も存在するが、今回は割愛する。

という設定にしたいので、先ほどのNeedleCollisionを少し上に移動させます。移動の方法はほかのオブジェクトと同じく、移動ツールの青い矢印をドラッグしましょう。

「トゲに刺さったらやられてしまう」という状況を作るために、当たり判定を少し上に移動させた。これで思った通りの挙動になるはずだ。

「当たり判定の中に入ったら○○する」という指示を出す

ここから、イベントグラフで「触ったあとになにをするか?」を設定していきます。前回はゲームが始まったら自動的にスタートするBeginPlayというノードを始点に使いましたが、今回は「コリジョン(当たり判定)の中になにかが入ってきたらスタートする」という「On Component Begin Overlap」を使います。

イベントグラフ画面で、先ほど作った「NeedleCollision」を選択します。すると、画面右側に詳細な設定が現れます。下の方にスクロールしていくと、緑色の+ボタンがたくさん並んだパネルがあるはずです。上から2番目にある「On Component Begin Overlap」をクリックしましょう。

左側にあるNeedleCollisionを選択し、右側の詳細パネルを下までスクロールする。難しそうな設定項目がたくさん現れるが、すべて無視して下まで行こう。イベント > 「On Component Begin Overlap」を選択する。

On Component Begin Overlap(NeedleCollision)がイベントグラフ内に現れた。

今回はこれをスタート地点として、ブループリントを組んでいきます。

「やられた!」という文字列を表示させる

次に、当たり判定の中に入ったら「やられた!」と表示させるノードを作ります。文字を表示させるには、「Print String」というノードを使います。「On Component Begin Overlap」からノードを引っ張って、「Print String」を選択します。

先ほど作ったOn Component Begin Overlapからノードを伸ばし、実行可能なアクションの検索欄に「print」と入力。Print Stringはすぐに見つかるはずだ。

Print Stringと繋いだ。今回はこれだけでOK。

「In String」には「あいうえお」のような文字列を入れることができ、この文字列が「Print String」されます。ということで、ここには「やられた!」と入力しておきましょう。

In Stringには文字を入力できる。最初は「Hello」となっているので、「やられた!」と入力し直してみよう。

ここまで出来たら「保存」「コンパイル」を行い、ブループリントの画面を閉じましょう。

ステージにトゲを配置して、ぶつかってみよう

最初に作ったDamageNeedleを適当な場所にドラッグ&ドロップします。地面に半分埋まった状態で配置されているはずなので、青い矢印を引っ張って、地面ぴったりに接地するようにしてみます。

ステージ内にトゲを配置した。地面にめり込んでいるので、移動ツールの青い矢印で少し引っ張り上げてみよう。

実際にきちんと動作するかどうか、「プレイ」をして確かめてみましょう。キャラクターを操作して、トゲにぶつかりに行きます。

トゲの先端めがけてジャンプしたところ、「やられた!」と表示された。

ここまでで、3Dアクションゲームを構成する基本的な要素を作ることができました。STEP4までの知識で、例えば「スフィアを転がしながら、トゲを避けてゴールを目指す」といったゲームはすぐに作り始めることができるでしょう。ステージを作るためにオブジェクトを増やしたり移動させたり、特定の条件で「やられた!」「ゴール!」といった文字列を表示させることもできるはずです。応用すれば、動くトゲも作ることができます。

「ゲームづくりをはじめよう」チュートリアルはここで終わりです。今日から、あなただけのゲームづくりをスタートさせましょう!

 


「ゲームづくりを始めよう」に戻る

作業を中断する場合は「名前をつけて保存」をします。再開する場合はUE5を立ち上げて、最近使ったファイルから「MyFirstGame(または自分で付けた名前)」のものをダブルクリックして再び立ち上げましょう。

関連記事

『呪術廻戦 ファンパレ』シナリオパート制作に迫る開発者インタビュー。Live2Dキャラクターの実在感を高める3Dライティングと作品愛あふれるワークフロー【CAGC2024】
2024.07.03
『呪術廻戦 ファントムパレード』の「夢幻廻楼」背景演出について、サムザップが技術ブログで解説。無限に続く塔、天候の変化を表現する方法とは
2024.06.26
雲が流れる速度や色彩変化を低コストで調整。UnityのSRPとVolumeを活用した事例をQualiArtsが紹介
2024.06.21
スクワッドスターズ株式会社 岡田 和也氏による「猫でも分かる ゲームエンジンのサンプルを面白くする方法」の講演動画・スライドを公開!【ゲームメーカーズ スクランブル2024】
2024.06.18
3DCG教え屋さん 和牛先生氏による「初心者からのステップアップ!見る人に楽しんでもらうための丁寧なBlender」のスライドを公開!【ゲームメーカーズ スクランブル2024】
2024.06.17
500以上のアニメーションを同梱。UE5.4の「Motion Matching」学習に役立つサンプルプロジェクトをEpic Gamesが無料公開
2024.06.13

注目記事ランキング

2024.07.11 - 2024.07.18
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

パッケージ化
パッケージカ ゲーム開発において、ゲームの実行に必要なデータのみを、実行ファイルとそれに付随するデータの形式に変換すること。プラットフォームに合わせたファイルフォーマットに変換するほか、この段階でアセットファイルを再利用や改ざんすることができないように暗号化することが多い。
VIEW MORE

Twitterで最新情報を
チェック!