【STEP4-2】アスレチックステージ風の「動く床」を作ってステージに配置しよう

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

ブループリントを使って動く床を作ります。3Dアクションゲームで必ず登場する動く床は、わずか4つのノードを繋げることで完成します。ここから少し内容が難しくなりますが、すべてを理解しようとせず、まずは手順通りに進めてみてください。

ブループリントを入れておくフォルダを作る

まずは、自分が作ったブループリントをまとめておくフォルダを用意します。画面左下のコンテンツドロワーを開き、左側のメニューから「コンテンツ」をクリックします。右クリックで新規フォルダを作成し、名前を「MyBlueprint」と付けてください

コンテンツドロワーを表示させる。ショートカットは[Ctrl]+[スペース]なので、いちいちマウスを持っていくのが大変と感じる方は操作を覚えておこう。その後、左側にあるコンテンツをクリックしよう

コンテンツの中には最初からLevel PrototypingやMannequinなどのフォルダが用意されている。これらのフォルダの近くの「なにもないところ」で右クリックし、新規フォルダを作成する。上から4番目に「新規フォルダ」があるので、これをクリックして名前を「MyBlueprint」に変更しよう

これで、コンテンツ内に「MyBlueprint」というフォルダができました。もちろん、今の状態では中身は空っぽです。ここから中身を作っていきます。

ブループリントクラス「アクター」を作る

「MyBlueprint」フォルダの中に、ブループリントクラスを作っていきましょう。先ほどと同じように、なにもないところを右クリックし、「ブループリントクラス」をクリックします。自動的に「親クラスを選択」というメッセージがポップアップするので、「アクタを選びます。

ここではブループリントクラスを選択。先ほどの「新規フォルダ」の2つ下にあるはずだ。なにかを追加するときは、だいたい右クリックのメニューから始まる

親クラスを選択する。ここでは1番上の「アクタ」を選択しよう

このブループリントが何者なのかが分かるように、名前を付けておきます。動く床なので、「MovingFloor」と名付けました。必ず半角英数字で入力することを覚えておきましょう。

名前をつけ忘れた場合は、ブループリントを選択した状態でF2キーを押すことで改めて入力することができる。ちなみに、この操作はUE5独自のものではなく、Windowsのフォルダ名やファイル名を変更するショートカットと同じ。覚えておくと役に立つはずだ

乗りやすいサイズの床板を作る

MovingFloorをダブルクリックするとブループリント画面に移動します。ここでは、このアクターがどういったものかを設定していきます。まずは「動く床」そのものを作るために、床板を用意していきます。

床板はキューブから作ります。画面左上の「+追加」ボタンを押し、キューブを選択します。表示されたキューブの形状を変えて床板らしくするために、続いては画面右側の「トランスフォーム」の数値を以下のように設定します。

X:1.0(初期値)

Y:1.0(初期値)

Z:0.1

床板のもととなるキューブを作る。画面左上の「+作成」をクリックし、その中からキューブを選択する。こうすると、中央のビューポートにキューブが現れる。表示されたキューブが大きくて見づらい場合は、マウスホイールを動かして縮小を試してみよう

キューブの状態では床板に見えないので、これを薄くしたい。ここで使うのが「トランスフォーム」だ

トランスフォームは画面の右側にある。数値を入力する欄がいくつかあるが、ここでは青枠の数字を0.1に変えるとちょうどいい板になる。数値を変えて、エンターキーを押してみよう

高さが1/10になったことで板状に変形。これで乗りやすい板になった

なお、初期状態では「Cube」という名前になっていますが、あとから分かりやすいように「MovingBoard」などの名称に変更しておきましょう。

イベントグラフ画面でノードをつなげていく

ここからはSTEP4-1でも触れたノードが登場します。「ビューポート」で床板を作ることに成功したら、その横にある「イベントグラフ」を開いて、動きの設定をしていきます。

イベントグラフをクリック。この中でさまざまなノードをつなぎ、機能を作っていく

最初から薄い色をした3つのノードが並んでいますが、今回使うのは1番上にある「イベント BeginPlay」だけです。このBeginPlayの右側のピンをドラッグし、なにもないところでドロップすると、「その先に作ることのできるノードの一覧」が表示されます。数が膨大なので、検索欄に「timeline」と入力して、「タイムラインを追加する」という項目を探しましょう。

タイムラインを追加したら、役割が分かりやすいように名前を「BoardMovement」に変えておきます。

とにかく実行可能なアクションは数が多い。1つ1つ見ていくのは不可能なので、検索欄にtimelineと入力し、タイムラインに関係のあるものだけを表示させよう。今回使う「タイムラインを追加する」は1番下にある

タイムラインで「床がどのくらい動くのか」を設定する

タイムラインが追加できたら、ダブルクリックで中に入りましょう。まだ中にはなにもないので、最初に「+トラック」から、フロートトラックを追加しておきます。

フロートトラックを追加。場所は画面の左上あたり、ビューポートの真下にある

こちらが「フロートトラック」。ここにも名前をつけることができるので、ここでは「MovementRange」とした。どのくらいの時間でどのくらい動くのか?を数値で設定していく

フロートトラックでは、キーフレームという「時間によって変化する値の支点」を打っていきます。フロートトラックの上で右クリックし、「CurveFloat_0にキーを追加」を選択すると、好きな位置にキーフレームを打つことができます。まずはトラックの上に3つのキーフレームを入れてみましょう。

その後、それぞれのキーフレームの数値を以下のように変更してみます。

1番目(左)のキーフレーム 時間:0 値:0

2番目(中央)のキーフレーム 時間:2.5 値:250

3番目(右)のキーフレーム 時間:5.0 値:0

ここまでできたら、最後に必ず「ループ」をクリックしておきましょう。

指定の位置にキーフレームを入力したフロートトラック。指定した数値が大きいと画面からキーフレームがはみ出してしまう場合もあるが、左上の[↔][↕]ボタンを1度ずつ押すことで画面内にすべてのキーフレームを収めることができる。ステージの内容などを照らし合わせながら数字を検討したり、複雑な動きにするためにキーフレームの数を可変してもよいが、今の段階ではシンプルな動きでよいだろう

必ずループをONにしておく。ループがOFFだと、動く床がタイムラインの終点で止まってしまうためだ

イベントグラフに戻り、「場所を変える」ノードを繋ぐ

ここまでできたら、残すところはあとひとつ。イベントグラフ画面に戻り、先ほどのタイムライン「BoardMovement(または、自分でつけた名前)」の右側のUpdateのピンから、「Set Relative Location(MovingBoard)」を選択します。

先ほどと同様に、必要なアクションの冒頭を入力すると検索が可能。Set Relative Location(MovingBoard)という、いかにもな名前のアクションを選ぼう

これで「Board」を動かすことができます。最後に、「SetRelativeLocation」の黄色いピンを右クリックし、「構造体ピンを分割」を選びます。分割したら、Y軸(横移動)のピンと、先ほどのフロートトラック「MovementRange(または、自分でつけた名前)」を繋ぎましょう。

構造体ピンを分割する。今回はY軸(横)に繋いだが、Z軸に繋げば上下に移動する床を作ることもできる。タイムラインを別で用意して、それぞれを繋ぐことで複雑な動きを作ることも可能なので、余裕があればいろいろ試してみよう

完成図。この通りになっているだろうか?うまくいかない場合は、こちらの画像の通りに作り直してみよう

すべて完成したら、最後に左上の「保存」と「コンパイル」をクリックします。これでブループリントの画面は閉じても構いません。右上の☓ボタンから閉じてしまいましょう。

コンパイル後はチェックマークがつく。設定を変更するたびに都度コンパイルが必要になるが、これはお作法として覚えておこう

ゲーム内に作った床を配置して、動きを確かめる

ようやく動く床が完成しました。あとは、ステージの好きな場所に置いてみましょう。置き方は、自分が作った「MovingFloor」をドラッグ&ドロップするだけです(最初に作ったフォルダの場所、覚えていますか?見つからない方は、コンテンツの中にあるフォルダの中を探しましょう)。

無事に動く床を実現できた。一度やり方が分かってしまえば、3分ほどで実現できるはずだ。床は複数置いてもいいし、別の動きをする床をブループリントで作ってみてもいい。最初からすべてを理解する必要はないので、遊びながらやり方を覚えていこう

いよいよ次が最後のSTEPです。またブループリントが登場するので、今回の内容を覚えているうちに先に進みましょう。

NEXT STEP >>

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


『ゲームづくりを始めよう』に戻る

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

関連記事

「流れる方向」の情報をテクスチャに持たせて、マテリアルで水の流れを表現。ロジカルビートが解説記事をブログで公開
2024.10.18
テクニカルアーティスト向けのUnity解説、よりクリーンなコードを書く方法、HDRPの活用方法など。Unity公式サイト、日本版電子書籍を無料公開中
2024.10.16
Blender 4.3 ベータ版リリース。グリースペンシル 3.0や新規ジオメトリノードのほか、EEVEEでのライトリンキングが使用可能に
2024.10.07
サウンド担当者が開発中タイトルの最新仕様を知るには?『ゼルダの伝説 ティアーズ オブ ザ キングダム』の“フラットなモノ作り”を実現した開発環境【CEDEC2024】
2024.10.04
ゲームの「最適化」って何? Vol.2 カメラ外のオブジェクトを描画しない「カリング」の仕組みや軽くなる理由を解説!
2024.10.04
ゲームプログラミングにおけるデザインガイド、ユニティ・テクノロジーズ・ジャパンが日本語版の電子書籍を無料公開
2024.09.30

注目記事ランキング

2024.10.16 - 2024.10.23
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

法線
ホウセン 頂点がどの方向に向いているのかを決定するベクトル情報。ライティング情報を受けて、どのような方向に陰影を作リ出すかを決定する処理に利用する。 マテリアル内で、計算やテクスチャ情報により法線をコントロールすることで、メッシュそのものを弄らずに立体感を出すことが可能。 面の表裏を表す面法線もある。
VIEW MORE

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