You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			97 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C#
		
	
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
 | 
						|
 | 
						|
using UnityEngine;
 | 
						|
using System.Collections;
 | 
						|
using Valve.VR;
 | 
						|
using UnityEngine.Serialization;
 | 
						|
 | 
						|
namespace Valve.VR.InteractionSystem.Sample
 | 
						|
{
 | 
						|
    public class CustomSkeletonHelper : MonoBehaviour
 | 
						|
    {
 | 
						|
        public Retargetable wrist;
 | 
						|
 | 
						|
        public Finger[] fingers;
 | 
						|
        public Thumb[] thumbs;
 | 
						|
 | 
						|
        private void Update()
 | 
						|
        {
 | 
						|
            for (int fingerIndex = 0; fingerIndex < fingers.Length; fingerIndex++)
 | 
						|
            {
 | 
						|
                Finger finger = fingers[fingerIndex];
 | 
						|
                finger.metacarpal.destination.rotation = finger.metacarpal.source.rotation;
 | 
						|
                finger.proximal.destination.rotation = finger.proximal.source.rotation;
 | 
						|
                finger.middle.destination.rotation = finger.middle.source.rotation;
 | 
						|
                finger.distal.destination.rotation = finger.distal.source.rotation;
 | 
						|
            }
 | 
						|
            for (int thumbIndex = 0; thumbIndex < thumbs.Length; thumbIndex++)
 | 
						|
            {
 | 
						|
                Thumb thumb = thumbs[thumbIndex];
 | 
						|
                thumb.metacarpal.destination.rotation = thumb.metacarpal.source.rotation;
 | 
						|
                thumb.middle.destination.rotation = thumb.middle.source.rotation;
 | 
						|
                thumb.distal.destination.rotation = thumb.distal.source.rotation;
 | 
						|
            }
 | 
						|
 | 
						|
            wrist.destination.position = wrist.source.position;
 | 
						|
            wrist.destination.rotation = wrist.source.rotation;
 | 
						|
        }
 | 
						|
 | 
						|
        public enum MirrorType
 | 
						|
        {
 | 
						|
            None,
 | 
						|
            LeftToRight,
 | 
						|
            RightToLeft
 | 
						|
        }
 | 
						|
 | 
						|
        [System.Serializable]
 | 
						|
        public class Retargetable
 | 
						|
        {
 | 
						|
            public Transform source;
 | 
						|
            public Transform destination;
 | 
						|
 | 
						|
            public Retargetable(Transform source, Transform destination)
 | 
						|
            {
 | 
						|
                this.source = source;
 | 
						|
                this.destination = destination;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        [System.Serializable]
 | 
						|
        public class Thumb
 | 
						|
        {
 | 
						|
            public Retargetable metacarpal;
 | 
						|
            public Retargetable middle;
 | 
						|
            public Retargetable distal;
 | 
						|
 | 
						|
            public Transform aux;
 | 
						|
 | 
						|
            public Thumb(Retargetable metacarpal, Retargetable middle, Retargetable distal, Transform aux)
 | 
						|
            {
 | 
						|
                this.metacarpal = metacarpal;
 | 
						|
                this.middle = middle;
 | 
						|
                this.distal = distal;
 | 
						|
                this.aux = aux;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        [System.Serializable]
 | 
						|
        public class Finger
 | 
						|
        {
 | 
						|
            public Retargetable metacarpal;
 | 
						|
            public Retargetable proximal;
 | 
						|
            public Retargetable middle;
 | 
						|
            public Retargetable distal;
 | 
						|
 | 
						|
            public Transform aux;
 | 
						|
 | 
						|
            public Finger(Retargetable metacarpal, Retargetable proximal, Retargetable middle, Retargetable distal, Transform aux)
 | 
						|
            {
 | 
						|
                this.metacarpal = metacarpal;
 | 
						|
                this.proximal = proximal;
 | 
						|
                this.middle = middle;
 | 
						|
                this.distal = distal;
 | 
						|
                this.aux = aux;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |