UE5初心者が「直線で往復移動する物体」や「動く床」の作り方をまとめてみた。
※物体(アクターBP)を直線移動させたい時に便利なコンポーネント「InterpToMovement」の使い方がよく分からない人は読んでみてね!
▼本文は「続きを読む」からどうぞ~!
◆「動く床」の参考動画(必見)
▲「動く床」の簡単な作り方(必見)。
▲いろいろな作り方を比較しながら解説している日本語記事。
◆[InterpToMovement]で前後に往復する「床」を作る方法
ここでは、Gorkaさんの解説動画に沿って復習用メモをまとめていく。
- 【BP作成】
コンテンツブラウザー上で右クリ>[Blueprint Class]>[Actor]クラスのブループリントを作成し、ダブルクリックで開く。 - 【ビューポートでの作業】
①左上[+Add]から[Cube]追加後、厚みや大きさを調整して床にする。
②左上[+Add]から[InterpToMovement]コンポーネントを追加。
③右[Behaviour Type]を[Ping Pong(往復移動)]へ変更。
④右[Control Points]の[+]ボタンから新規Arrayを2つ追加。
1つ目は[0,0,0]のままにして、2つ目の方に[移動させたい距離]を数字で入力。
([Position Is Relative]は往復させたいのでON)
こうすると、BPが配置された場所(A)から入力した移動先座標(B)まで行った後、再びAに戻るはずだ。
- 【基本設定】
[Duration]=移動にかかる時間
[Control Points]≒移動量の設定
[Behaviour Type]=移動形式 - 【移動形式】
[One Shot]片道1回
[One Shot Reverse]往復1回
[Loop Reset]片道ループ
[Ping Pong]往復ループ
「動く床」はたったこれだけの作業で実装できる。超簡単!!
◆動く床のBPを改造し、視覚的に配置しやすいBPへ変える
- このままだと「動く床」配置時にいちいち移動先座標の値を入力する手間がかかる。
- 上記BPのイベントグラフを少し改造すれば、数値入力が不要になるぞ!
(※物体の配置をビューポート上で動かす時と同じく、移動先座標もビューポート上で決定可能になる) - 大量に「動く床」を配置する場合は改造した方が楽。
ただ、ちょっとしか配置しないのであれば、毎回手動入力しても良いと思う。
【改造手順】
🔴前項同様に③までの作業を行うか、コピペして改名する。
※Control Points(Array)は空欄の状態にしておこう。
🔴BPの[Construction Script]内に以下のようなノードを作成する。
▲[Fullscreen]から拡大縮小。
ドラッグで範囲選択>[Ctrl+C]>UE5上で[Ctrl+V]>コピペ完了。
- 【追加する変数】
[MoveToPosition]という名前の[Vector]型変数。
※[Details]欄から[Instance Editable]と[Show 3D Widget]を有効化。 - 【Interp to Movement】
左上の[Components]欄に追加したものを、ドラッグ&ドロップで配置。
🔴このBPをレベル上へ配置した場合、[ひし型ガイド]の位置で床の移動先が決まる。
- レベルのビューポート画面で配置した物体の原点にある[ひし形ガイド]を選択後、移動させたい場所までドラッグして動かそう。
最初のやり方だといちいちDetails欄から移動先の座標を入力しないといけなかったが、改造後はより視覚的に(より簡単に)移動床を配置できるはずだ!