概要

フォートナイトでレースマップやパルクール、デスランなどのゲームには欠かせない仕組みに「動く床」というものがあります。
そんな「動く床」の実装方法には大きく3種類の方法があります。

①小道具移動装置(mover-device)
②レベルシーケンス
③Verse(プログラミング)

それぞれの実装方法にメリット・デメリットがあります。
この記事では「ボタンを押すと床が動く」という基本的な仕組みの小道具移動装置での実装方法を紹介します。

他の実装方法の解説は別記事にて
レベルシーケンス編
https://manabilab.or.jp/shimapro/move_floor_level_sequence/
Verse編(Coming Soon)

実際の動作の様子

小道具移動装置での実装のメリット・デメリット

メリット


・実装が簡単でフォートナイトクリエイティブのみでも作ることができる。
・イベントシステムが利用できる。
・小道具に接触判定をもたせることができる。

デメリット


・直線的な移動しかできない。
・一定の速度でしか移動できない。
・たくさん作成する場合の実装がやや面倒。


仕掛けの場所

コンテンツブラウザを開いて(Ctrl+スペース)
All>Fortnite>Device>小道具移動装置
(またはAllを選択した状態で検索窓に小道具移動装置で検索)

設置の方法

先ほどのコンテンツブラウザから「小道具移動装置」をビューポートにドラッグ&ドロップ
動かしたい小道具(床)に重なるように設置します。

⚠️他の小道具に重なってしまうと他の小道具が動いてしまので、1つの小道具のみに重ねるように注意しましょう。⚠️

設定方法

【ユーザーオプション】

・距離
移動する距離の設定。
詳細設定から「メートル」と「タイル」に設定できる。
今回はメートルを採用。

・スピード
小道具の移動速度(メートル/秒)
今回の設定では25メートルを5秒かけて移動(5m/s)に設定。

・最初から移動する
ここをにしておくとゲーム開始時に移動が始まる。
今回はボタンを押すと動き出すという仕組みを作りたいのでチェックは外しておく。

【詳細設定】

・距離の単位
>メートルに設定

・プレイヤーとの衝突時の挙動
>「続行」に変更
デフォルトでは「停止」になっているので注意しましょう。

・衝突時のプレイヤーダメージ
>「0.0」に設定
ここに数値が入力されていると床に乗ったときにプレイヤーがダメージを受けてしまいます。
”動く障害物に当たったらダメージ受ける”のような仕組みを作るときはここに与えたいダメージを設定することができます。

・終点到達時のアクション
>「なし」に設定
終点に到達後は床が停まったままになります。
「反復」に設定すれば、終点に到達後に初期位置に逆の動きで戻ってくるようにできます。
「リセット」に設定すれば、終点に到達後に初期位置に瞬間移動します。

ボタンを押すと動く

最後に”ボタンを押すと床が動く”という仕組みを作っていきます。

ボタンの場所
コンテンツブラウザを開いて(Ctrl+スペース)
All>Fortnite>Device>ボタン
(またはAllを選択した状態で検索窓にボタンで検索)

小道具移動装置と同様にボタンをビューポートにドラッグ&ドロップ。

・設定方法
再度小道具移動装置をクリックして選択
>詳細パネル>ユーザーオプション-機能>開始
配列エレメントの右のアイコンをクリック
プルダウンから設定したいボタンを選択
さらに下のプルダウンから「On Intract」を選択

これで”ボタンを押すと床が動く”という仕組みができます。

・応用
今回は簡単なボタンを押すと動き出すというものを作成したが、この仕組みを理解しておくと様々なことができるようになります。
例)「特定のエリアに入ったら床が動き出す」、「敵を倒したら床が動き出す」、「床が動くとエフェクトが再生する」など

床が動くとエフェクトが再生される

上手く動作しないときに確認すること

動かしたいものは「小道具(Prop)」になっているか?
小道具移動装置で動かせるものは「小道具」のみである。
外部からインポートしたオブジェクト(FBXなど)はスタティックメッシュとなっているため小道具に変換する必要がある。

記事で作った仕掛けを見に行く【島コード:9412-0859-5603

今回記事で紹介した仕掛けを実際に見に行ける島を公開しました!
次回の記事で解説予定の「ムービーシーケンスを使った動く床」「Verseを使った動く床」も置いてあります。
作る前にどんな動作が出来るか見たい方は是非お越しください。
【島コード:9412-0859-5603】

参考サイト