第3回:落ちる床に消える床
落ちる床といえばちくわブロック。時間とともに落ちていくはかなき存在だ。
落ちる床では少し多めの機構が必要になるが意味さえ分かれば納得もできるだろう。
では実践していこう~
1.前提
前提として処理の流れを理解しよう。
「乗ってちょっと経ったら落ちる」ということではなく一つ一つの処理の見ていくと…。
1.乗る
↓
2.床はプレイヤーが乗ったということを判定する
↓
3.一定時間待機する
↓
4.落ちる
と処理されるわけだ。
この内の[1]、[2]の処理については共通なのでまずは解いていく。
[2]について床にコンポーネントにBoxcollisionを追加し、プレイヤ―が立つ位置に配置する。
その後プレイヤーが乗ったと判定するためにOn Component Begin Overlapイベント(collisionと何かが重なったとき起動するイベント)を起動する。
これにより床の上にプレイヤーが乗った(床の上に設置したコリジョンとプレイヤーが重なった)時
イベントが起動するという機構ができた。
次の[3]については1つのノードでよい。DeLay(遅延)ノードを挟むだけでOKだ!
Durationで遅延時間を変更できるぞ。
2.タイムラインによる作成
これは時間軸に合わせた数値の変化のグラフを作ることにより配置を動かすものである。
動く床でも述べたが、加速度を表現する必要があるためタイムラインで作るのが好ましい。
作った結果はこうなる。
今回は上下運動なのでタイムラインを作成し、そのタイムラインをアクターのZにリンクさせよう。
これにより1秒のうちに加速して-2000まで下に動く床ができたというわけだ。
3.物理による作成
これは時間経過後物理をONにすることで自然落下する動きを実現する方法だ。
前提さえわかれば動きは非常に簡単。ノードを一つ加えるだけだ。
物理が起動した瞬間から重心によって傾くのでシステマチックな落下というよりリアリティさに重きを置いた落下床ともいえる。
使い分けていくことが大切だろう。
4.消える床(おまけ)
消えるは最も簡単。
[3]の物理における作成のPyhsicsSimulate(物理挙動の変更)をActorDestroy(アクターを消す)に変更するだけだ一応下記にノードを記しておく。
とても簡単だね。 Destroyノードも非常に使い勝手のいいノードなので覚えておいて損なしだ!
まとめ
今まで作った2つの落ちる床と1つの消える床の比較はこちら。
ノードの配置の違い、種類の違いでこのほかにも表現方法はたくさんある。
作るゲームの色にあった表現方法を使い、彩を与えよう!