goal | 設定した AvatarIKGoal |
goalRotation | ワールド空間での位置 |
IK ゴールの回転(Rotation)を設定します
IK ゴールは特定のボディパーツのターゲット位置および回転です。Unity により開始位置からパーツをターゲットに向けて移動する方法を計算できます(すなわちアニメーションから取得された現在の位置および回転)。
この関数は、最終的なゴールに対するワールド空間における位置を設定します。「ボディパーツの先端はスタートからゴールの間のどこを IK が目指すか」を示す 0 から 1 の範囲で指定されているウェイト値の影響を受けています。
var objToAimAt: Transform;
private var animator: Animator;
function Start() { animator = GetComponent.<Animator>(); }
function OnAnimatorIK(layerIndex: int) { var handRotation = Quaternion.LookRotation(objToAimAt.position - transform.position); animator.SetIKRotationWeight(AvatarIKGoal.RightHand, 1.0); animator.SetIKRotation(AvatarIKGoal.RightHand, handRotation); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Transform objToAimAt; private Animator animator; void Start() { animator = GetComponent<Animator>(); } void OnAnimatorIK(int layerIndex) { Quaternion handRotation = Quaternion.LookRotation(objToAimAt.position - transform.position); animator.SetIKRotationWeight(AvatarIKGoal.RightHand, 1.0F); animator.SetIKRotation(AvatarIKGoal.RightHand, handRotation); } }
See Also: SetIKRotationWeight, SetIKPosition.