goal | 設定した AvatarIKGoal |
goalPosition | ワールド空間での位置 |
IK ゴールの位置を設定します。
IK ゴールは特定のボディパーツのターゲット位置および回転です。Unity により開始位置からパーツをターゲットに向けて移動する方法を計算できます(すなわちアニメーションから取得された現在の位置および回転)。
この関数によりワールド座標での回転の最終的なゴールをセットします。空間上でボディパーツが実際にたどりつく場所は、IK がスタートからゴールの間のどこを目指すかを 0 から 1 の間の値で示すウェイトパラメーターによっても影響を受けます。
この関数は常に MonoBehaviour.OnAnimatorIK 内で呼び出す必要があります。
var objToPickUp: Transform;
private var animator: Animator;
function Start() { animator = GetComponent.<Animator>(); }
function OnAnimatorIK(layerIndex: int) { var reach: float = animator.GetFloat("RightHandReach"); animator.SetIKPositionWeight(AvatarIKGoal.RightHand, reach); animator.SetIKPosition(AvatarIKGoal.RightHand, objToPickUp.position); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Transform objToPickUp; private Animator animator; void Start() { animator = GetComponent<Animator>(); } void OnAnimatorIK(int layerIndex) { float reach = animator.GetFloat("RightHandReach"); animator.SetIKPositionWeight(AvatarIKGoal.RightHand, reach); animator.SetIKPosition(AvatarIKGoal.RightHand, objToPickUp.position); } }
See Also: SetIKPositionWeight, SetIKRotation.