36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
using UnityEngine;
 | 
						|
using System.Collections;
 | 
						|
 | 
						|
public class IKHands : MonoBehaviour {
 | 
						|
 | 
						|
	public Transform leftHandObj;
 | 
						|
	public Transform rightHandObj;
 | 
						|
	public Transform attachLeft;
 | 
						|
	public Transform attachRight;
 | 
						|
 | 
						|
	public float leftHandPositionWeight;
 | 
						|
	public float leftHandRotationWeight;
 | 
						|
	public float rightHandPositionWeight;
 | 
						|
	public float rightHandRotationWeight;
 | 
						|
	
 | 
						|
	private Animator animator;
 | 
						|
	
 | 
						|
	void Start() {
 | 
						|
		animator = this.gameObject.GetComponent<Animator>();
 | 
						|
	}
 | 
						|
	
 | 
						|
	void OnAnimatorIK(int layerIndex) {
 | 
						|
		if(leftHandObj != null){
 | 
						|
			animator.SetIKPositionWeight(AvatarIKGoal.LeftHand,leftHandPositionWeight);
 | 
						|
			animator.SetIKRotationWeight(AvatarIKGoal.LeftHand,leftHandRotationWeight);
 | 
						|
			animator.SetIKPosition(AvatarIKGoal.LeftHand,attachLeft.position);                    
 | 
						|
			animator.SetIKRotation(AvatarIKGoal.LeftHand,attachLeft.rotation);
 | 
						|
		}
 | 
						|
		if(rightHandObj != null){
 | 
						|
			animator.SetIKPositionWeight(AvatarIKGoal.RightHand,rightHandPositionWeight);
 | 
						|
			animator.SetIKRotationWeight(AvatarIKGoal.RightHand,rightHandRotationWeight);     
 | 
						|
			animator.SetIKPosition(AvatarIKGoal.RightHand,attachRight.position);                    
 | 
						|
			animator.SetIKRotation(AvatarIKGoal.RightHand,attachRight.rotation);
 | 
						|
		}
 | 
						|
	}
 | 
						|
} |