概要
フォートナイトでレースマップやパルクール、デスランなどのゲームには欠かせない仕組みに「動く床」というものがあります。
そんな「動く床」の実装方法には大きく3種類の方法があります。
①小道具移動装置(mover-device)
②レベルシーケンス
③Verse(プログラミング)
それぞれの実装方法にメリット・デメリットがあります。
この記事では「ボタンを押すと床が動く」という基本的な仕組みのレベルシーケンスでの実装方法を紹介します。
他の実装方法の解説は別記事にて
小道具操作機編
https://manabilab.or.jp/shimapro/uefn-fortnite-moving-floor-prop-moving-device/
Verse編(Coming Soon)
レベルシーケンスでの実装のメリット・デメリット
メリット
・始点と終点にキーフレームを打つだけで直感的に実装ができる。
・直線以外の動きも実装できる。
・動きの緩急をつけることができる。
デメリット
・床に乗ったら何かが動く、のような実装にはひと工夫必要
・たくさん作成する場合の実装がやや面倒。
レベルシーケンスの作り方
コンテンツブラウザを開いて(Ctrl+スペース)
右クリック>シネマティック>レベルシーケンス
これで空のレベルシーケンスが作成されます。
トラックへの追加
アウトライナーからシーケンスのトラックへドラッグ&ドロップで追加
今夏はホバープラットフォームを動かせるように設定していきます。
または「+トラック」から検索して追加もできます。
設定方法
トラックにトランスフォームを追加
トラックのホバープラットフォームの右側の「+」を押してトランスフォームを選択
キーフレームを打つ
シーケンスのタイムラインの時間が「0000」になっていることを確認して
トランスフォームに新しいキーフレームを追加する。
タイムラインの現在位置(赤いマーカー)を移動したい時間(0150)に動かして
ホバープラットフォームを目的地に動かす。
再度キーフレームを打つ。
⚠️キーフレームを打つ手順として「タイムラインのマーカー移動」→「ホバープラットフォーム(アクタ)の移動」の手順を守る必要があります。⚠️
補足1:時間と移動速度の考え方について(fpsとの関係)
キーフレームの設定項目に「fps」というものがあります。
デフォルトは30fpsに設定されています。
「fps」とは "flame per second"の略で1秒間に何コマのアニメーションで設定するかということになります。
今回の場合「30fps」でタイムラインの「0000」から「0150」の間を移動しているので
150flameかけて、つまり{150÷30=5}「5秒間かけて移動する」という設定です。
今回は5秒間かけて25メートル先に移動しているので{25÷5=5}「秒速5メートル」の移動速度で床が動くという設定です。
(終点-始点)/fps=移動にかかる時間
移動にかかる時間/移動距離=移動速度
補足2:カーブテーブエディター
シーケンスにおける移動の速度の緩急をカーブエディターで調整することができます。
タイムライン上部の「カーブエディタにアニメーションキーを表示」から設定。
トランスフォームの動きを微調整できます。
デフォルトでは「3次補間-自動線形」になっています。
この場合、動き出しと停止時がゆっくりと動くようになります。
現実における慣性の法則に近い挙動をするので、この方が自然な動きになります。
しかし、今回は等速直線運動をするように変更してみます。
タイムライン上部の「線形補間」に変更します。
キーフレームの曲線が真っすぐな直線になりました。
これで一定の速度で動き続ける「動く床」の完成です。
レベルシーケンスを再生する(ムービーシーケンスの仕掛け)
最後に”ボタンを押すと床が動く”という仕組みを作っていきます。
まずはレベルシーケンスを再生するためにムービーシーケンスの仕掛けに紐付けていきます。
・ムービーシーケンスの仕掛けの場所
コンテンツブラウザを開いて(Ctrl+スペース)
All>Fortnite>Device>ムービーシーケンスの仕掛け
(またはAllを選択した状態で検索窓にムービーシーケンスで検索)
・ムービーシーケンスの設定
ユーザーオプション>シーケンスに
作成したレベルシーケンスを設定
これでムービーシーケンスが起動するとレベルシーケンスが再生されるようになります。
・ボタンの場所
コンテンツブラウザを開いて(Ctrl+スペース)
All>Fortnite>Device>ボタン
(またはAllを選択した状態で検索窓にボタンで検索)
ボタンをビューポートにドラッグ&ドロップ。
・設定方法
ムービーシーケンスをクリックして選択
>詳細パネル>ユーザーオプション-機能>開始
配列エレメントの右の+アイコンをクリック
プルダウンから設定したいボタンを選択
さらに下のプルダウンから「On Intract」を選択
これで”ボタンを押すと床が動く”という仕組みができます。
・応用
今回「動く床」というものに絞っても出来ることは多いです。
下記の動画のように「速度に緩急をつける」「回転を加える」「拡大・縮小を加える」
などレベルシーケンスでの応用例は多岐にわたります。
記事で作った仕掛けを見に行く【島コード:9412-0859-5603】
今回記事で紹介した仕掛けを実際に見に行ける島を公開しました!
他の記事で解説の「小道具移動装置を使った動く床」「Verseを使った動く床」や応用例も置いてあります。
作る前にどんな動作が出来るか見たい方は是非お越しください。
【島コード:9412-0859-5603】