Unity mecanim でボーンを取得

Unity の mecanim を使用し,モデルを動かす時,モデルがHumanoidとして読み込まれていれば,ボーンの構造がある程度企画化されている.

そして,Animator.GetBoneTransform を使用すれば,企画化されたボーン名からそのTransformを取得することができる.

つまり,kinectやleapmotion等のモーションを取得するデバイスの情報を反映させたい場合,Animator.GetBoneTransformで取得したTransformにデータを流し込んでやればいい.

public Animator anime; // Animator がアタッチされている3Dモデル(ゲームオブジェクト)を突っ込む

void Start()
{
    Transform neck = anime.GetBoneTransform(HumanBodyBones.Neck);

  neck.localRotation = new Quaternion( , , ,); // こんな感じで操作する
}