「Vtuberの雑学メモ帳」

注目ゲームの攻略記事&VTuber関係の記事をまとめる趣味100%の雑記ブログ。※少年Vtuber「不断シエル」と姉が運営しています。

【UE5】「直線で往復移動する物体」や「動く床」を[InterpToMovement]で簡単に作る方法

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欄から移動先の座標を入力しないといけなかったが、改造後はより視覚的に(より簡単に)移動床を配置できるはずだ!