第2回:動く床の多様性
アクションゲームといえば動く床に動く壁。
能動的に動かすこともあれば罠として作動することもある。
これをできるようになることはアクションゲーム製作の第一歩といえるだろう。
というわけで今回は左右を行き来し、ループして動く床を作る。
BPのノードによる作成(非推奨)
BPのノードによる作成。結論から言うと非推奨である。理由は二つ。
➀ 手間の割に拡張性がないこと
➁ tick使用のため重くなってしまうこと。
しかし!動きをつけ方の理解・ノードの構築の理解の助けになるので知っていて損はないのだ!
それでは見ていこう!
一方通行だけならAddActorWorldOffsetまでの左2つでよいが、行き来するとなるとそうはいかない。
そこでアクターの位置が600まで到達したら逆走し、-600に到達したら順走に戻るという仕組みを作るのだ。
この機構を作るためのノード配置が上記画像の通りとなる。
前提として黄色の変数(ベクター変数)を新しく作成し、これを使って1tick当たり進みたい距離を作る。
今回の場合はx方向に5進みたいのでxに5を代入しよう。
これがspeed変数5となる。
➀ ルートはspeed変数5(=移動速度5)で進み、600に到達したら➀に進み、speedは―5になる
➁ speed-5で進むため600以上には絶対にならず、減っていく。そして-600になったとき➁に行き、speedが5に戻るという流れだ。
手間のみ多いが理論を覚えれば別の部分で応用がきかせられるだろう。
interp to movementのコンポーネントを使う
単純な移動を構築するのに非常に適当な方法である。 使い方も簡単でコンポーネントにinterp to movementを追加し赤丸の部分を変更するだけである。
・Duration: 移動する時間
・Control point: 移動する地点
・BehaviourType: 動きかた。
今回はPing Pongを使用し行き来する。
動く床を簡単に実装できるうえ、ポイントを増やすことにより四角く回るといったことなども可能。
単純な床移動や障害物に適しているだろう。
タイムラインによって作る
タイムラインは最も使い勝手が良く、応用が利くため覚えるならこれが良い。
これは時間軸に合わせた数値の変化のグラフを作ることにより配置を動かすものである。
タイムライン作成後は左上部のF+を押しタイムラインを追加する。その後右クリックでポイントを追加し、時間と数値を変更する。
最後にループにチェックを入れて完成となる。
始まりと終わりの数値を同じにすることで自然なループに見せられる。
タイムラインの最大の特徴は道中のスピードを変えることができるところにある。
上記2枚目画像の下のように加速減速が可能で、加速して落ちる床や摩擦による減速といった表現も可能となる。
また配置に限らず、回転など変数ならなんでも変更可能にしてくれるため使用の幅も広いだろう。
まとめ
動く床は動く床のみならず壁や棘やその他ギミックにも使用可能。BOXトリガーを用いた自ら起動するギミックにも可能である。
思い思いのギミックを作り、1段アップしたゲーム性を目指そう!