diff --git a/README.md b/README.md index 3a9946f..410758a 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,17 @@ # HPTK [![](https://img.shields.io/badge/unity-2019.4%20or%20later-green.svg)](https://unity3d.com/es/get-unity/download/archive) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/jorgejgnz/HPTK/blob/master/LICENSE.md) [![version](https://img.shields.io/badge/version-0.4.0-blue)](https://github.com/jorgejgnz/HPTK/releases) [![](https://img.shields.io/twitter/follow/jorgejgnz.svg?label=Follow&style=social)](https://twitter.com/intent/follow?screen_name=jorgejgnz) -Hand Physics Toolkit (HPTK) is a toolkit to build physical hand-driven interactions in a modular and scalable way. Hand physics and hover/touch/grab detection are modules included. This toolkit can be combined with [MRTK-Quest](https://github.com/provencher/MRTK-Quest) for UI interactions. Only Oculus Quest is supported at the moment. +Hand Physics Toolkit (HPTK) is a toolkit to build physical hand-driven interactions in a modular and scalable way. Platform-independent. Input-independent. This toolkit can be combined with [MRTK-Quest](https://github.com/provencher/MRTK-Quest) for UI interactions. ## Main features -- Data model to access hand components and lerp values to compose gestures and trigger actions. -- State-of-the-art hand physics that can be configured in detail through configuration assets. -- Hover/Touch/Grab detection with support to interactions involving multiple objects and hands. -- Code architecture based on isolated modules. Support to custom modules. ([Wiki](https://github.com/jorgejgnz/HPTK/wiki/Custom-modules)). -- Input abstraction. RelativeSkeletonTracker included to mimic other hands. ([Wiki](https://github.com/jorgejgnz/HPTK/wiki/Modules-overview)). +- Data model to access hand parts, components or calculated values with very little code. +- Code architecture based on MVC-like modules. ([Wiki](https://github.com/jorgejgnz/HPTK/wiki/Modules-overview)). Support to custom modules. ([Wiki](https://github.com/jorgejgnz/HPTK/wiki/Custom-modules)). +- State-of-the-art hand physics. Configurable in detail through configuration assets. +- Platform-independent. Tested on VR/AR/non-XR applications +- Input-independent. Use handtracking or controllers. +- Scale-independent. Valid for any hand size. +- Define strategies to deal with loss of tracking. +- Physics-based touch/grab detection. +- Tracking noise smoothing. ## Example project - You can clone a ready-to-go project at [HPTK-Sample](https://github.com/jorgejgnz/HPTK-Sample). diff --git a/Runtime/Components/AutomaticHandSetup.cs b/Runtime/Components/AutomaticHandSetup.cs index 9abb41c..cf74acc 100644 --- a/Runtime/Components/AutomaticHandSetup.cs +++ b/Runtime/Components/AutomaticHandSetup.cs @@ -76,6 +76,7 @@ public class AutomaticHandSetup : MonoBehaviour public Anchors generateArmatureAnchors = Anchors.None; public bool generateMasterOffset = true; public bool generateRays = true; + public bool cloneMaster = true; public bool generateSlave = true; public bool generateGhost = true; @@ -84,6 +85,7 @@ public class AutomaticHandSetup : MonoBehaviour float gizmoDirSize = 0.2f; float gizmoSphereSize = 0.005f; +#if UNITY_EDITOR public void Setup() { // Check errors @@ -149,6 +151,7 @@ void SetupMasterObjects() { // CustomHand > Objects > Master masterRootObject = BasicHelpers.InstantiateEmptyChild(objects); + masterRootObject.name = "Master." + handType.ToString(); // CustomHand > Objects > Master > (content) @@ -171,16 +174,44 @@ void SetupMasterObjects() } // Spawn wrist - masterWrist = BasicHelpers.InstantiateEmptyChild(masterRootObject, "Wrist"); - masterWrist.transform.position = wrist.position; + if (cloneMaster) + { + masterWrist = BasicHelpers.InstantiateEmptyChild(masterRootObject); + masterWrist.transform.position = wrist.position; + } + else + { + masterWrist = wrist.gameObject; + } + + masterWrist.name = "Wrist." + handType.ToString(); + masterFingersRoot = masterWrist.gameObject; // Create offset (if needed) if (generateMasterOffset) { + List children = new List(); + + if (!cloneMaster) + { + foreach (Transform child in masterWrist.transform) + { + children.Add(child); + } + } + masterWristOffset = BasicHelpers.InstantiateEmptyChild(masterWrist, "Offset"); masterWristOffset.transform.position = masterWrist.transform.position; masterFingersRoot = masterWristOffset; + + if (!cloneMaster) + { + foreach(Transform child in children) + { + child.parent = masterFingersRoot.transform; + } + } } // Armature wrist anchor @@ -209,10 +240,17 @@ void SetupMasterObjects() for (int b = 0; b < _fingers[f].Length; b++) { - Transform bone = BasicHelpers.InstantiateEmptyChild(masterFingersRoot).transform; + Transform bone; + + if (cloneMaster) + bone = BasicHelpers.InstantiateEmptyChild(masterFingersRoot).transform; + else + bone = _fingers[f][b]; if (b==0 && _fingers[f][b].childCount == 0) bone.name = "Extra.Bone"; + else if (b == _fingers[f].Length - 1) + bone.name = "Finger" + f + ".Tip"; else bone.name = "Finger" + f + ".Bone" + b; @@ -308,7 +346,14 @@ void SetupGhostObjects() void SetupProxyHandModule() { // CustomHand > [Modules] > ProxyHandModule - GameObject proxyHandModule = Instantiate(proxyHandModulePrefab, modules.transform.position, modules.transform.rotation); + string prefabPath = AssetDatabase.GetAssetPath(proxyHandModulePrefab); + Object prefab = AssetDatabase.LoadAssetAtPath(prefabPath, typeof(GameObject)); + + GameObject proxyHandModule = PrefabUtility.InstantiatePrefab(prefab) as GameObject; + + proxyHandModule.transform.position = modules.transform.position; + proxyHandModule.transform.rotation = modules.transform.rotation; + proxyHandModule.transform.parent = modules.transform; proxyHandModule.transform.name = "ProxyHandModule." + handType.ToString(); @@ -464,6 +509,17 @@ void SetupMasterHandModel(MasterHandModel handModel, Transform masterWrist, Game fingerModel.name = "Pinky"; handModel.pinky = fingerModel; } + else + { + fingerModel.name = "Unidentified"; + } + + for (int b = 0; b < fingerModel.bones.Length; b++) + { + fingerModel.bones[b].transformRef.name = fingerModel.name + b; + } + + fingerModel.fingerTip.name = fingerModel.name + ".Tip"; } // Homogeneus order for .fingers @@ -580,6 +636,17 @@ void SetupSlaveHandModel(SlaveHandModel handModel, Transform slaveWrist) fingerModel.name = "Pinky"; handModel.pinky = fingerModel; } + else + { + fingerModel.name = "Unidentified"; + } + + for (int b = 0; b < fingerModel.bones.Length; b++) + { + fingerModel.bones[b].transformRef.name = fingerModel.name + b; + } + + fingerModel.fingerTip.name = fingerModel.name + ".Tip"; // Increase finger counter f++; @@ -609,7 +676,7 @@ void SetupSlaveHandModel(SlaveHandModel handModel, Transform slaveWrist) Debug.LogError("Trying to access a non-existing finger!"); else if (b > handModel.proxyHand.master.fingers[f].bones.Length - 1) - Debug.LogError("Trying to access a non-existing bone!"); + Debug.LogError("Trying to access a non-existing bone! Bone " + b + " is unreachable as fingers[" + f + "].bones.Length = " + handModel.proxyHand.master.fingers[f].bones.Length); else if (handModel.proxyHand.master.fingers[f] != null && handModel.proxyHand.master.fingers[f].bones[b] != null) slaveBone.masterBone = handModel.proxyHand.master.fingers[f].bones[b] as MasterBoneModel; @@ -705,6 +772,17 @@ void SetupGhostHandModel(HandModel handModel, Transform ghostWrist) fingerModel.name = "Pinky"; handModel.pinky = fingerModel; } + else + { + fingerModel.name = "Unidentified"; + } + + for (int b = 0; b < fingerModel.bones.Length; b++) + { + fingerModel.bones[b].transformRef.name = fingerModel.name + b; + } + + fingerModel.fingerTip.name = fingerModel.name + ".Tip"; } // Homogeneus order for .fingers @@ -966,6 +1044,12 @@ bool AllSystemsNominal() return false; } + if (!proxyHandModulePrefab) + { + Debug.LogError("Proxy hand module prefab is required!"); + return false; + } + return true; } @@ -1386,7 +1470,6 @@ private void OnDrawGizmos() thumbDir = new Vector3(0.0f, 0.0f, gizmoDirSize); } -# if UNITY_EDITOR // Draw finger direction Handles.color = Color.blue; Handles.Label(wrist.position + fingerDir, "Fingers"); @@ -1419,9 +1502,10 @@ private void OnDrawGizmos() gizmoDirSize, EventType.Repaint ); -#endif + } } +#endif } diff --git a/Runtime/Components/SMRMapper.cs b/Runtime/Components/SMRMapper.cs index 326a49e..580936d 100644 --- a/Runtime/Components/SMRMapper.cs +++ b/Runtime/Components/SMRMapper.cs @@ -13,17 +13,19 @@ public class SMRMapper : MonoBehaviour public void Read() { + if (!skinnedMeshRenderer) skinnedMeshRenderer = GetComponent(); bones = skinnedMeshRenderer.bones; } public void Write() { + if (!skinnedMeshRenderer) skinnedMeshRenderer = GetComponent(); skinnedMeshRenderer.bones = bones; } } #if UNITY_EDITOR -[CustomEditor(typeof(SMRMapper))] +[CustomEditor(typeof(SMRMapper)), CanEditMultipleObjects] public class SMRMapperEditor : Editor { public override void OnInspectorGUI() diff --git a/Runtime/Helpers/PhysHelpers.cs b/Runtime/Helpers/PhysHelpers.cs index f66591b..c8f11f3 100644 --- a/Runtime/Helpers/PhysHelpers.cs +++ b/Runtime/Helpers/PhysHelpers.cs @@ -481,7 +481,7 @@ public static void SetBonePhysics(SlaveBoneModel bone, bool enabled) { if (bone.rigidbodyRef) { - if (bone.rigidbodyRef.isKinematic) + if (enabled) { bone.rigidbodyRef.isKinematic = false; bone.rigidbodyRef.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic; diff --git a/Runtime/Input/AbstractTsf.cs b/Runtime/Input/AbstractTsf.cs new file mode 100644 index 0000000..227f2d3 --- /dev/null +++ b/Runtime/Input/AbstractTsf.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace HPTK.Input +{ + [Serializable] + public class AbstractTsf + { + public string name; + + public Vector3 position; + public Quaternion rotation; + public Space space; + + public Vector3 localScale; + + public AbstractTsf(Vector3 position, Quaternion rotation, Space space, Vector3 localScale, string name) + { + this.position = position; + this.rotation = rotation; + this.space = space; + + this.localScale = localScale; + this.name = name; + } + + public AbstractTsf(string name, Space space) + { + this.space = space; + this.name = name; + this.position = Vector3.zero; + this.rotation = Quaternion.identity; + this.localScale = Vector3.one; + } + + public AbstractTsf(Transform tsf, Space space) + { + this.name = tsf.name; + this.space = space; + + if (space == Space.World) + { + this.position = tsf.position; + this.rotation = tsf.rotation; + } + else + { + this.position = tsf.localPosition; + this.rotation = tsf.localRotation; + } + + this.localScale = tsf.localScale; + } + + public AbstractTsf(AbstractTsf abstractTsf) + { + this.name = abstractTsf.name; + this.space = abstractTsf.space; + this.position = abstractTsf.position; + this.rotation = abstractTsf.rotation; + } + + public static void Copy(AbstractTsf from, AbstractTsf to) + { + to.name = from.name; + to.space = from.space; + to.position = from.position; + to.rotation = from.rotation; + to.localScale = from.localScale; + } + + public static void ApplyTransform(AbstractTsf bonePose, Transform receiverTsf) + { + if (bonePose.space == Space.World) + { + receiverTsf.position = bonePose.position; + receiverTsf.rotation = bonePose.rotation; + } + else + { + receiverTsf.localPosition = bonePose.position; + receiverTsf.localRotation = bonePose.rotation; + } + + receiverTsf.localScale = bonePose.localScale; + } + } +} diff --git a/Runtime/Input/AbstractTsf.cs.meta b/Runtime/Input/AbstractTsf.cs.meta new file mode 100644 index 0000000..9fa8ae5 --- /dev/null +++ b/Runtime/Input/AbstractTsf.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 80c0051f1477c5e4e86592cfbf1cfdab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Input/HandPose.cs b/Runtime/Input/HandPose.cs new file mode 100644 index 0000000..96d799b --- /dev/null +++ b/Runtime/Input/HandPose.cs @@ -0,0 +1,63 @@ +using HPTK.Models.Avatar; +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace HPTK.Input +{ + [CreateAssetMenu(menuName = "HPTK/HandPose Asset", order = 2)] + public class HandPose : ScriptableObject + { + public string alias; + public Input.FingerPose[] fingers; + public AbstractTsf wrist; + public AbstractTsf forearm; + + public AbstractTsf[] GetBones() + { + List bones = new List(); + + bones.Add(wrist); + bones.Add(forearm); + + for (int i = 0; i < fingers.Length; i++) + { + bones.AddRange(fingers[i].bones); + } + + return bones.ToArray(); + } + + public void ApplyPose(HandModel hand, bool pos, bool rot, bool scale, bool inverted) + { + // Wrist won't be applied + for (int f = 0; f < Mathf.Min(hand.fingers.Length, fingers.Length); f++) + { + for (int b = 0; b < Mathf.Min(hand.fingers[f].bones.Length, fingers[f].bones.Length); b++) + { + if (fingers[f].bones[b].space == Space.World) + Debug.LogWarning("poseBones[" + f + "] is not configured in local space!"); + + if (pos) hand.fingers[f].bones[b].transformRef.localPosition = inverted ? fingers[f].bones[b].position * -1.0f : fingers[f].bones[b].position; + if (rot) hand.fingers[f].bones[b].transformRef.localRotation = fingers[f].bones[b].rotation; + if (scale) hand.fingers[f].bones[b].transformRef.localScale = fingers[f].bones[b].localScale; + } + } + } + } + + [Serializable] + public class FingerPose + { + public string name; + public AbstractTsf[] bones; + public AbstractTsf tip; + + public FingerPose(string name) + { + this.name = name; + this.bones = new AbstractTsf[0]; + } + } +} \ No newline at end of file diff --git a/Runtime/Input/HandPose.cs.meta b/Runtime/Input/HandPose.cs.meta new file mode 100644 index 0000000..3f248d1 --- /dev/null +++ b/Runtime/Input/HandPose.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 54c587aa31b907a4f881344ca589a240 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Input/InputDataProvider.cs b/Runtime/Input/InputDataProvider.cs index f3d8b08..e59770f 100644 --- a/Runtime/Input/InputDataProvider.cs +++ b/Runtime/Input/InputDataProvider.cs @@ -1,105 +1,16 @@ -using HPTK.Models.Avatar; -using System; +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; -using static HPTK.Views.Handlers.ProxyHandHandler; namespace HPTK.Input { - [Serializable] - public class AbstractTsf - { - public string name; - - public Vector3 position; - public Quaternion rotation; - public Space space; - - public Vector3 localScale; - - public AbstractTsf(Vector3 position, Quaternion rotation, Space space, Vector3 localScale, string name) - { - this.position = position; - this.rotation = rotation; - this.space = space; - - this.localScale = localScale; - this.name = name; - } - - public AbstractTsf(string name, Space space) - { - this.space = space; - this.name = name; - this.position = Vector3.zero; - this.rotation = Quaternion.identity; - this.localScale = Vector3.one; - } - - public AbstractTsf(Transform tsf, Space space) - { - this.name = tsf.name; - this.space = space; - - if (space == Space.World) - { - this.position = tsf.position; - this.rotation = tsf.rotation; - } - else - { - this.position = tsf.localPosition; - this.rotation = tsf.localRotation; - } - - this.localScale = tsf.localScale; - } - - public AbstractTsf(AbstractTsf abstractTsf) - { - this.name = abstractTsf.name; - this.space = abstractTsf.space; - this.position = abstractTsf.position; - this.rotation = abstractTsf.rotation; - } - - public static void ApplyTransform(AbstractTsf bonePose, Transform receiverTsf) - { - if (bonePose.space == Space.World) - { - receiverTsf.position = bonePose.position; - receiverTsf.rotation = bonePose.rotation; - } - else - { - receiverTsf.localPosition = bonePose.position; - receiverTsf.localRotation = bonePose.rotation; - } - - receiverTsf.localScale = bonePose.localScale; - } - } - - [Serializable] - public class FingerPose - { - public string name; - public AbstractTsf[] bones; - public AbstractTsf tip; - - public FingerPose(string name) - { - this.name = name; - this.bones = new AbstractTsf[0]; - } - } - public class InputDataProvider : MonoBehaviour { // InputDataProvider.bones will always be 24 items length protected int numOfBones = 24; + [HideInInspector] public AbstractTsf[] bones; [HideInInspector] @@ -120,9 +31,13 @@ public class InputDataProvider : MonoBehaviour [Range(0.0f, 1.0f)] public float confidence = 0.0f; - [Range(0.5f, 2.0f)] + [Range(0.5f, 1.5f)] public float scale = 1.0f; + [Header("Debug")] + [TextArea] + public string log; + // Replaceable by inherited classes public virtual void InitData() { @@ -138,7 +53,9 @@ public virtual void InitData() } // Replaceable by inherited classes - public virtual void UpdateData() { } + public virtual void UpdateData() { + log = "Base class UpdateData method!"; + } /* * 0 - wrist @@ -195,21 +112,45 @@ public void UpdateBones() bones = tmpBones.ToArray(); } - public void UpdateFingers() - { - List tmpBones = new List(bones); + public void UpdateFingerPosesFromBones() + { + List bonesList = new List(bones); // Enable .GetRange by turning the array into a list - UpdateFinger(thumb, tmpBones.GetRange(2, 4).ToArray(), tmpBones[tmpBones.Count - 5]); - UpdateFinger(index, tmpBones.GetRange(6, 3).ToArray(), tmpBones[tmpBones.Count - 4]); - UpdateFinger(middle, tmpBones.GetRange(9, 3).ToArray(), tmpBones[tmpBones.Count - 3]); - UpdateFinger(ring, tmpBones.GetRange(12, 3).ToArray(), tmpBones[tmpBones.Count - 2]); - UpdateFinger(pinky, tmpBones.GetRange(15, 4).ToArray(), tmpBones[tmpBones.Count - 1]); + FromBonesToFingerPose(thumb, bonesList.GetRange(2, 4).ToArray(), bonesList[bonesList.Count - 5]); + FromBonesToFingerPose(index, bonesList.GetRange(6, 3).ToArray(), bonesList[bonesList.Count - 4]); + FromBonesToFingerPose(middle, bonesList.GetRange(9, 3).ToArray(), bonesList[bonesList.Count - 3]); + FromBonesToFingerPose(ring, bonesList.GetRange(12, 3).ToArray(), bonesList[bonesList.Count - 2]); + FromBonesToFingerPose(pinky, bonesList.GetRange(15, 4).ToArray(), bonesList[bonesList.Count - 1]); } - void UpdateFinger(FingerPose finger, AbstractTsf[] bones, AbstractTsf tip) + void FromBonesToFingerPose(FingerPose finger, AbstractTsf[] bonesSubArray, AbstractTsf tip) { - finger.bones = bones; + // We can overwrite the item's references. The splitted array will remain splitted in fingers + finger.bones = bonesSubArray; finger.tip = tip; } + + public void UpdateBonesFromFingerPoses() + { + List bonesList = new List(bones); // Enable .GetRange by turning the array into a list + + FromFingerPoseToBones(thumb, bonesList.GetRange(2, 4).ToArray(), bonesList[bonesList.Count - 5]); + FromFingerPoseToBones(index, bonesList.GetRange(6, 3).ToArray(), bonesList[bonesList.Count - 4]); + FromFingerPoseToBones(middle, bonesList.GetRange(9, 3).ToArray(), bonesList[bonesList.Count - 3]); + FromFingerPoseToBones(ring, bonesList.GetRange(12, 3).ToArray(), bonesList[bonesList.Count - 2]); + FromFingerPoseToBones(pinky, bonesList.GetRange(15, 4).ToArray(), bonesList[bonesList.Count - 1]); + } + + public void FromFingerPoseToBones(FingerPose finger, AbstractTsf[] bonesSubArray, AbstractTsf tip) + { + // We have to copy the content as we can't overwrite the item's references. It will be merged again from the splitted bones array to InputDataProvider.bones + for (int b = 0; b < bonesSubArray.Length; b++) + { + AbstractTsf.Copy(finger.bones[b], bonesSubArray[b]); + } + + // We can't overwite this reference as finger tips are also included in InputDataProviders.bones + AbstractTsf.Copy(finger.tip, tip); + } } } diff --git a/Runtime/Input/InputDataProviders.meta b/Runtime/Input/InputDataProviders.meta new file mode 100644 index 0000000..379be1b --- /dev/null +++ b/Runtime/Input/InputDataProviders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 377937585bfc86c4abe59492885a2432 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Input/RelativeSkeletonTracker.cs b/Runtime/Input/InputDataProviders/RelativeSkeletonTracker.cs similarity index 96% rename from Runtime/Input/RelativeSkeletonTracker.cs rename to Runtime/Input/InputDataProviders/RelativeSkeletonTracker.cs index 26d22ec..05a79f9 100644 --- a/Runtime/Input/RelativeSkeletonTracker.cs +++ b/Runtime/Input/InputDataProviders/RelativeSkeletonTracker.cs @@ -33,7 +33,7 @@ public override void UpdateData() scale = referenceHand.extraScale; - UpdateFingers(); + UpdateFingerPosesFromBones(); } } } diff --git a/Runtime/Input/RelativeSkeletonTracker.cs.meta b/Runtime/Input/InputDataProviders/RelativeSkeletonTracker.cs.meta similarity index 100% rename from Runtime/Input/RelativeSkeletonTracker.cs.meta rename to Runtime/Input/InputDataProviders/RelativeSkeletonTracker.cs.meta diff --git a/Runtime/Input/InputDataProviders/UnityXRControllerTracker.cs b/Runtime/Input/InputDataProviders/UnityXRControllerTracker.cs new file mode 100644 index 0000000..f8751ef --- /dev/null +++ b/Runtime/Input/InputDataProviders/UnityXRControllerTracker.cs @@ -0,0 +1,257 @@ +using HPTK.Helpers; +using HPTK.Settings; +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.XR; + +namespace HPTK.Input +{ + [Serializable] + public class DeviceConfiguration + { + public string deviceName; + public string deviceManufacturer; + + public Transform wristOffset; // Its local position and local rotation will be added to the wrist position and rotation (bones[0]) + + public UnityEvent onDeviceUsed = new UnityEvent(); + } + + public class UnityXRControllerTracker : InputDataProvider + { + [Header("Unity XR")] + public Side side = Side.Left; + + [Header("Gesture poses")] + public HandPose openHand; + public HandPose pinch; + public HandPose fist; + + [Header("Control")] + public bool useButtonTouch = true; + [Range(0.1f, 0.0001f)] + public float minLerpToTouch = 0.05f; + [Range(0.5f, 0.9999f)] + public float minLerpToPress = 0.75f; + + [Header("Device-specific")] + public List compatibleDevices = new List(); + + Matrix4x4 tsfMatrix; + Vector3 position; + Quaternion rotation; + + float gripLerp; + float triggerLerp; + Vector2 joystick; + + bool touchingGrip, touchingTrigger, touchingJoystick; + bool pressingGrip, pressingTrigger; + bool touchingPrimary, touchingSecondary; + bool touchingThumb; + + bool updatedFeatureValues = false; + + List inputDevices = new List(); + InputDevice device; + + string currentDeviceName, currentDeviceManufacturer; + DeviceConfiguration deviceOffset; + + List usages = new List(); + + public override void UpdateData() + { + base.UpdateData(); + + switch (side) + { + case Side.Left: + InputDevices.GetDevicesWithCharacteristics(InputDeviceCharacteristics.Left | InputDeviceCharacteristics.HeldInHand, inputDevices); + break; + case Side.Right: + InputDevices.GetDevicesWithCharacteristics(InputDeviceCharacteristics.Right | InputDeviceCharacteristics.HeldInHand, inputDevices); + break; + } + + if (inputDevices.Count < 1) + { + log = Time.time.ToString("F2") + " Controller for " + side.ToString() + " side was not found! Interrupting update"; + Debug.LogError(log); + + confidence = 0.0f; + + return; + } + + if (inputDevices.Count > 1) + { + log = Time.time.ToString("F2") + " More than one controller was found for that side! Interrupting update"; + Debug.LogError(log); + + confidence = 0.0f; + + return; + } + + if (openHand.fingers.Length != 5 || pinch.fingers.Length != 5 || fist.fingers.Length != 5) + { + log = Time.time.ToString("F2") + " Some poses don't have 5 fingers! Interrupting update"; + Debug.LogError(log); + + confidence = 0.0f; + + return; + } + + device = inputDevices[0]; + + ResetValues(); + + log = "Manuf:[" + device.manufacturer + "] Name:[" + device.name + "]\n"; + + if (device.TryGetFeatureValue(CommonUsages.devicePosition, out position) + && device.TryGetFeatureValue(CommonUsages.deviceRotation, out rotation) + && device.TryGetFeatureValue(CommonUsages.grip, out gripLerp) + && device.TryGetFeatureValue(CommonUsages.trigger, out triggerLerp) + && device.TryGetFeatureValue(CommonUsages.primary2DAxis, out joystick) + && (useButtonTouch && device.TryGetFeatureValue(CommonUsages.primaryTouch, out touchingPrimary)) + && (useButtonTouch && device.TryGetFeatureValue(CommonUsages.secondaryTouch, out touchingSecondary))) + { + if (currentDeviceName != device.name || currentDeviceManufacturer != device.manufacturer) + { + // On device change + currentDeviceName = device.name; + currentDeviceManufacturer = device.manufacturer; + + deviceOffset = compatibleDevices.Find(x => currentDeviceName.Contains(x.deviceName) && currentDeviceManufacturer.Contains(x.deviceManufacturer)); + } + + if (deviceOffset != null && deviceOffset.wristOffset != null) + { + tsfMatrix = Matrix4x4.TRS(position, rotation, Vector3.one); + position = tsfMatrix.MultiplyPoint3x4(deviceOffset.wristOffset.localPosition); + rotation *= deviceOffset.wristOffset.localRotation; + } + + touchingGrip = gripLerp > minLerpToTouch; + touchingTrigger = triggerLerp > minLerpToTouch; + touchingJoystick = joystick.magnitude > minLerpToTouch; + + pressingGrip = gripLerp > minLerpToPress; + pressingTrigger = triggerLerp > minLerpToPress; + + if (useButtonTouch && (touchingPrimary || touchingSecondary)) + touchingThumb = true; + else if (touchingJoystick) + touchingThumb = true; + else + touchingThumb = false; + + // Debugging + device.TryGetFeatureUsages(usages); + + log += "trigger: " + triggerLerp.ToString("F2") + "\n"; + log += "grip: " + gripLerp.ToString("F2") + "\n"; + log += "isTouching: " + touchingThumb + "\n"; + + updatedFeatureValues = true; + } + else + { + log += "Unavailable input data\n"; + + updatedFeatureValues = false; + } + + if (updatedFeatureValues) + { + //Wrist + bones[0].space = Space.World; + bones[0].position = position; + bones[0].rotation = rotation; + + // Forearm + // ... + + // Assuming that HandPose.fingers follows the order thumb, index, middle, ring, pinky (missing FingerModel.finger as HumanFinger) + + if (!touchingGrip && pressingTrigger) + { + thumb.bones = LerpFingerPose(openHand.fingers[0], pinch.fingers[0], 1.0f); + + index.bones = LerpFingerPose(openHand.fingers[1], pinch.fingers[1], triggerLerp); + + middle.bones = LerpFingerPose(openHand.fingers[2], pinch.fingers[2], 1.0f); + ring.bones = LerpFingerPose(openHand.fingers[3], pinch.fingers[3], 1.0f); + pinky.bones = LerpFingerPose(openHand.fingers[4], pinch.fingers[4], 1.0f); + } + else + { + if (touchingThumb) + { + thumb.bones = LerpFingerPose(openHand.fingers[0], fist.fingers[0], gripLerp); + } + else + { + thumb.bones = LerpFingerPose(openHand.fingers[0], fist.fingers[0], 0.0f); + } + + index.bones = LerpFingerPose(openHand.fingers[1], fist.fingers[1], triggerLerp); + + middle.bones = LerpFingerPose(openHand.fingers[2], fist.fingers[2], gripLerp); + ring.bones = LerpFingerPose(openHand.fingers[3], fist.fingers[3], gripLerp); + pinky.bones = LerpFingerPose(openHand.fingers[4], fist.fingers[4], gripLerp); + } + } + + confidence = 1.0f; + + // .scale won't change + + UpdateBonesFromFingerPoses(); + } + + void ResetValues() + { + gripLerp = triggerLerp = 0.0f; + joystick = Vector2.zero; + touchingGrip = touchingTrigger = touchingJoystick = false; + touchingPrimary = touchingSecondary = touchingThumb = false; + pressingGrip = pressingTrigger = false; + } + + AbstractTsf[] LerpFingerPose(FingerPose start, FingerPose end, float lerp) + { + if (start.bones.Length != end.bones.Length) + { + log = Time.time.ToString("F2") + " Numer of bones is not the same for the given finger poses!"; + Debug.LogError(log); + } + + AbstractTsf[] fingerBones = new AbstractTsf[start.bones.Length]; + + for (int b = 0; b < fingerBones.Length; b++) + { + fingerBones[b] = new AbstractTsf(start.bones[b].name, Space.Self); + + if (start.bones[b].space == Space.Self && end.bones[b].space == Space.Self) + { + fingerBones[b].position = Vector3.Lerp(start.bones[b].position, end.bones[b].position, lerp); // Not required + fingerBones[b].rotation = Quaternion.Lerp(start.bones[b].rotation, end.bones[b].rotation, lerp); + } + else + { + log = Time.time.ToString("F2") + " Finger pose bone " + b + " is not in local space! Using Quaternion.identity for this bone"; + Debug.LogError(log); + + fingerBones[b].rotation = Quaternion.identity; + } + } + + return fingerBones; + } + } +} diff --git a/Runtime/Input/InputDataProviders/UnityXRControllerTracker.cs.meta b/Runtime/Input/InputDataProviders/UnityXRControllerTracker.cs.meta new file mode 100644 index 0000000..d3138b1 --- /dev/null +++ b/Runtime/Input/InputDataProviders/UnityXRControllerTracker.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 28951864902866a409e9ac3ac2e73fe6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Input/PoseRecorder.cs b/Runtime/Input/PoseRecorder.cs new file mode 100644 index 0000000..456e521 --- /dev/null +++ b/Runtime/Input/PoseRecorder.cs @@ -0,0 +1,152 @@ +using System.Collections.Generic; +using UnityEngine; +using HPTK.Models.Avatar; +using HPTK.Input; +using HPTK.Helpers; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace HPTK.Utils +{ + public class PoseRecorder : MonoBehaviour + { + public HandModel hand; + public HPTK.Input.HandPose pose; + public string alias; + + [Header("On apply")] + public bool applyInverted = false; + public bool applyPos = false; + public bool applyRot = true; + public bool applyScale = false; + + public void Save() + { +#if UNITY_EDITOR + EditorUtility.SetDirty(pose); +#endif + + // Check valid hand model initialization + if (hand.fingers == null || hand.fingers.Length == 0) + { + Debug.LogWarning("HandModel was not initialized. Initializing..."); + AvatarHelpers.HandModelInit(hand); + } + + // Save abstractTsfs + List fingers = new List(); + + // Poses always have 5 fingers in the same order for convention between hand models: thumb, index, middle, ring, pinky + + if (hand.thumb) + fingers.Add(SaveFinger(hand.thumb)); + else + fingers.Add(SaveFinger()); + + if (hand.index) + fingers.Add(SaveFinger(hand.index)); + else + fingers.Add(SaveFinger()); + + if (hand.middle) + fingers.Add(SaveFinger(hand.middle)); + else + fingers.Add(SaveFinger()); + + if (hand.ring) + fingers.Add(SaveFinger(hand.ring)); + else + fingers.Add(SaveFinger()); + + if (hand.pinky) + fingers.Add(SaveFinger(hand.pinky)); + else + fingers.Add(SaveFinger()); + + pose.alias = alias; + pose.fingers = fingers.ToArray(); + + pose.wrist = new AbstractTsf( + hand.wrist.transformRef.localPosition, + hand.wrist.transformRef.localRotation, + Space.Self, + hand.wrist.transformRef.localScale, + hand.wrist.transformRef.name); + + if (hand.forearm) + { + pose.forearm = new AbstractTsf( + hand.forearm.transformRef.localPosition, + hand.forearm.transformRef.localRotation, + Space.Self, + hand.forearm.transformRef.localScale, + hand.forearm.transformRef.name); + } +#if UNITY_EDITOR + AssetDatabase.SaveAssets(); +#endif + } + + public void Apply() + { + if (hand.fingers == null || hand.fingers.Length == 0) + { + AvatarHelpers.HandModelInit(hand); + } + + pose.ApplyPose(hand, applyPos, applyRot, applyScale, applyInverted); + } + + FingerPose SaveFinger(FingerModel fingerModel) + { + List bones = new List(); + + for (int b = 0; b < fingerModel.bones.Length; b++) + { + bones.Add(new AbstractTsf( + fingerModel.bones[b].transformRef.localPosition, + fingerModel.bones[b].transformRef.localRotation, + Space.Self, + fingerModel.bones[b].transformRef.localScale, + fingerModel.bones[b].transformRef.name)); + } + + FingerPose fingerPose = new FingerPose(fingerModel.name); + fingerPose.bones = bones.ToArray(); + + return fingerPose; + } + + FingerPose SaveFinger() + { + FingerPose fingerPose = new FingerPose("NULL"); + fingerPose.bones = new AbstractTsf[0]; + + return fingerPose; + } + } + +#if UNITY_EDITOR + [CustomEditor(typeof(PoseRecorder))] + public class HandPoserEditor : Editor + { + public override void OnInspectorGUI() + { + DrawDefaultInspector(); + + PoseRecorder myScript = (PoseRecorder)target; + + if (GUILayout.Button("OVERWRITE")) + { + myScript.Save(); + } + if (GUILayout.Button("APPLY")) + { + myScript.Apply(); + } + } + } +#endif +} \ No newline at end of file diff --git a/Runtime/Input/PoseRecorder.cs.meta b/Runtime/Input/PoseRecorder.cs.meta new file mode 100644 index 0000000..92a5b3d --- /dev/null +++ b/Runtime/Input/PoseRecorder.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8e3523ee021717040a567d2aeff9a63b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Modules/Avatar/AvatarHandler.cs b/Runtime/Modules/Avatar/AvatarHandler.cs index fefc19d..1103d76 100644 --- a/Runtime/Modules/Avatar/AvatarHandler.cs +++ b/Runtime/Modules/Avatar/AvatarHandler.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; +using static HPTK.Views.Handlers.ProxyHandHandler; namespace HPTK.Views.Handlers { public class AvatarHandler : HPTKHandler @@ -14,7 +15,15 @@ public sealed class AvatarViewModel // Hands public ProxyHandHandler rightHand { get { return model.rightHand.handler; } } public ProxyHandHandler leftHand { get { return model.leftHand.handler; } } - public ProxyHandModel[] hands { get { return model.hands; } } + ProxyHandHandler[] _hands; + public ProxyHandHandler[] hands + { + get + { + if (_hands == null && model.hands != null) _hands = GetProxyHandHandlersArray(); + return _hands; + } + } // Related modules public HPTKHandler[] relatedHandlers { get { return model.relatedHandlers.ToArray(); } } @@ -27,7 +36,6 @@ public sealed class AvatarViewModel public Transform torso { get { return model.torso; } } public Transform shoulderLeft { get { return model.shoulderLeft; } } - public Transform shoulderCenter { get { return model.shoulderCenter; } } public Transform shoulderRight { get { return model.shoulderRight; } } public Transform hips { get { return model.hips; } } public Transform feet { get { return model.feet; } } @@ -42,6 +50,27 @@ public AvatarViewModel(AvatarModel model) { this.model = model; } + ProxyHandHandler[] GetProxyHandHandlersArray() + { + List proxyHandHandlersList = new List(); + + for (int h = 0; h < model.hands.Length; h++) + { + if (model.hands[h] != null) + { + if (model.hands[h] == model.leftHand) + proxyHandHandlersList.Add(leftHand); + + else if (model.hands[h] == model.rightHand) + proxyHandHandlersList.Add(rightHand); + + else + proxyHandHandlersList.Add(model.hands[h].handler); + } + } + + return proxyHandHandlersList.ToArray(); + } } public AvatarViewModel viewModel; } diff --git a/Runtime/Modules/Avatar/AvatarModel.cs b/Runtime/Modules/Avatar/AvatarModel.cs index 66f77f5..4407212 100644 --- a/Runtime/Modules/Avatar/AvatarModel.cs +++ b/Runtime/Modules/Avatar/AvatarModel.cs @@ -28,7 +28,6 @@ public class AvatarModel : HPTKModel [Header("Body")] public Transform torso; public Transform shoulderLeft; - public Transform shoulderCenter; public Transform shoulderRight; public Transform hips; public Transform feet; diff --git a/Runtime/Modules/ProxyHand/Hand/HandModel.cs b/Runtime/Modules/ProxyHand/Hand/HandModel.cs index 9a20f10..938b122 100644 --- a/Runtime/Modules/ProxyHand/Hand/HandModel.cs +++ b/Runtime/Modules/ProxyHand/Hand/HandModel.cs @@ -24,7 +24,7 @@ public class HandModel : HPTKModel public FingerModel ring; public FingerModel pinky; - [HideInInspector] + //[HideInInspector] public FingerModel[] fingers; public BoneModel wrist; diff --git a/Samples/Configurations/Input/Confident.asset b/Samples/Configurations/Input/Confident.asset index 336fc6d..56f386a 100644 --- a/Samples/Configurations/Input/Confident.asset +++ b/Samples/Configurations/Input/Confident.asset @@ -34,8 +34,8 @@ MonoBehaviour: gradualHandClamping: 0 startDecreasingHandClampUnderConfidence: 1 lowestHandLinearSpeed: 2 - lowestHandAngularSpeed: 90 + lowestHandAngularSpeed: 12.56 useFingerClamping: 0 gradualFingerClamping: 1 startDecreasingFingerClampUnderConfidence: 0.75 - lowestFingerAngularSpeed: 10 + lowestFingerAngularSpeed: 6.28 diff --git a/Samples/Materials/URP/Generic/Alpha_Blue.mat b/Samples/Materials/URP/Generic/Alpha_Blue.mat index c9c614c..baa7a48 100644 --- a/Samples/Materials/URP/Generic/Alpha_Blue.mat +++ b/Samples/Materials/URP/Generic/Alpha_Blue.mat @@ -97,7 +97,7 @@ Material: - _WorkflowMode: 1 - _ZWrite: 0 m_Colors: - - _BaseColor: {r: 0.33490568, g: 0.3773586, b: 1, a: 1} + - _BaseColor: {r: 0.33490565, g: 0.37735856, b: 1, a: 0.48235294} - _Color: {r: 0.4481132, g: 0.48422062, b: 1, a: 0.5372549} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999757, g: 0.19999757, b: 0.19999757, a: 0} diff --git a/Samples/Poses.meta b/Samples/Poses.meta new file mode 100644 index 0000000..0f2cc46 --- /dev/null +++ b/Samples/Poses.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 990a7ba17707ac343b78f53e84f1a10d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Poses/Left.meta b/Samples/Poses/Left.meta new file mode 100644 index 0000000..4e73af0 --- /dev/null +++ b/Samples/Poses/Left.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4f4e14392f0f072438b198db997e1e78 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Poses/Left/IndexPinchOpened.L.asset b/Samples/Poses/Left/IndexPinchOpened.L.asset new file mode 100644 index 0000000..53b64a9 --- /dev/null +++ b/Samples/Poses/Left/IndexPinchOpened.L.asset @@ -0,0 +1,153 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54c587aa31b907a4f881344ca589a240, type: 3} + m_Name: IndexPinchOpened.L + m_EditorClassIdentifier: + alias: IndexPinchOpened.L + fingers: + - name: Thumb + bones: + - name: b_l_thumb0 + position: {x: -0.020069301, y: 0.011554099, z: -0.0104965195} + rotation: {x: 0.6714314, y: -0.43205386, z: -0.15247025, w: 0.58246213} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_thumb1 + position: {x: -0.024852559, y: -8.881784e-18, z: 1.0547119e-17} + rotation: {x: 0.12953939, y: 0.14797965, z: -0.047841363, w: 0.9793023} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_thumb2 + position: {x: -0.03251291, y: 0, z: 0} + rotation: {x: 0.07128443, y: -0.026931595, z: -0.07745252, w: 0.99407965} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_thumb3 + position: {x: -0.03379309, y: -1.3322676e-17, z: 3.4416914e-17} + rotation: {x: 0.03153521, y: -0.10142719, z: -0.20264788, w: 0.97347414} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: ThumbTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Index + bones: + - name: b_l_index1 + position: {x: -0.09599624, y: 0.0073164543, z: -0.02355068} + rotation: {x: 0.10965632, y: -0.080088936, z: -0.40726542, w: 0.90315896} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_index2 + position: {x: -0.0379273, y: -2.220446e-18, z: -8.881784e-18} + rotation: {x: 0.02509233, y: -0.10476275, z: -0.35374165, w: 0.929119} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_index3 + position: {x: -0.024303643, y: 3.0531133e-18, z: 4.440892e-18} + rotation: {x: 0.053343534, y: -0.09607778, z: -0.18282408, w: 0.9769846} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: IndexTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Middle + bones: + - name: b_l_middle1 + position: {x: -0.095646605, y: 0.0025431546, z: -0.0017259055} + rotation: {x: 0.091050684, y: -0.012224702, z: -0.26942298, w: 0.95863014} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_middle2 + position: {x: -0.04292699, y: 0, z: 0} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_middle3 + position: {x: -0.027549583, y: 0, z: -4.440892e-18} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: MiddleTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Ring + bones: + - name: b_l_ring1 + position: {x: -0.08869379, y: 0.006529307, z: 0.017465241} + rotation: {x: 0.0977938, y: 0.04102458, z: -0.13913848, w: 0.984578} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_ring2 + position: {x: -0.0389961, y: 7.771561e-18, z: -8.881784e-18} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_ring3 + position: {x: -0.026573397, y: -4.440892e-18, z: 0} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: RingTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Pinky + bones: + - name: b_l_pinky0 + position: {x: -0.034073558, y: 0.009419835, z: 0.022998573} + rotation: {x: -0.20703599, y: 0.14034285, z: -0.0183118, w: 0.96804166} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_pinky1 + position: {x: -0.04565054, y: 0.0000009982332, z: -0.0000021940255} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_pinky2 + position: {x: -0.030720409, y: -3.330669e-18, z: -8.881784e-18} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_pinky3 + position: {x: -0.020311384, y: 6.661338e-18, z: -8.881784e-18} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: PinkyTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + wrist: + name: b_l_wrist + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + space: 1 + localScale: {x: 1.04, y: 1.04, z: 1.04} + forearm: + name: b_l_forearm_stub + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + space: 1 + localScale: {x: 1, y: 1, z: 1} diff --git a/Samples/Poses/Left/IndexPinchOpened.L.asset.meta b/Samples/Poses/Left/IndexPinchOpened.L.asset.meta new file mode 100644 index 0000000..775fb8b --- /dev/null +++ b/Samples/Poses/Left/IndexPinchOpened.L.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f1b2cd111c5565f468bef6dfb85fe9ae +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Poses/Left/PowerGrip.L.asset b/Samples/Poses/Left/PowerGrip.L.asset new file mode 100644 index 0000000..b1d1419 --- /dev/null +++ b/Samples/Poses/Left/PowerGrip.L.asset @@ -0,0 +1,153 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54c587aa31b907a4f881344ca589a240, type: 3} + m_Name: PowerGrip.L + m_EditorClassIdentifier: + alias: PowerGrip.L + fingers: + - name: Thumb + bones: + - name: b_l_thumb0 + position: {x: -0.020069301, y: 0.011554099, z: -0.0104965195} + rotation: {x: 0.31533012, y: -0.47090745, z: 0.11772052, w: 0.81544775} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_thumb1 + position: {x: -0.024852559, y: -8.881784e-18, z: 1.0547119e-17} + rotation: {x: 0.053138115, y: -0.0101147285, z: -0.49401948, w: 0.8677666} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_thumb2 + position: {x: -0.03251291, y: 0, z: 0} + rotation: {x: 0.021186043, y: -0.093695164, z: -0.42767644, w: 0.8988133} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_thumb3 + position: {x: -0.03379309, y: -1.3322676e-17, z: 3.4416914e-17} + rotation: {x: 0.07287144, y: 0.05484986, z: -0.6552395, w: 0.7498949} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: ThumbTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Index + bones: + - name: b_l_index1 + position: {x: -0.09599624, y: 0.0073164543, z: -0.02355068} + rotation: {x: 0.0062042475, y: -0.023423174, z: -0.75316495, w: 0.6573853} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_index2 + position: {x: -0.0379273, y: -2.220446e-18, z: -8.881784e-18} + rotation: {x: -0.052046854, y: 0.11325574, z: -0.78199834, w: 0.6106905} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_index3 + position: {x: -0.024303643, y: 3.0531133e-18, z: 4.440892e-18} + rotation: {x: 0.05518019, y: 0.07262159, z: -0.8346917, w: 0.54311246} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: IndexTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Middle + bones: + - name: b_l_middle1 + position: {x: -0.095646605, y: 0.0025431546, z: -0.0017259055} + rotation: {x: -0.008599688, y: -0.010475275, z: -0.7420506, w: 0.6702069} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_middle2 + position: {x: -0.04292699, y: 0, z: 0} + rotation: {x: -0.07316543, y: 0.061271075, z: -0.7958164, w: 0.59797066} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_middle3 + position: {x: -0.027549583, y: 0, z: -4.440892e-18} + rotation: {x: 0.047550585, y: 0.07783121, z: -0.8853523, w: 0.45588657} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: MiddleTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Ring + bones: + - name: b_l_ring1 + position: {x: -0.08869379, y: 0.006529307, z: 0.017465241} + rotation: {x: -0.04058843, y: 0.01346831, z: -0.79366845, w: 0.6068457} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_ring2 + position: {x: -0.0389961, y: 7.771561e-18, z: -8.881784e-18} + rotation: {x: -0.08342863, y: 0.079413846, z: -0.7266923, w: 0.6772381} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_ring3 + position: {x: -0.026573397, y: -4.440892e-18, z: 0} + rotation: {x: 0.04084227, y: 0.08155159, z: -0.92052835, w: 0.37988007} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: RingTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Pinky + bones: + - name: b_l_pinky0 + position: {x: -0.034073558, y: 0.009419835, z: 0.022998573} + rotation: {x: -0.20703599, y: 0.14034285, z: -0.0183118, w: 0.96804166} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_pinky1 + position: {x: -0.04565054, y: 0.0000009982332, z: -0.0000021940255} + rotation: {x: 0.074080475, y: 0.17557801, z: -0.7999532, w: 0.5689985} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_pinky2 + position: {x: -0.030720409, y: -3.330669e-18, z: -8.881784e-18} + rotation: {x: -0.034932006, y: 0.11964677, z: -0.68433243, w: 0.7184383} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_pinky3 + position: {x: -0.020311384, y: 6.661338e-18, z: -8.881784e-18} + rotation: {x: 0.031031745, y: 0.08576597, z: -0.9586158, w: 0.26969817} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: PinkyTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + wrist: + name: b_l_wrist + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + space: 1 + localScale: {x: 1.04, y: 1.04, z: 1.04} + forearm: + name: b_l_forearm_stub + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + space: 1 + localScale: {x: 1, y: 1, z: 1} diff --git a/Samples/Poses/Left/PowerGrip.L.asset.meta b/Samples/Poses/Left/PowerGrip.L.asset.meta new file mode 100644 index 0000000..fd3c6c6 --- /dev/null +++ b/Samples/Poses/Left/PowerGrip.L.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 977e1e38edc9bf5438d991c98090a874 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Poses/Left/RelaxedHand.L.asset b/Samples/Poses/Left/RelaxedHand.L.asset new file mode 100644 index 0000000..aa23774 --- /dev/null +++ b/Samples/Poses/Left/RelaxedHand.L.asset @@ -0,0 +1,153 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54c587aa31b907a4f881344ca589a240, type: 3} + m_Name: RelaxedHand.L + m_EditorClassIdentifier: + alias: RelaxedHand.L + fingers: + - name: Thumb + bones: + - name: b_l_thumb0 + position: {x: -0.020069301, y: 0.011554099, z: -0.0104965195} + rotation: {x: 0.3488786, y: -0.5213014, z: -0.068102844, w: 0.77581614} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_thumb1 + position: {x: -0.024852559, y: -4.440892e-18, z: 1.1657341e-17} + rotation: {x: 0.11618906, y: 0.17052603, z: -0.1752198, w: 0.96266246} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_thumb2 + position: {x: -0.03251291, y: 4.440892e-18, z: -3.2196467e-17} + rotation: {x: 0.09117387, y: 0.002462566, z: -0.09933401, w: 0.99086535} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_thumb3 + position: {x: -0.03379309, y: -1.3322676e-17, z: 1.6653344e-17} + rotation: {x: 0.014679532, y: -0.0046258396, z: -0.14645731, w: 0.9890973} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + - name: Index + bones: + - name: b_l_index1 + position: {x: -0.09599624, y: 0.0073164543, z: -0.02355068} + rotation: {x: 0.072206125, y: -0.03128003, z: 0.008814293, w: 0.99686015} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_index2 + position: {x: -0.0379273, y: -3.330669e-18, z: -1.3322676e-17} + rotation: {x: 0.042162836, y: 0.0049261674, z: -0.00020788856, w: 0.99909866} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_index3 + position: {x: -0.024301702, y: -0.000005243357, z: -0.000004363086} + rotation: {x: -0.025068555, y: -0.0067260414, z: -0.00016866895, w: 0.9996631} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + - name: Middle + bones: + - name: b_l_middle1 + position: {x: -0.09570441, y: 0.0042553633, z: -0.0017418526} + rotation: {x: -0.057405468, y: 0.056609664, z: -0.07608648, w: 0.99383646} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_middle2 + position: {x: -0.04292699, y: 4.440892e-18, z: -4.440892e-18} + rotation: {x: 0.03477051, y: -0.0024099087, z: -0.124315895, w: 0.9916304} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_middle3 + position: {x: -0.027547145, y: -0.00001392042, z: -0.000009294309} + rotation: {x: 0.005901013, y: -0.0061311866, z: -0.10709025, w: 0.9942129} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + - name: Ring + bones: + - name: b_l_ring1 + position: {x: -0.08869379, y: 0.006529307, z: 0.017465241} + rotation: {x: -0.14086793, y: 0.10102439, z: -0.10325661, w: 0.97943276} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_ring2 + position: {x: -0.0389961, y: 8.881784e-18, z: -8.881784e-18} + rotation: {x: 0.09022506, y: 0.013348825, z: -0.21712422, w: 0.97187364} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_ring3 + position: {x: -0.026573397, y: -4.440892e-18, z: 4.440892e-18} + rotation: {x: -0.009017742, y: -0.008435271, z: -0.17497893, w: 0.9844948} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + - name: Pinky + bones: + - name: b_l_pinky0 + position: {x: -0.034073558, y: 0.009419835, z: 0.022998573} + rotation: {x: -0.21162276, y: 0.13332598, z: -0.05074185, w: 0.9668844} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_pinky1 + position: {x: -0.04565054, y: 0.0000009982332, z: -0.0000021940255} + rotation: {x: 0.09238671, y: 0.015494078, z: -0.07843849, w: 0.992508} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_pinky2 + position: {x: -0.030720409, y: -1.110223e-18, z: 3.7747583e-17} + rotation: {x: 0.014330696, y: -0.004690892, z: -0.14549996, w: 0.9892434} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_l_pinky3 + position: {x: -0.020311384, y: 6.661338e-18, z: -1.7763568e-17} + rotation: {x: -0.026538236, y: -0.013060123, z: -0.22606449, w: 0.9736632} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + wrist: + name: b_l_wrist + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + space: 1 + localScale: {x: 1.04, y: 1.04, z: 1.04} + forearm: + name: b_l_forearm_stub + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + space: 1 + localScale: {x: 1, y: 1, z: 1} diff --git a/Samples/Poses/Left/RelaxedHand.L.asset.meta b/Samples/Poses/Left/RelaxedHand.L.asset.meta new file mode 100644 index 0000000..c45da92 --- /dev/null +++ b/Samples/Poses/Left/RelaxedHand.L.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d9708eac901ada04785e12638cfbcb52 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Poses/Right.meta b/Samples/Poses/Right.meta new file mode 100644 index 0000000..bdf40a2 --- /dev/null +++ b/Samples/Poses/Right.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a2412de3837e87d4aa0b567022b3f543 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Poses/Right/IndexPinchOpened.R.asset b/Samples/Poses/Right/IndexPinchOpened.R.asset new file mode 100644 index 0000000..db94b47 --- /dev/null +++ b/Samples/Poses/Right/IndexPinchOpened.R.asset @@ -0,0 +1,153 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54c587aa31b907a4f881344ca589a240, type: 3} + m_Name: IndexPinchOpened.R + m_EditorClassIdentifier: + alias: IndexPinchOpened.R + fingers: + - name: Thumb + bones: + - name: b_r_thumb0 + position: {x: 0.020069301, y: -0.011554099, z: 0.0104965195} + rotation: {x: 0.6714314, y: -0.43205386, z: -0.15247025, w: 0.58246213} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_thumb1 + position: {x: 0.024852559, y: 8.881784e-18, z: -1.0547119e-17} + rotation: {x: 0.12953936, y: 0.14797965, z: -0.047841348, w: 0.9793023} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_thumb2 + position: {x: 0.03251291, y: -0, z: -0} + rotation: {x: 0.07128443, y: -0.026931595, z: -0.07745252, w: 0.99407965} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_thumb3 + position: {x: 0.03379309, y: 1.3322676e-17, z: -3.4416914e-17} + rotation: {x: 0.03153521, y: -0.10142719, z: -0.20264788, w: 0.97347414} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: ThumbTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Index + bones: + - name: b_r_index1 + position: {x: 0.09599624, y: -0.0073164543, z: 0.02355068} + rotation: {x: 0.10965632, y: -0.080088936, z: -0.40726542, w: 0.90315896} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_index2 + position: {x: 0.0379273, y: 2.220446e-18, z: 8.881784e-18} + rotation: {x: 0.02509233, y: -0.10476275, z: -0.35374165, w: 0.929119} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_index3 + position: {x: 0.024303643, y: -3.0531133e-18, z: -4.440892e-18} + rotation: {x: 0.053343534, y: -0.09607778, z: -0.18282408, w: 0.9769846} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: IndexTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Middle + bones: + - name: b_r_middle1 + position: {x: 0.095646605, y: -0.0025431546, z: 0.0017259055} + rotation: {x: 0.091050684, y: -0.012224701, z: -0.26942298, w: 0.9586301} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_middle2 + position: {x: 0.04292699, y: -0, z: -0} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_middle3 + position: {x: 0.027549583, y: -0, z: 4.440892e-18} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: MiddleTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Ring + bones: + - name: b_r_ring1 + position: {x: 0.08869379, y: -0.006529307, z: -0.017465241} + rotation: {x: 0.0977938, y: 0.04102458, z: -0.13913848, w: 0.984578} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_ring2 + position: {x: 0.0389961, y: -7.771561e-18, z: 8.881784e-18} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_ring3 + position: {x: 0.026573397, y: 4.440892e-18, z: -0} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: RingTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Pinky + bones: + - name: b_r_pinky0 + position: {x: 0.034073558, y: -0.009419835, z: -0.022998573} + rotation: {x: -0.20703599, y: 0.14034285, z: -0.0183118, w: 0.96804166} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_pinky1 + position: {x: 0.04565054, y: -0.0000009982332, z: 0.0000021940255} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_pinky2 + position: {x: 0.030720409, y: 3.330669e-18, z: 8.881784e-18} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_pinky3 + position: {x: 0.020311384, y: -6.661338e-18, z: 8.881784e-18} + rotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: PinkyTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + wrist: + name: b_r_wrist + position: {x: 0, y: 0, z: 0} + rotation: {x: -0, y: -0, z: -0, w: 1} + space: 1 + localScale: {x: 1.04, y: 1.04, z: 1.04} + forearm: + name: b_r_forearm_stub + position: {x: 0, y: -0, z: -0} + rotation: {x: 0, y: -0, z: -0, w: 1} + space: 1 + localScale: {x: 1, y: 1, z: 1} diff --git a/Samples/Poses/Right/IndexPinchOpened.R.asset.meta b/Samples/Poses/Right/IndexPinchOpened.R.asset.meta new file mode 100644 index 0000000..4d5dd20 --- /dev/null +++ b/Samples/Poses/Right/IndexPinchOpened.R.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 327fc1da4d4fc25409800ff0d32bc138 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Poses/Right/PowerGrip.R.asset b/Samples/Poses/Right/PowerGrip.R.asset new file mode 100644 index 0000000..9e45335 --- /dev/null +++ b/Samples/Poses/Right/PowerGrip.R.asset @@ -0,0 +1,153 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54c587aa31b907a4f881344ca589a240, type: 3} + m_Name: PowerGrip.R + m_EditorClassIdentifier: + alias: PowerGrip.R + fingers: + - name: Thumb + bones: + - name: b_r_thumb0 + position: {x: 0.020069301, y: -0.011554099, z: 0.0104965195} + rotation: {x: 0.31533012, y: -0.47090745, z: 0.11772052, w: 0.81544775} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_thumb1 + position: {x: 0.024852559, y: 8.881784e-18, z: -1.0547119e-17} + rotation: {x: 0.053138115, y: -0.0101147285, z: -0.49401948, w: 0.8677666} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_thumb2 + position: {x: 0.03251291, y: -0, z: -0} + rotation: {x: 0.021186043, y: -0.093695164, z: -0.42767644, w: 0.8988133} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_thumb3 + position: {x: 0.03379309, y: 1.3322676e-17, z: -3.4416914e-17} + rotation: {x: 0.07287144, y: 0.05484986, z: -0.6552395, w: 0.7498949} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: ThumbTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Index + bones: + - name: b_r_index1 + position: {x: 0.09599624, y: -0.0073164543, z: 0.02355068} + rotation: {x: 0.0062042475, y: -0.023423174, z: -0.75316495, w: 0.6573853} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_index2 + position: {x: 0.0379273, y: 2.220446e-18, z: 8.881784e-18} + rotation: {x: -0.052046854, y: 0.11325574, z: -0.78199834, w: 0.6106905} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_index3 + position: {x: 0.024303643, y: -3.0531133e-18, z: -4.440892e-18} + rotation: {x: 0.05518019, y: 0.07262159, z: -0.8346917, w: 0.54311246} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: IndexTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Middle + bones: + - name: b_r_middle1 + position: {x: 0.095646605, y: -0.0025431546, z: 0.0017259055} + rotation: {x: -0.008599688, y: -0.010475275, z: -0.7420506, w: 0.6702069} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_middle2 + position: {x: 0.04292699, y: -0, z: -0} + rotation: {x: -0.07316543, y: 0.061271075, z: -0.7958164, w: 0.59797066} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_middle3 + position: {x: 0.027549583, y: -0, z: 4.440892e-18} + rotation: {x: 0.047550585, y: 0.07783121, z: -0.8853523, w: 0.45588657} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: MiddleTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Ring + bones: + - name: b_r_ring1 + position: {x: 0.08869379, y: -0.006529307, z: -0.017465241} + rotation: {x: -0.04058843, y: 0.01346831, z: -0.79366845, w: 0.6068457} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_ring2 + position: {x: 0.0389961, y: -7.771561e-18, z: 8.881784e-18} + rotation: {x: -0.08342863, y: 0.079413846, z: -0.7266923, w: 0.6772381} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_ring3 + position: {x: 0.026573397, y: 4.440892e-18, z: -0} + rotation: {x: 0.04084227, y: 0.08155159, z: -0.92052835, w: 0.37988007} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: RingTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + - name: Pinky + bones: + - name: b_r_pinky0 + position: {x: 0.034073558, y: -0.009419835, z: -0.022998573} + rotation: {x: -0.20703599, y: 0.14034285, z: -0.0183118, w: 0.96804166} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_pinky1 + position: {x: 0.04565054, y: -0.0000009982332, z: 0.0000021940255} + rotation: {x: 0.074080475, y: 0.17557801, z: -0.7999532, w: 0.5689985} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_pinky2 + position: {x: 0.030720409, y: 3.330669e-18, z: 8.881784e-18} + rotation: {x: -0.034932006, y: 0.11964677, z: -0.68433243, w: 0.7184383} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_pinky3 + position: {x: 0.020311384, y: -6.661338e-18, z: 8.881784e-18} + rotation: {x: 0.031031745, y: 0.08576597, z: -0.9586158, w: 0.26969817} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: PinkyTip + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 1 + localScale: {x: 0, y: 0, z: 0} + wrist: + name: b_r_wrist + position: {x: 0, y: 0, z: 0} + rotation: {x: -0, y: -0, z: -0, w: 1} + space: 1 + localScale: {x: 1.04, y: 1.04, z: 1.04} + forearm: + name: b_r_forearm_stub + position: {x: 0, y: -0, z: -0} + rotation: {x: 0, y: -0, z: -0, w: 1} + space: 1 + localScale: {x: 1, y: 1, z: 1} diff --git a/Samples/Poses/Right/PowerGrip.R.asset.meta b/Samples/Poses/Right/PowerGrip.R.asset.meta new file mode 100644 index 0000000..de64089 --- /dev/null +++ b/Samples/Poses/Right/PowerGrip.R.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 05a57b06e8cd72a4b8bcae667b11a8f4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Poses/Right/RelaxedHand.R.asset b/Samples/Poses/Right/RelaxedHand.R.asset new file mode 100644 index 0000000..03470ad --- /dev/null +++ b/Samples/Poses/Right/RelaxedHand.R.asset @@ -0,0 +1,153 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 54c587aa31b907a4f881344ca589a240, type: 3} + m_Name: RelaxedHand.R + m_EditorClassIdentifier: + alias: RelaxedHand.R + fingers: + - name: Thumb + bones: + - name: b_r_thumb0 + position: {x: 0.020069301, y: -0.011554099, z: 0.0104965195} + rotation: {x: 0.3488786, y: -0.5213014, z: -0.068102844, w: 0.77581614} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_thumb1 + position: {x: 0.024852559, y: 4.440892e-18, z: -1.1657341e-17} + rotation: {x: 0.11618906, y: 0.17052603, z: -0.1752198, w: 0.96266246} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_thumb2 + position: {x: 0.03251291, y: -4.440892e-18, z: 3.2196467e-17} + rotation: {x: 0.09117387, y: 0.002462566, z: -0.09933401, w: 0.99086535} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_thumb3 + position: {x: 0.03379309, y: 1.3322676e-17, z: -1.6653344e-17} + rotation: {x: 0.014679532, y: -0.0046258396, z: -0.14645731, w: 0.9890973} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + - name: Index + bones: + - name: b_r_index1 + position: {x: 0.09599624, y: -0.0073164543, z: 0.02355068} + rotation: {x: 0.07220612, y: -0.03128003, z: 0.008814292, w: 0.99686015} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_index2 + position: {x: 0.0379273, y: 3.330669e-18, z: 1.3322676e-17} + rotation: {x: 0.04216284, y: 0.0049261674, z: -0.00020788859, w: 0.99909866} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_index3 + position: {x: 0.024301702, y: 0.000005243357, z: 0.000004363086} + rotation: {x: -0.025068555, y: -0.0067260414, z: -0.00016866895, w: 0.9996631} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + - name: Middle + bones: + - name: b_r_middle1 + position: {x: 0.09570441, y: -0.0042553633, z: 0.0017418526} + rotation: {x: -0.057405468, y: 0.056609664, z: -0.07608648, w: 0.99383646} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_middle2 + position: {x: 0.04292699, y: -4.440892e-18, z: 4.440892e-18} + rotation: {x: 0.03477051, y: -0.0024099087, z: -0.124315895, w: 0.9916304} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_middle3 + position: {x: 0.027547145, y: 0.00001392042, z: 0.000009294309} + rotation: {x: 0.005901013, y: -0.0061311866, z: -0.10709025, w: 0.9942129} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + - name: Ring + bones: + - name: b_r_ring1 + position: {x: 0.08869379, y: -0.006529307, z: -0.017465241} + rotation: {x: -0.14086793, y: 0.10102439, z: -0.10325661, w: 0.97943276} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_ring2 + position: {x: 0.0389961, y: -8.881784e-18, z: 8.881784e-18} + rotation: {x: 0.09022506, y: 0.013348825, z: -0.21712422, w: 0.97187364} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_ring3 + position: {x: 0.026573397, y: 4.440892e-18, z: -4.440892e-18} + rotation: {x: -0.009017742, y: -0.008435271, z: -0.17497893, w: 0.9844948} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + - name: Pinky + bones: + - name: b_r_pinky0 + position: {x: 0.034073558, y: -0.009419835, z: -0.022998573} + rotation: {x: -0.21162276, y: 0.13332598, z: -0.05074185, w: 0.9668844} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_pinky1 + position: {x: 0.04565054, y: -0.0000009982332, z: 0.0000021940255} + rotation: {x: 0.09238671, y: 0.015494078, z: -0.07843849, w: 0.992508} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_pinky2 + position: {x: 0.030720409, y: 1.110223e-18, z: -3.7747583e-17} + rotation: {x: 0.014330696, y: -0.004690892, z: -0.14549996, w: 0.9892434} + space: 1 + localScale: {x: 1, y: 1, z: 1} + - name: b_r_pinky3 + position: {x: 0.020311384, y: -6.661338e-18, z: 1.7763568e-17} + rotation: {x: -0.026538236, y: -0.013060123, z: -0.22606449, w: 0.9736632} + space: 1 + localScale: {x: 1, y: 1, z: 1} + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + wrist: + name: b_r_wrist + position: {x: 0, y: 0, z: 0} + rotation: {x: -0, y: -0, z: -0, w: 1} + space: 1 + localScale: {x: 1.04, y: 1.04, z: 1.04} + forearm: + name: b_r_forearm_stub + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + space: 1 + localScale: {x: 1, y: 1, z: 1} diff --git a/Samples/Poses/Right/RelaxedHand.R.asset.meta b/Samples/Poses/Right/RelaxedHand.R.asset.meta new file mode 100644 index 0000000..7f89c6b --- /dev/null +++ b/Samples/Poses/Right/RelaxedHand.R.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 15d7a8ff6098ce54780aa84bbb591f23 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Prefabs/Avatars/ProxyHand.L.prefab b/Samples/Prefabs/Avatars/ProxyHand.L.prefab index 3d4ffee..96f4f6f 100644 --- a/Samples/Prefabs/Avatars/ProxyHand.L.prefab +++ b/Samples/Prefabs/Avatars/ProxyHand.L.prefab @@ -23,7 +23,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 536863899760843904} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0379273, y: -2.220446e-18, z: -8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -220,7 +220,7 @@ MonoBehaviour: jointRef: {fileID: 2041276091656683540} colliderRef: {fileID: 2041276091488114260} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: -20, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 877365548150073778} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -1208,7 +1208,7 @@ MonoBehaviour: jointRef: {fileID: 2041276091936811054} colliderRef: {fileID: 2041276091541152362} isSpecial: 1 - targetEulerOffsetRot: {x: -16, y: -44, z: -44} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 877365547771283801} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -1317,7 +1317,7 @@ MonoBehaviour: jointRef: {fileID: 2041276090581243397} colliderRef: {fileID: 2041276092344377806} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: -3, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 877365547252741873} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -1397,6 +1397,8 @@ MonoBehaviour: palmExterior: {fileID: 7060747805239783271} palmInterior: {fileID: 5139478286610249640} ray: {fileID: 877365547731974679} + extraScale: 1 + totalScale: 0 skinnedMR: {fileID: 7613778791455064307} fistLerp: 0 isFist: 0 @@ -1409,7 +1411,6 @@ MonoBehaviour: isIntentionallyGrasping: 0 allTransforms: [] bones: [] - scale: 1 --- !u!1 &877365547317708293 GameObject: m_ObjectHideFlags: 0 @@ -2025,7 +2026,7 @@ MonoBehaviour: jointRef: {fileID: 2041276090812553412} colliderRef: {fileID: 2041276090448259711} isSpecial: 1 - targetEulerOffsetRot: {x: -13, y: 48, z: 28} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 877365547889606805} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -2266,7 +2267,7 @@ MonoBehaviour: jointRef: {fileID: 2041276091295717453} colliderRef: {fileID: 2041276091900353494} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: 14.4, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 877365547391209551} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -2375,7 +2376,7 @@ MonoBehaviour: jointRef: {fileID: 2041276091930495474} colliderRef: {fileID: 2041276091791226029} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: 7, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 877365546971645563} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -3279,6 +3280,8 @@ MonoBehaviour: palmExterior: {fileID: 7187441010838651024} palmInterior: {fileID: 3514848130272314879} ray: {fileID: 877365548218803228} + extraScale: 1 + totalScale: 0 skinnedMR: {fileID: 2041276091551493843} fistLerp: 0 isFist: 0 @@ -3291,7 +3294,6 @@ MonoBehaviour: isIntentionallyGrasping: 0 allTransforms: [] bones: [] - scale: 1 palmTrigger: {fileID: 9055322192346764210} handTrigger: {fileID: 3326149529679003047} palmCollisionNotifier: {fileID: 3731201964844286706} @@ -3664,7 +3666,7 @@ MonoBehaviour: jointRef: {fileID: 2041276091835099281} colliderRef: {fileID: 2041276090535804662} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: 5, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 877365548240732299} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -4233,7 +4235,7 @@ MonoBehaviour: jointRef: {fileID: 2041276091289504380} colliderRef: {fileID: 2041276091608932691} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: -10, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 877365547861736050} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -4393,7 +4395,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 928948728613600484} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.04565054, y: 0.0000009982332, z: -0.0000021940255} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4424,7 +4426,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1110988586221152897} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0389961, y: 7.771561e-18, z: -8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4517,7 +4519,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1246136826078055521} - m_LocalRotation: {x: -0.20703599, y: 0.14034285, z: -0.0183118, w: 0.96804166} + m_LocalRotation: {x: -0.20425358, y: 0.13468078, z: -0.01960206, w: 0.9694109} m_LocalPosition: {x: -0.034073558, y: 0.009419835, z: 0.022998573} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4548,7 +4550,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1398765529683827702} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.03379309, y: -1.3322676e-17, z: 3.4416914e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4579,7 +4581,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1648569190110179394} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.03251291, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4610,7 +4612,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1681615714058653034} - m_LocalRotation: {x: 0.090930626, y: 0.01308753, z: 0.0024192166, w: 0.9957683} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.095646605, y: 0.0025431546, z: -0.0017259055} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4672,7 +4674,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1816486959760238182} - m_LocalRotation: {x: 4.1633363e-17, y: -5.551115e-17, z: 3.469447e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0222, y: -0.0019, z: 0.0004} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -4968,7 +4970,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276090581243395} - m_LocalRotation: {x: -0.0034774544, y: -0.029179465, z: 0.02502854, w: 0.99925476} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.026573397, y: -4.440892e-18, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -5255,7 +5257,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276090730327850} - m_LocalRotation: {x: -1.3877788e-17, y: -1.8388069e-16, z: -2.4980018e-16, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.025, y: -0.0034, z: -0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -5287,7 +5289,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276090738844742} - m_LocalRotation: {x: 0.03068309, y: 0.018855589, z: -0.043281443, w: 0.9984136} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.09599624, y: 0.0073164543, z: -0.02355068} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -5433,7 +5435,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276090812553410} - m_LocalRotation: {x: 0.26023024, y: -0.024330912, z: -0.12567802, w: 0.95702314} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.024852559, y: -8.881784e-18, z: 1.0547119e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -5577,7 +5579,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276090848312929} - m_LocalRotation: {x: 5.2041704e-18, y: 1.3877788e-17, z: -1.7997756e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0216, y: -0, z: -0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -5609,7 +5611,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276090855341976} - m_LocalRotation: {x: -0.025852412, y: 0.0071160584, z: -0.0032929415, w: 0.99963504} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0379273, y: -2.220446e-18, z: -8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -5756,7 +5758,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276090872150514} - m_LocalRotation: {x: 0.08350578, y: -0.065015696, z: 0.058274068, w: 0.9926751} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.03379309, y: -1.3322676e-17, z: 3.4416914e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -6057,7 +6059,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091148018609} - m_LocalRotation: {x: -0.034319542, y: 0.004611837, z: 0.09300701, w: 0.9950631} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.027549583, y: 0, z: -4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -6222,7 +6224,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091289504378} - m_LocalRotation: {x: 0.00064476096, y: -0.04917067, z: 0.024018826, w: 0.99850136} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.020311384, y: 6.661338e-18, z: -8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -6386,7 +6388,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091295717451} - m_LocalRotation: {x: -0.053159367, y: 0.12310341, z: -0.049813494, w: 0.9897163} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.08869379, y: 0.006529307, z: 0.017465241} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -6577,7 +6579,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091378984705} - m_LocalRotation: {x: -0.011228237, y: 0.00437888, z: 0.0019782642, w: 0.99992543} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.04292699, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -7033,7 +7035,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091656683538} - m_LocalRotation: {x: -0.033632524, y: 0.0027898494, z: -0.005676029, w: 0.99941427} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0389961, y: 7.771561e-18, z: -8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -7177,7 +7179,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091673372251} - m_LocalRotation: {x: 4.1633363e-17, y: -5.551115e-17, z: 3.469447e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0228, y: -0.0011, z: -0.0012} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -7207,7 +7209,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091692565486} - m_LocalRotation: {x: 2.0816682e-17, y: -1.3877788e-17, z: -1.7347235e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0238, y: 0.0004, z: -0.0003} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -7284,7 +7286,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091835099295} - m_LocalRotation: {x: 0.09111303, y: -0.0040713567, z: -0.02812922, w: 0.9954349} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.04565054, y: 0.0000009982332, z: -0.0000021940255} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -7475,7 +7477,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091930495472} - m_LocalRotation: {x: -0.03761665, y: 0.042937692, z: 0.013286047, w: 0.99828094} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.030720409, y: -3.330669e-18, z: -8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -7621,7 +7623,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276091936811052} - m_LocalRotation: {x: 0.37538692, y: -0.42458406, z: 0.007778856, w: 0.8238644} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.020069301, y: 0.011554099, z: -0.0104965195} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -7765,7 +7767,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276092180215430} - m_LocalRotation: {x: -0.20703599, y: 0.14034285, z: -0.0183118, w: 0.96804166} + m_LocalRotation: {x: -0.20425358, y: 0.13468078, z: -0.01960206, w: 0.9694109} m_LocalPosition: {x: -0.034073558, y: 0.009419835, z: 0.022998573} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -7800,7 +7802,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276092191099976} - m_LocalRotation: {x: -0.08270365, y: 0.07696168, z: 0.084062226, w: 0.99003565} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.03251291, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -7947,7 +7949,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276092247163126} - m_LocalRotation: {x: -0.016056, y: 0.027148725, z: 0.07203398, w: 0.99690336} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.024303643, y: 3.0531133e-18, z: 4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -8244,7 +8246,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276092407964598} - m_LocalRotation: {x: -2.7755576e-17, y: 1.3877788e-16, z: 6.938894e-18, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0208, y: -0.0008, z: -0.0004} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -8276,7 +8278,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2041276092519708548} - m_LocalRotation: {x: -0.009066327, y: 0.05146559, z: -0.051835753, w: 0.99728745} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.095646605, y: 0.0025431546, z: -0.0017259055} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -8561,7 +8563,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2901712368796291726} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.027549583, y: 0, z: -4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -8592,7 +8594,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2948077588558627064} - m_LocalRotation: {x: 0.09074893, y: 0.054875016, z: 0.0062340484, w: 0.99434125} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.08869379, y: 0.006529307, z: 0.017465241} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -8741,7 +8743,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3819051166301235232} - m_LocalRotation: {x: -1.3877788e-17, y: -1.8388069e-16, z: -2.4980018e-16, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0247, y: -0.002, z: -0.002} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -8771,7 +8773,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3853348423374603073} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.030720409, y: -3.330669e-18, z: -8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -8932,7 +8934,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5217524976699785344} - m_LocalRotation: {x: 0.12148041, y: 0.15099984, z: -0.121272996, w: 0.9735165} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.024852559, y: -8.881784e-18, z: 1.0547119e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -8963,7 +8965,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5293639834385457307} - m_LocalRotation: {x: -2.7755576e-17, y: 1.3877788e-16, z: 6.938894e-18, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0212, y: -0.001, z: 0.0002} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -8993,7 +8995,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5511043442511185868} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.026573397, y: -4.440892e-18, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -9024,7 +9026,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5648496282278219326} - m_LocalRotation: {x: 2.0816682e-17, y: -1.3877788e-17, z: -1.7347235e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0241, y: -0.0001, z: -0.0004} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -9116,7 +9118,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6234059281174316135} - m_LocalRotation: {x: 5.2041704e-18, y: 1.3877788e-17, z: -1.7997756e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.0216, y: 0, z: -0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -9146,7 +9148,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6364881218153096044} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.04292699, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -9177,7 +9179,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6608728809624901189} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.020311384, y: 6.661338e-18, z: -8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -9208,7 +9210,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6872185589815441608} - m_LocalRotation: {x: 0.37538692, y: -0.42458406, z: 0.007778856, w: 0.8238644} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.020069301, y: 0.011554099, z: -0.0104965195} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -9239,7 +9241,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6958215921647423927} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.09599624, y: 0.0073164543, z: -0.02355068} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -9434,7 +9436,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7486987400800185168} - m_LocalRotation: {x: 0.09096075, y: -0.006700263, z: 0.00061201194, w: 0.9958318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -0.024303643, y: 3.0531133e-18, z: 4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: diff --git a/Samples/Prefabs/Avatars/ProxyHand.R.prefab b/Samples/Prefabs/Avatars/ProxyHand.R.prefab index ff1e830..38a6521 100644 --- a/Samples/Prefabs/Avatars/ProxyHand.R.prefab +++ b/Samples/Prefabs/Avatars/ProxyHand.R.prefab @@ -53,7 +53,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 713450706328646017} - m_LocalRotation: {x: 2.0816682e-17, y: -1.3877788e-17, z: -1.7347235e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.023, y: -0.0015, z: 0.0005} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -115,7 +115,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1217904644286109778} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.03379309, y: 1.3322676e-17, z: -1.6653344e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -238,7 +238,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055276680664104} - m_LocalRotation: {x: 0.03068309, y: 0.018855589, z: -0.043281443, w: 0.9984136} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.09599624, y: -0.0073164543, z: 0.02355068} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -382,7 +382,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055276788196071} - m_LocalRotation: {x: 4.1633363e-17, y: -5.551115e-17, z: 3.469447e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0239, y: -0.0011, z: 0.0002} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -414,7 +414,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055276806437372} - m_LocalRotation: {x: -0.08270373, y: 0.0769617, z: 0.08406223, w: 0.99003565} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.03251291, y: -4.440892e-18, z: 3.2196467e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -764,7 +764,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277000165968} - m_LocalRotation: {x: -2.7755576e-17, y: 1.3877788e-16, z: 6.938894e-18, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.011908775, y: -1.6653345e-18, z: -4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -841,7 +841,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277249139846} - m_LocalRotation: {x: -0.011228235, y: 0.0043788743, z: 0.0019782674, w: 0.99992543} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.04292699, y: -4.440892e-18, z: 4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -972,7 +972,7 @@ GameObject: m_Component: - component: {fileID: 1256055277344352665} - component: {fileID: 1256055277344352664} - m_Layer: 14 + m_Layer: 0 m_Name: URP_original m_TagString: Untagged m_Icon: {fileID: 0} @@ -1222,7 +1222,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277547827247} - m_LocalRotation: {x: 0.09111303, y: -0.004071365, z: -0.028129224, w: 0.9954349} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.04565054, y: -0.0000009982332, z: 0.0000021940255} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -1366,7 +1366,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277620822808} - m_LocalRotation: {x: -1.3877788e-17, y: -1.8388069e-16, z: -2.4980018e-16, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0222, y: 0, z: -0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -1396,7 +1396,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277628248145} - m_LocalRotation: {x: 5.2041704e-18, y: 1.3877788e-17, z: -1.7997756e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0219, y: -0.0011, z: 0.0002} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -1428,7 +1428,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277676294850} - m_LocalRotation: {x: -0.053159367, y: 0.12310341, z: -0.049813494, w: 0.9897163} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.08869379, y: -0.006529307, z: -0.017465241} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -1572,7 +1572,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277731529568} - m_LocalRotation: {x: 2.0816682e-17, y: -1.3877788e-17, z: -1.7347235e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.023, y: -0.0015, z: 0.0005} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -1605,7 +1605,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277785049662} - m_LocalRotation: {x: -0.0034774565, y: -0.029179456, z: 0.025028542, w: 0.99925476} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.026573397, y: 4.440892e-18, z: -4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -1769,7 +1769,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277794744794} - m_LocalRotation: {x: -0.009066327, y: 0.05146559, z: -0.051835753, w: 0.99728745} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.095646605, y: -0.0025431544, z: 0.0017259055} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -1915,7 +1915,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277820369400} - m_LocalRotation: {x: -0.033632524, y: 0.0027898385, z: -0.005676023, w: 0.99941427} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0389961, y: -8.881784e-18, z: 8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -2107,7 +2107,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277855129482} - m_LocalRotation: {x: 0.0006447509, y: -0.049170654, z: 0.024018826, w: 0.99850136} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.020311384, y: -6.661338e-18, z: 1.7763568e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -2271,7 +2271,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277859543457} - m_LocalRotation: {x: 0.26023024, y: -0.02433092, z: -0.12567802, w: 0.95702314} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.024852559, y: 4.440892e-18, z: -1.1657341e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -2418,7 +2418,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277918303843} - m_LocalRotation: {x: -0.015550042, y: 0.027118659, z: 0.059835352, w: 0.99771863} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.024301702, y: 0.000005243357, z: 0.000004363086} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -2673,7 +2673,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055277988001936} - m_LocalRotation: {x: -0.037616648, y: 0.042937703, z: 0.013286048, w: 0.99828094} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.030720409, y: 1.110223e-18, z: -3.7747583e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -2939,7 +2939,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055278196175117} - m_LocalRotation: {x: 0.37538692, y: -0.42458406, z: 0.007778856, w: 0.8238644} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.020069301, y: -0.011554099, z: 0.0104965195} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -3086,7 +3086,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055278281987367} - m_LocalRotation: {x: -0.03484871, y: 0.0057274257, z: 0.12959035, w: 0.99093854} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.027547145, y: 0.00001392042, z: 0.000009294309} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -3296,7 +3296,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055278489298228} - m_LocalRotation: {x: 0.083505884, y: -0.06501573, z: 0.058274075, w: 0.9926751} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.03379309, y: 1.3322676e-17, z: -1.6653344e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -3503,7 +3503,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055278521518607} - m_LocalRotation: {x: -0.20703599, y: 0.14034285, z: -0.0183118, w: 0.96804166} + m_LocalRotation: {x: -0.20425358, y: 0.13468078, z: -0.01960206, w: 0.9694109} m_LocalPosition: {x: 0.034073558, y: -0.009419835, z: -0.022998573} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -3628,7 +3628,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1256055278582897384} - m_LocalRotation: {x: -0.02585241, y: 0.0071160593, z: -0.0032929424, w: 0.99963504} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0379273, y: 3.330669e-18, z: 1.3322676e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -3817,7 +3817,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312587314541699838} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.04565054, y: -0.0000009982332, z: 0.0000021940255} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -3878,7 +3878,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1531740541064592391} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.03251291, y: -4.440892e-18, z: 3.2196467e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -3909,7 +3909,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2124318469600857802} - m_LocalRotation: {x: 5.2041704e-18, y: 1.3877788e-17, z: -1.7997756e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0219, y: -0.0011, z: 0.0002} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -3926,7 +3926,7 @@ GameObject: m_Component: - component: {fileID: 795951544029507832} - component: {fileID: 8297437796190965467} - m_Layer: 14 + m_Layer: 0 m_Name: Standard_original m_TagString: Untagged m_Icon: {fileID: 0} @@ -4013,7 +4013,7 @@ SkinnedMeshRenderer: m_RootBone: {fileID: 2592882742033964101} m_AABB: m_Center: {x: 0.08462605, y: -0.018837288, z: 0.013709333} - m_Extent: {x: 0.10698363, y: 0.05242701, z: 0.07775} + m_Extent: {x: 0.10698363, y: 0.05242701, z: 0.1015887} m_DirtyAABB: 0 --- !u!1 &2851293980349891134 GameObject: @@ -4156,7 +4156,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3339166554280715822} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.027547145, y: 0.00001392042, z: 0.000009294309} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4187,7 +4187,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3434648878982073211} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.020311384, y: -6.661338e-18, z: 1.7763568e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4218,7 +4218,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3499016563487136044} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.030720409, y: 1.110223e-18, z: -3.7747583e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4283,7 +4283,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3613398429956994050} - m_LocalRotation: {x: -0.0027413208, y: 0.01564647, z: -0.00020369195, w: 0.9998739} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0389961, y: -8.881784e-18, z: 8.881784e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4314,7 +4314,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3796118455624251344} - m_LocalRotation: {x: -1.3877788e-17, y: -1.8388069e-16, z: -2.4980018e-16, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0222, y: 0, z: -0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -4377,7 +4377,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3965045517049978011} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.024301702, y: 0.000005243357, z: 0.000004363086} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4395,7 +4395,7 @@ GameObject: m_Component: - component: {fileID: 5329064596443255771} - component: {fileID: 8756336797022706981} - m_Layer: 14 + m_Layer: 0 m_Name: Standard_original m_TagString: Untagged m_Icon: {fileID: 0} @@ -4482,7 +4482,7 @@ SkinnedMeshRenderer: m_RootBone: {fileID: 1256055276984282842} m_AABB: m_Center: {x: 0.08462605, y: -0.018837288, z: 0.013709333} - m_Extent: {x: 0.10698363, y: 0.05242701, z: 0.07775} + m_Extent: {x: 0.10698363, y: 0.05242701, z: 0.1015887} m_DirtyAABB: 0 --- !u!1 &4538356309158396151 GameObject: @@ -4507,7 +4507,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4538356309158396151} - m_LocalRotation: {x: -0.0027450447, y: -0.0056994897, z: -0.00014513185, w: 0.99998003} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.04292699, y: -4.440892e-18, z: 4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4538,7 +4538,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4817431697782608165} - m_LocalRotation: {x: -2.7755576e-17, y: 1.3877788e-16, z: 6.938894e-18, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.011908775, y: -1.6653345e-18, z: -4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -4741,7 +4741,7 @@ GameObject: m_Component: - component: {fileID: 4115731597072391172} - component: {fileID: 2127350383795179743} - m_Layer: 14 + m_Layer: 0 m_Name: URP_original m_TagString: Untagged m_Icon: {fileID: 0} @@ -4853,7 +4853,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6420297548447361206} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.024852559, y: 4.440892e-18, z: -1.1657341e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -4915,7 +4915,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6699093876680688569} - m_LocalRotation: {x: -0.0027378353, y: 0.031139761, z: -0.0002461501, w: 0.9995113} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.09570441, y: -0.0042553633, z: 0.0017418526} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -5040,7 +5040,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7084261576330516601} - m_LocalRotation: {x: -0.20703599, y: 0.14034285, z: -0.0183118, w: 0.96804166} + m_LocalRotation: {x: -0.20425358, y: 0.13468078, z: -0.01960206, w: 0.9694109} m_LocalPosition: {x: 0.034073558, y: -0.009419835, z: -0.022998573} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -5071,7 +5071,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8401534232438603819} - m_LocalRotation: {x: -0.0027435115, y: 0.003977435, z: -0.0001716884, w: 0.9999883} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0379273, y: 3.330669e-18, z: 1.3322676e-17} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -5764,6 +5764,8 @@ MonoBehaviour: palmExterior: {fileID: 8763704829703152711} palmInterior: {fileID: 8763704830572816819} ray: {fileID: 8763704829254879611} + extraScale: 1 + totalScale: 0 skinnedMR: {fileID: 1256055277344352664} fistLerp: 0 isFist: 0 @@ -5776,7 +5778,6 @@ MonoBehaviour: isIntentionallyGrasping: 0 allTransforms: [] bones: [] - scale: 1 palmTrigger: {fileID: 8763704830465549203} handTrigger: {fileID: 8763704828733221876} palmCollisionNotifier: {fileID: 3570026865603570588} @@ -7209,6 +7210,8 @@ MonoBehaviour: palmExterior: {fileID: 8763704830117103499} palmInterior: {fileID: 8763704829695863165} ray: {fileID: 8763704829321822453} + extraScale: 1 + totalScale: 0 skinnedMR: {fileID: 2127350383795179743} fistLerp: 0 isFist: 0 @@ -7221,7 +7224,6 @@ MonoBehaviour: isIntentionallyGrasping: 0 allTransforms: [] bones: [] - scale: 1 --- !u!1 &8763704829163969749 GameObject: m_ObjectHideFlags: 0 @@ -7461,7 +7463,7 @@ MonoBehaviour: jointRef: {fileID: 1256055277855129483} colliderRef: {fileID: 1256055277944740562} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: -10, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 8763704829606439643} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -8172,7 +8174,7 @@ MonoBehaviour: jointRef: {fileID: 1256055277859543459} colliderRef: {fileID: 1256055277161906470} isSpecial: 1 - targetEulerOffsetRot: {x: -13, y: 48, z: 28} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 8763704828748782896} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -9738,7 +9740,7 @@ MonoBehaviour: jointRef: {fileID: 1256055278196175119} colliderRef: {fileID: 8561519952816144270} isSpecial: 1 - targetEulerOffsetRot: {x: -16, y: -44, z: -44} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 8763704829617554557} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -10183,7 +10185,7 @@ MonoBehaviour: jointRef: {fileID: 1256055277547827233} colliderRef: {fileID: 1256055278521183592} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: 5, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 8763704828646078870} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -10359,7 +10361,7 @@ MonoBehaviour: jointRef: {fileID: 1256055277785049663} colliderRef: {fileID: 1256055276573909163} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: -3, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 8763704828489585985} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -10471,7 +10473,7 @@ MonoBehaviour: jointRef: {fileID: 1256055277820369402} colliderRef: {fileID: 1256055277529937134} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: -20, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 8763704829085428999} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -10695,7 +10697,7 @@ MonoBehaviour: jointRef: {fileID: 1256055277676294852} colliderRef: {fileID: 1256055278036722910} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: 14.4, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 8763704830099793356} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -10962,7 +10964,7 @@ MonoBehaviour: jointRef: {fileID: 1256055277988001938} colliderRef: {fileID: 1256055278098755541} isSpecial: 0 - targetEulerOffsetRot: {x: 0, y: 7, z: 0} + targetEulerOffsetRot: {x: 0, y: 0, z: 0} masterBone: {fileID: 8763704829411297279} initialConnectedBodyLocalRotation: {x: 0, y: 0, z: 0, w: 0} minLocalRot: {x: 0, y: 0, z: 0, w: 1} @@ -11268,7 +11270,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8788240888553021871} - m_LocalRotation: {x: 0.37538692, y: -0.42458406, z: 0.007778856, w: 0.8238644} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.020069301, y: -0.011554099, z: 0.0104965195} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -11299,7 +11301,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8792846205564102512} - m_LocalRotation: {x: -0.002722069, y: 0.08116531, z: -0.00038297698, w: 0.9966969} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.08869379, y: -0.006529307, z: -0.017465241} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -11330,7 +11332,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8851539456604810485} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.026573397, y: 4.440892e-18, z: -4.440892e-18} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -11440,7 +11442,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8955565101469748074} - m_LocalRotation: {x: -0.0027477012, y: -0.029256135, z: -0.00008042185, w: 0.99956816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.09599624, y: -0.0073164543, z: 0.02355068} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -11471,7 +11473,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9044958144510018165} - m_LocalRotation: {x: 4.1633363e-17, y: -5.551115e-17, z: 3.469447e-17, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.0239, y: -0.0011, z: 0.0002} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -11629,6 +11631,11 @@ PrefabInstance: propertyPath: slave value: objectReference: {fileID: 8763704828659569147} + - target: {fileID: 185603990160810433, guid: 263fd4eead1ce6040b72be5380979075, + type: 3} + propertyPath: side + value: 2 + objectReference: {fileID: 0} - target: {fileID: 185603990160810435, guid: 263fd4eead1ce6040b72be5380979075, type: 3} propertyPath: m_Name diff --git a/Samples/Prefabs/Avatars/SpAvatar.prefab b/Samples/Prefabs/Avatars/SpAvatar.prefab index 9db09c4..044deae 100644 --- a/Samples/Prefabs/Avatars/SpAvatar.prefab +++ b/Samples/Prefabs/Avatars/SpAvatar.prefab @@ -456,6 +456,8 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 899360902782494971} + - {fileID: 8722410234645103393} + - {fileID: 883134748852037106} m_Father: {fileID: 5323320682787769927} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1217,6 +1219,296 @@ PrefabInstance: propertyPath: shoulderTip value: objectReference: {fileID: 8514069894147892192} + - target: {fileID: 1256055276680664106, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.09599624 + objectReference: {fileID: 0} + - target: {fileID: 1256055276680664106, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.02355069 + objectReference: {fileID: 0} + - target: {fileID: 1256055276806437374, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.03251291 + objectReference: {fileID: 0} + - target: {fileID: 1256055276806437374, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.000000023283064 + objectReference: {fileID: 0} + - target: {fileID: 1256055276806437374, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 1256055277249139864, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.042926982 + objectReference: {fileID: 0} + - target: {fileID: 1256055277249139864, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.0000000030267984 + objectReference: {fileID: 0} + - target: {fileID: 1256055277249139864, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.0000000066356733 + objectReference: {fileID: 0} + - target: {fileID: 1256055277547827233, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.07803352 + objectReference: {fileID: 0} + - target: {fileID: 1256055277547827233, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.013666451 + objectReference: {fileID: 0} + - target: {fileID: 1256055277547827233, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.034551054 + objectReference: {fileID: 0} + - target: {fileID: 1256055277676294852, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.08869379 + objectReference: {fileID: 0} + - target: {fileID: 1256055277676294852, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.006529331 + objectReference: {fileID: 0} + - target: {fileID: 1256055277676294852, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.017465234 + objectReference: {fileID: 0} + - target: {fileID: 1256055277785049663, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.026573397 + objectReference: {fileID: 0} + - target: {fileID: 1256055277785049663, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.000000024214387 + objectReference: {fileID: 0} + - target: {fileID: 1256055277785049663, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 1256055277794744796, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.095646605 + objectReference: {fileID: 0} + - target: {fileID: 1256055277794744796, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.0025431514 + objectReference: {fileID: 0} + - target: {fileID: 1256055277794744796, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.0017259121 + objectReference: {fileID: 0} + - target: {fileID: 1256055277820369402, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.038996108 + objectReference: {fileID: 0} + - target: {fileID: 1256055277820369402, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.000000024214387 + objectReference: {fileID: 0} + - target: {fileID: 1256055277820369402, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 1256055277855129483, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000018481842 + objectReference: {fileID: 0} + - target: {fileID: 1256055277855129483, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.000000025781901 + objectReference: {fileID: 0} + - target: {fileID: 1256055277859543459, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.024852559 + objectReference: {fileID: 0} + - target: {fileID: 1256055277859543459, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.000000023283064 + objectReference: {fileID: 0} + - target: {fileID: 1256055277859543459, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 1256055277918303844, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.0243017 + objectReference: {fileID: 0} + - target: {fileID: 1256055277918303844, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.0000052293763 + objectReference: {fileID: 0} + - target: {fileID: 1256055277918303844, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.0000043604523 + objectReference: {fileID: 0} + - target: {fileID: 1256055277988001938, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.030720413 + objectReference: {fileID: 0} + - target: {fileID: 1256055277988001938, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000011031261 + objectReference: {fileID: 0} + - target: {fileID: 1256055277988001938, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.0000000019249455 + objectReference: {fileID: 0} + - target: {fileID: 1256055278196175119, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.020069301 + objectReference: {fileID: 0} + - target: {fileID: 1256055278196175119, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.011554122 + objectReference: {fileID: 0} + - target: {fileID: 1256055278196175119, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.010496527 + objectReference: {fileID: 0} + - target: {fileID: 1256055278281987384, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.027547143 + objectReference: {fileID: 0} + - target: {fileID: 1256055278281987384, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000013890909 + objectReference: {fileID: 0} + - target: {fileID: 1256055278281987384, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.00000930496 + objectReference: {fileID: 0} + - target: {fileID: 1256055278489298229, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: 0.03379309 + objectReference: {fileID: 0} + - target: {fileID: 1256055278489298229, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.000000023283064 + objectReference: {fileID: 0} + - target: {fileID: 1256055278489298229, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 1256055278582897386, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.000000015832484 + objectReference: {fileID: 0} + - target: {fileID: 1256055278582897386, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.000000009313226 + objectReference: {fileID: 0} + - target: {fileID: 7805974295780666110, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: inputDataProvider + value: + objectReference: {fileID: 4288552237526515129} + - target: {fileID: 8763704828650623969, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.086715505 + objectReference: {fileID: 0} + - target: {fileID: 8763704828650623969, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.009435296 + objectReference: {fileID: 0} + - target: {fileID: 8763704828650623969, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.017023593 + objectReference: {fileID: 0} + - target: {fileID: 8763704829289259383, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.15677655 + objectReference: {fileID: 0} + - target: {fileID: 8763704829289259383, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.009982705 + objectReference: {fileID: 0} + - target: {fileID: 8763704829289259383, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.017125785 + objectReference: {fileID: 0} + - target: {fileID: 8763704829524244431, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.16304761 + objectReference: {fileID: 0} + - target: {fileID: 8763704829524244431, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.010381892 + objectReference: {fileID: 0} + - target: {fileID: 8763704829524244431, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.017810792 + objectReference: {fileID: 0} + - target: {fileID: 8763704829540128554, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.x + value: 0.09018412 + objectReference: {fileID: 0} + - target: {fileID: 8763704829540128554, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.y + value: -0.009812668 + objectReference: {fileID: 0} + - target: {fileID: 8763704829540128554, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.017704546 + objectReference: {fileID: 0} - target: {fileID: 8763704830130221906, guid: 2aa94d379ed21ca49baabc93ca22064e, type: 3} propertyPath: m_LocalPosition.x @@ -1279,18 +1571,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2aa94d379ed21ca49baabc93ca22064e, type: 3} ---- !u!114 &218427590295452712 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 918418582821982979, guid: 2aa94d379ed21ca49baabc93ca22064e, - type: 3} - m_PrefabInstance: {fileID: 1132341300025929515} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b9dee48002a06bc44a1c6f370d398926, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!4 &8514069895410211961 stripped Transform: m_CorrespondingSourceObject: {fileID: 8763704830130221906, guid: 2aa94d379ed21ca49baabc93ca22064e, @@ -1303,6 +1583,18 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1132341300025929515} m_PrefabAsset: {fileID: 0} +--- !u!114 &218427590295452712 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 918418582821982979, guid: 2aa94d379ed21ca49baabc93ca22064e, + type: 3} + m_PrefabInstance: {fileID: 1132341300025929515} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b9dee48002a06bc44a1c6f370d398926, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &4333594333574200383 PrefabInstance: m_ObjectHideFlags: 0 @@ -1433,6 +1725,180 @@ Transform: type: 3} m_PrefabInstance: {fileID: 4333594333574200383} m_PrefabAsset: {fileID: 0} +--- !u!1001 &8637551714839611531 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7073376924662647947} + m_Modifications: + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5728394509092338231, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + propertyPath: m_Name + value: UnityXRControllerTracker.R + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3e419b99dbf840c47b03392a6a878017, type: 3} +--- !u!114 &4288552237526515129 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5502624742457062706, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + m_PrefabInstance: {fileID: 8637551714839611531} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 28951864902866a409e9ac3ac2e73fe6, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &8722410234645103393 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1068063810550762410, guid: 3e419b99dbf840c47b03392a6a878017, + type: 3} + m_PrefabInstance: {fileID: 8637551714839611531} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &8727920189338416793 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7073376924662647947} + m_Modifications: + - target: {fileID: 6354844845377706568, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_Name + value: UnityXRControllerTracker.L + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e4a0447dfd556464c84807eec4ad48a5, type: 3} +--- !u!4 &883134748852037106 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8457279937678201707, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + m_PrefabInstance: {fileID: 8727920189338416793} + m_PrefabAsset: {fileID: 0} +--- !u!114 &6171590469343110946 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3222934654924886459, guid: e4a0447dfd556464c84807eec4ad48a5, + type: 3} + m_PrefabInstance: {fileID: 8727920189338416793} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 28951864902866a409e9ac3ac2e73fe6, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &8792445000901895025 PrefabInstance: m_ObjectHideFlags: 0 @@ -1445,6 +1911,51 @@ PrefabInstance: propertyPath: shoulderTip value: objectReference: {fileID: 8514069894838607620} + - target: {fileID: 877365547154258275, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.086715505 + objectReference: {fileID: 0} + - target: {fileID: 877365547154258275, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.009435296 + objectReference: {fileID: 0} + - target: {fileID: 877365547154258275, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.z + value: -0.017023593 + objectReference: {fileID: 0} + - target: {fileID: 877365547811587525, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.09018412 + objectReference: {fileID: 0} + - target: {fileID: 877365547811587525, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.009812638 + objectReference: {fileID: 0} + - target: {fileID: 877365547811587525, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.z + value: -0.017704546 + objectReference: {fileID: 0} + - target: {fileID: 877365548264701527, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.15802753 + objectReference: {fileID: 0} + - target: {fileID: 877365548264701527, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.0077352524 + objectReference: {fileID: 0} + - target: {fileID: 877365548264701527, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.z + value: -0.017023593 + objectReference: {fileID: 0} - target: {fileID: 877365548329057654, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, type: 3} propertyPath: m_LocalPosition.x @@ -1505,6 +2016,226 @@ PrefabInstance: propertyPath: m_Name value: ProxyHand.L objectReference: {fileID: 0} + - target: {fileID: 877365549002128899, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.16419262 + objectReference: {fileID: 0} + - target: {fileID: 877365549002128899, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.008772656 + objectReference: {fileID: 0} + - target: {fileID: 877365549002128899, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_LocalPosition.z + value: -0.018744558 + objectReference: {fileID: 0} + - target: {fileID: 2041276090581243397, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.026573397 + objectReference: {fileID: 0} + - target: {fileID: 2041276090581243397, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000024214387 + objectReference: {fileID: 0} + - target: {fileID: 2041276090581243397, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 2041276090738844760, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.02355069 + objectReference: {fileID: 0} + - target: {fileID: 2041276090812553412, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.024852559 + objectReference: {fileID: 0} + - target: {fileID: 2041276090812553412, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000023283064 + objectReference: {fileID: 0} + - target: {fileID: 2041276090812553412, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 2041276090855341978, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.037927292 + objectReference: {fileID: 0} + - target: {fileID: 2041276090855341978, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000015832484 + objectReference: {fileID: 0} + - target: {fileID: 2041276090855341978, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.000000009313226 + objectReference: {fileID: 0} + - target: {fileID: 2041276090872150516, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.03379309 + objectReference: {fileID: 0} + - target: {fileID: 2041276090872150516, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000023283064 + objectReference: {fileID: 0} + - target: {fileID: 2041276090872150516, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 2041276091148018611, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.027549587 + objectReference: {fileID: 0} + - target: {fileID: 2041276091148018611, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000056345016 + objectReference: {fileID: 0} + - target: {fileID: 2041276091148018611, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.0000000066356733 + objectReference: {fileID: 0} + - target: {fileID: 2041276091289504380, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.02031139 + objectReference: {fileID: 0} + - target: {fileID: 2041276091289504380, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: -0.000000029657713 + objectReference: {fileID: 0} + - target: {fileID: 2041276091289504380, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 5.279617e-10 + objectReference: {fileID: 0} + - target: {fileID: 2041276091295717453, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.017465234 + objectReference: {fileID: 0} + - target: {fileID: 2041276091378984707, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.042926982 + objectReference: {fileID: 0} + - target: {fileID: 2041276091378984707, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000056345016 + objectReference: {fileID: 0} + - target: {fileID: 2041276091378984707, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.0000000066356733 + objectReference: {fileID: 0} + - target: {fileID: 2041276091656683540, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.038996108 + objectReference: {fileID: 0} + - target: {fileID: 2041276091656683540, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000024214387 + objectReference: {fileID: 0} + - target: {fileID: 2041276091656683540, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 2041276091835099281, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.07803352 + objectReference: {fileID: 0} + - target: {fileID: 2041276091835099281, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.013666391 + objectReference: {fileID: 0} + - target: {fileID: 2041276091835099281, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.034551054 + objectReference: {fileID: 0} + - target: {fileID: 2041276091930495474, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.03072042 + objectReference: {fileID: 0} + - target: {fileID: 2041276091930495474, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000042985448 + objectReference: {fileID: 0} + - target: {fileID: 2041276091930495474, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: 0.00000002520801 + objectReference: {fileID: 0} + - target: {fileID: 2041276091936811054, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.010496527 + objectReference: {fileID: 0} + - target: {fileID: 2041276092191099978, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.03251291 + objectReference: {fileID: 0} + - target: {fileID: 2041276092191099978, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000023283064 + objectReference: {fileID: 0} + - target: {fileID: 2041276092191099978, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.000000007450581 + objectReference: {fileID: 0} + - target: {fileID: 2041276092247163080, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.x + value: -0.024303637 + objectReference: {fileID: 0} + - target: {fileID: 2041276092247163080, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.y + value: 0.000000015832484 + objectReference: {fileID: 0} + - target: {fileID: 2041276092247163080, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.000000009313226 + objectReference: {fileID: 0} + - target: {fileID: 2041276092519708550, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: m_ConnectedAnchor.z + value: -0.0017259121 + objectReference: {fileID: 0} + - target: {fileID: 5558870838450521915, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, + type: 3} + propertyPath: inputDataProvider + value: + objectReference: {fileID: 6171590469343110946} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: cb17a9cfd3b110f41b29d5a9e17c05e5, type: 3} --- !u!4 &8514069894117662215 stripped diff --git a/Samples/Prefabs/Input.meta b/Samples/Prefabs/Input.meta new file mode 100644 index 0000000..127edcc --- /dev/null +++ b/Samples/Prefabs/Input.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2516a56a55d71f546bb31d09edd1cc35 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Prefabs/Input/UnityXRControllerTracker.L.prefab b/Samples/Prefabs/Input/UnityXRControllerTracker.L.prefab new file mode 100644 index 0000000..ab74fec --- /dev/null +++ b/Samples/Prefabs/Input/UnityXRControllerTracker.L.prefab @@ -0,0 +1,151 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3322253275892109027 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7378428537580626199} + m_Layer: 0 + m_Name: OculusTouchOffset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7378428537580626199 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3322253275892109027} + m_LocalRotation: {x: 0.56841266, y: 0.48674017, z: -0.42060328, w: 0.5129172} + m_LocalPosition: {x: -0.05, y: -0.018, z: -0.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8457279937678201707} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 97, y: -10, z: -90} +--- !u!1 &6354844845377706568 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8457279937678201707} + - component: {fileID: 3222934654924886459} + m_Layer: 0 + m_Name: UnityXRControllerTracker.L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8457279937678201707 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6354844845377706568} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7378428537580626199} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3222934654924886459 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6354844845377706568} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 28951864902866a409e9ac3ac2e73fe6, type: 3} + m_Name: + m_EditorClassIdentifier: + bones: [] + wrist: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + forearm: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + thumb: + name: Thumb + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + index: + name: Index + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + middle: + name: Middle + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + ring: + name: Ring + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + pinky: + name: Pinky + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + confidence: 0 + scale: 1 + log: + side: 1 + openHand: {fileID: 11400000, guid: d9708eac901ada04785e12638cfbcb52, type: 2} + pinch: {fileID: 11400000, guid: f1b2cd111c5565f468bef6dfb85fe9ae, type: 2} + fist: {fileID: 11400000, guid: 977e1e38edc9bf5438d991c98090a874, type: 2} + useButtonTouch: 1 + minLerpToTouch: 0.05 + minLerpToPress: 0.75 + compatibleDevices: + - deviceName: Oculus Touch Controller + deviceManufacturer: Oculus + wristOffset: {fileID: 7378428537580626199} + onDeviceUsed: + m_PersistentCalls: + m_Calls: [] diff --git a/Samples/Prefabs/Input/UnityXRControllerTracker.L.prefab.meta b/Samples/Prefabs/Input/UnityXRControllerTracker.L.prefab.meta new file mode 100644 index 0000000..5c84e84 --- /dev/null +++ b/Samples/Prefabs/Input/UnityXRControllerTracker.L.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e4a0447dfd556464c84807eec4ad48a5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Prefabs/Input/UnityXRControllerTracker.R.prefab b/Samples/Prefabs/Input/UnityXRControllerTracker.R.prefab new file mode 100644 index 0000000..cb735b9 --- /dev/null +++ b/Samples/Prefabs/Input/UnityXRControllerTracker.R.prefab @@ -0,0 +1,151 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &618893763536126842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8592292488377932686} + m_Layer: 0 + m_Name: OculusTouchOffset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8592292488377932686 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 618893763536126842} + m_LocalRotation: {x: -0.5129172, y: -0.42060316, z: -0.48674014, w: 0.5684127} + m_LocalPosition: {x: 0.05, y: -0.018, z: -0.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1068063810550762410} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: -97, y: -170, z: 90} +--- !u!1 &5728394509092338231 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1068063810550762410} + - component: {fileID: 5502624742457062706} + m_Layer: 0 + m_Name: UnityXRControllerTracker.R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1068063810550762410 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5728394509092338231} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8592292488377932686} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5502624742457062706 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5728394509092338231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 28951864902866a409e9ac3ac2e73fe6, type: 3} + m_Name: + m_EditorClassIdentifier: + bones: [] + wrist: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + forearm: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + thumb: + name: Thumb + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + index: + name: Index + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + middle: + name: Middle + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + ring: + name: Ring + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + pinky: + name: Pinky + bones: [] + tip: + name: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 0} + space: 0 + localScale: {x: 0, y: 0, z: 0} + confidence: 0 + scale: 1 + log: + side: 2 + openHand: {fileID: 11400000, guid: 15d7a8ff6098ce54780aa84bbb591f23, type: 2} + pinch: {fileID: 11400000, guid: 327fc1da4d4fc25409800ff0d32bc138, type: 2} + fist: {fileID: 11400000, guid: 05a57b06e8cd72a4b8bcae667b11a8f4, type: 2} + useButtonTouch: 1 + minLerpToTouch: 0.05 + minLerpToPress: 0.75 + compatibleDevices: + - deviceName: Oculus Touch Controller + deviceManufacturer: Oculus + wristOffset: {fileID: 8592292488377932686} + onDeviceUsed: + m_PersistentCalls: + m_Calls: [] diff --git a/Samples/Prefabs/Input/UnityXRControllerTracker.R.prefab.meta b/Samples/Prefabs/Input/UnityXRControllerTracker.R.prefab.meta new file mode 100644 index 0000000..cd8e120 --- /dev/null +++ b/Samples/Prefabs/Input/UnityXRControllerTracker.R.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3e419b99dbf840c47b03392a6a878017 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: