[UE4]Control Rig機能調査:目線をSequencerから制御

ここはControl Rig機能調査の子頁です

目線制御Rig作成

  • 簡単な目線制御Rigを作り、Sequencerから制御してみる

準備

  • 目線制御可能なモデルのサンプルとして、Grayちゃんを使わせていただく

  • 骨構成がEpic Skeletonと若干異なるので注意

  • 事前準備に従ってセットアップ

  • 顔の正面にControlを置きたいが、ver.0.5.0のデータではhead骨のX軸に回転が入っている

    • それをSpaceで吸収する

  • まずNeck_01の下にSpaceを置き、Controlを1つ作る

    • Gizmoをそれっぽく設定

      • RoundedSquare_ThinをScaleで変形させるなど

    • Controlを顔の正面に移動させる

  • この状態でControlを右クリックしてCopy

  • Rig HierarchyからSpace右クリックして、Paste Global Transform

  • CompileしてもControlが顔の正面に位置し続けることを確認

  • SpaceをHeadの下にドラッグ&ドロップで移動

  • ControlのInitial Transformが全部Identityな状態になっている事を確認

  • EyeContolBaseの下に、左右の目を制御するControlを作成(EyeControl_L, EyeControl_R)

  • EyeControlLをviewportで操作して左目の正面に置く

  • EyeControlLを右クリックしてSet Initial Transform From Current

  • すると、Offset Transformに反映される

    • 項目名はSet Initial Transformだが、Initial Transformは変化しない点に注意

      • Offset Transformは親BoneからのOffset量で、自分のLocal原点を決めるもの

      • Initial Transformは単にCurrent Tranformの初期値

  • EyeControl_RのOffset Transformにも左右反転した値を入力

  • AimノードでControlを追うようにする

  • 今回はGizmoの初期配置時に目線正面(初期位置)になるようにセットアップ

  • Up Vectorは今回指定しなくてよいので、SecondaryのWeightは0.0

  • Controlの初期位置も適宜調整

おまけ

  • Aim Mathに置き換えれば角度制限も簡易的にできる

    • Aim Mathの結果にRotationのInverseをかけて、Localな回転に戻してから制限をかける

    • 制限はEyeballのLocal回転基準であり、ver.0.5.0のGrayChanだとちょっと傾く点に注意

Sequencerから制御

  • 方法1

    • 作成したControl RigをLevel内にDrag & Drop

    • 自動的にLevel SequenceがContent直下に作られる

  • 方法2

    • 手動でLevel Sequenceを作成

    • Levelに配置したGrayChanのキャラBPやSkeletal MeshなどをSequencerに追加

    • Skeletal Mesh ComponentのTrackを追加

    • Control Rig Trackを追加し、作成したRigを指定する

  • 適当に色々動かして動作確認