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);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 |