2011年11月25日金曜日

MatineeでSkeletalMeshにヘッドトラッキングをさせる

自分で調べたはいいものの、きっと忘れそうなので備忘録として。

MatineeでアニメーションさせているSkeletalMeshに
ヘッドトラッキングをさせるにはどうすればよいか?

 全体の流れ                                         
  1. 骨格コントロールを実装したAnimTreeを作成する
  2. 対象のSkeletalMeshはSkeletalMeshMATとしてレベルに配置する
  3. 作成したAnimTreeをSkeletalMeshMATに設定する
  4. Matineeを用意(以降Matinee編集)
  5. アニメーションは普通にAnimControlトラックにて設定(Slot指定)
  6. HeadTrackingトラックを追加

 1. 骨格コントロールを実装したAnimTreeを作成                   


 AnimTreeノードに骨格コントロールを追加するには、
 事前にAnimTreeノードのプロパティ設定が必要。
  • [Preview SkeletalMesh] に対象のSkeletalMeshを設定する

 設定後、AnimTreeノードを右クリックして、
 ヘッドトラッキング対象のボーンを選択していく。(骨格コントロールチェーン)


 作成されたボーンのコネクタに対して、[SkelControlLookAt]ノードを作成する。
 [SkelControlLookAt]ノードのプロパティを編集する
  • [Control Name] にいい感じの識別名を設定
  • [Look At Axis] or [Invert Look At Axis] などを調整し、正しい状態にする
  • [Max Angle] など必要であればリミットをかける

 2. 対象のSkeletalMeshはSkeletalMeshMATとしてレベルに配置         
 3. 作成したAnimTreeをSkeletalMeshMATに設定する                
 4. Matineeを用意                                     
 5. アニメーションは普通にAnimControlトラックにて設定(Slot指定)        



 6. HeadTrackingトラックを追加                              


 対象のSkeltalMeshグループに、[HeadTracking]トラックを追加する。
 トラッキング状態にしたいフレーム区間をトリガーでON/OFFしておく。
 [HeadTracking]トラックのプロパティを設定する。
  • [Track Controller Name] AnimTreeで設定した識別名(Control Name)
  • [Look At Actor Radius] ルックアット有効範囲を設定
  • [Disable beyond Limit] 有効範囲を使用するのであればチェック
  • [Target Bone Names] 特定のボーンをルックアットするなら設定

 結果確認                                          

 正面

 左へ移動

 右へ移動



0 件のコメント:

コメントを投稿