お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
CloselayerIndex | IK ソルバーが呼び出しされたレイヤーのインデックス |
アニメーション IK (インバース キネマティクス)をセットアップするときのコールバック
OnAnimatorIK() は Animator コンポーネントが内部 IK システムを更新する直前により呼び出しされます。このコールバックは IK Goal のポジションおよび関連する Weight(重み付け) を設定するために使用することが出来ます。
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 ExampleClass : 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 ExampleClass(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)