目次
はじめに
今回はスプラインという機能を使って一定の航路を移動するアクタを作成します。
解説
①ブループリントの作成
アクタを親としたブループリント、BP_SplineMoveActorを作ります。
②コンポーネントの追加と編集
コンポーネントの追加からSplineを追加します。
動かしたいメッシュ、Skeletal or StaticMeshを追加します。
今回はStaticMeshを指定しました。
好きなメッシュを割り当ててトランスフォームを編集します。
Viveコントローラーを宇宙船に見立てて動かします(笑)
③イベントグラフの編集
1.タイムラインを作成
名前はMoveTimeとしました。
タイムラインをダブルクリックして開きます。
トラックからフロートトラックの追加
名前を割合を表すratioにします。
長さを1秒にします。
右クリックからキーを2つ追加します。
それぞれ(0,0) (1,1)になるようにしましょう。
これで1秒後に割合が1になるタイムラインができました。
ずっと周回してほしい場合はループにチェックを入れましょう。
タイムラインの時間を変更できるようにします。
イベントグラフに戻り、画像のようにノードを組みます。
変数へ昇格を行います。
名前をMoveTimeLengthとして目のアイコンをおしてインスタンス編集可能にします。
コンパイル後デフォルト値を10にします。
これで10秒で一周するようになりました。
これでタイムラインは完成です。
2.スプラインから位置をセットする
スプラインの割合から位置と回転を取得するノードを組みます。
取得されたワールド座標をトランスフォームの型に変更してメッシュのワールド座標に適応します。
これで基礎設計は完了です。
④使ってみよう
作成したブループリントをレベル上にドラッグアンドドロップします。
Splineコンポーネントの紐が出ているので選択します。
Altを押しながら移動させるとポイントが追加されます。
プロファイルからも作成できます。
スプラインを右クリックしてパネルを表示します。
Circleを選択してみましょう。
円形のスプラインができました。
実行してみましょう。
10秒かけてスプラインを移動する仕組みができました。
最後に
UE4やUE5向けの記事を書いています。
皆様の応援が投稿のモチベーションになりますので
コメントやTwitterのフォローなどしていただけるとありがたいです。
それではよきゲーム開発を。