[UE4]Control Rig機能調査:目線をSequencerから制御
ここはControl Rig機能調査の子頁です
目線制御Rig作成
簡単な目線制御Rigを作り、Sequencerから制御してみる
顔の正面に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だとちょっと傾く点に注意
あとMoprh制御もControl Rigから可能なので、目の回転量に応じて瞼開閉もできる
上記のLocal回転を使えば良い
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を指定する
適当に色々動かして動作確認