37. タイムラインによるアクタの位置の制御

目的

前回はタイムラインを使用してライトの明るさをブループリントから制御する方法を学んだ.今回はタイムラインを使用してアクタの位置を制御する方法を学ぶ.

説明

ここでは,ゲームをプレイすると球が上下に往復するという例を通し,タイムラインによるアクタの位置の制御方法を説明する.

タイムラインを作る

前回学んだライトの明るさの制御とアクタの位置の制御の違いは,ライトの明るさがスカラーであるのに対し,アクタの位置はベクトル(ベクター)であることである.

  • 「TimelineLocation」という名前のタイムラインノードを作る.
  • タイムラインエディタを開く.
  • 「V+」ボタン(ベクタートラックを追加)をクリックする.
  • 「新規Track_0」という名前を「Location」に変更する.
  • グラフが表示される.
  • 「X」「Y」「Z」の横の目のアイコンをクリックする.
    • 表示・非表示を切り替えられる.
  • ここでは,球を上下に動かしたい.
    • 「X」「Y」を非表示にする.
    • 上下に往復するように「Z」座標のグラフを作る.

イベントグラフを作る

ここではSphereという名前の球が上下に往復するイベントグラフを説明する.

  • Sphereが動くように,SetMobilityノードを使用して「Movable」にする.
  • InitialLocationという名前のVector型の変数を作る.
  • Sphereの(初期)位置をGetActorLocationノードにより取得し,変数InitialLocationにセットする.
  • Sphereの初期位置InitialLocationとTimelineLocationノードの変数出力ピンLocationとの和を「Vector+Vector」ノードにより求め,SetActorLocationノードでSphereの位置を変更する.

課題

以下の新規ブループリントプロジェクトを作り,課題を行え.

  • ファーストパーソン
  • デスクトップ/コンソール
  • ハイエンド
  • スターターコンテンツ有り

設計図

課題0

設計図の通りに壁と床と部屋を作れ.

課題1

全ての部屋にテーブルと椅子とポイントライトを配置せよ.

課題2

部屋Aの手前の入口で球が横に往復するようにせよ.

課題3

部屋Bの右の入口で炎が横に往復するようにせよ.

課題4

部屋Cに入ると机が上下に動くようにせよ.

課題5

部屋Dに入ると机の上に炎が現れ,上下に往復し,部屋から出ると消えるようにせよ.

課題6

部屋Eに出入りしようとすると扉がスライドして開くようにせよ.

課題7

部屋Fに出入りしようとすると扉がスライドして開き,部屋に出入りすると閉まるようにせよ.

課題8

部屋Gに出入りしようとすると扉が左右にスライドして開くようにせよ.

課題9

部屋Hに出入りしようとすると扉が左右にスライドして開き,部屋に出入りすると閉まるようにせよ.