layerIndex | The index of the layer on which the IK solver is called. |
Callback for setting up animation IK (inverse kinematics).
var leftFootPositionWeight: float; var leftFootRotationWeight: float; var leftFootObj: Transform; private var animator: Animator; function Start() { animator = GetComponent.<Animator>(); } function OnAnimatorIK(layerIndex: int) { animator.SetIKPositionWeight(AvatarIKGoal.LeftFoot,leftFootPositionWeight); animator.SetIKRotationWeight(AvatarIKGoal.LeftFoot,leftFootRotationWeight); animator.SetIKPosition(AvatarIKGoal.LeftFoot,leftFootObj.position); animator.SetIKRotation(AvatarIKGoal.LeftFoot,leftFootObj.rotation); }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public float leftFootPositionWeight; public float leftFootRotationWeight; public Transform leftFootObj; private Animator animator; void Start() { animator = GetComponent<Animator>(); } void OnAnimatorIK(int layerIndex) { animator.SetIKPositionWeight(AvatarIKGoal.LeftFoot, leftFootPositionWeight); animator.SetIKRotationWeight(AvatarIKGoal.LeftFoot, leftFootRotationWeight); animator.SetIKPosition(AvatarIKGoal.LeftFoot, leftFootObj.position); animator.SetIKRotation(AvatarIKGoal.LeftFoot, leftFootObj.rotation); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public leftFootPositionWeight as float public leftFootRotationWeight as float public leftFootObj as Transform private animator as Animator def Start() as void: animator = GetComponent[of Animator]() def OnAnimatorIK(layerIndex as int) as void: animator.SetIKPositionWeight(AvatarIKGoal.LeftFoot, leftFootPositionWeight) animator.SetIKRotationWeight(AvatarIKGoal.LeftFoot, leftFootRotationWeight) animator.SetIKPosition(AvatarIKGoal.LeftFoot, leftFootObj.position) animator.SetIKRotation(AvatarIKGoal.LeftFoot, leftFootObj.rotation)