diff options
Diffstat (limited to 'Assets/Samples/XR Hands/1.6.0/HandVisualizer')
49 files changed, 5172 insertions, 0 deletions
diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/.sample.json b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/.sample.json new file mode 100644 index 0000000..a128f18 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/.sample.json @@ -0,0 +1,4 @@ +{ + "displayName": "HandVisualizer", + "description": "Basic sample showing how visualize hands." +} diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/HandVisualizer.unity b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/HandVisualizer.unity new file mode 100644 index 0000000..a7cee77 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/HandVisualizer.unity @@ -0,0 +1,833 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} + m_LightingSettings: {fileID: 2722834} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!850595691 &2722834 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + serializedVersion: 4 + m_GIWorkflowMode: 1 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_LightmapCompression: 2 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentMIS: 1 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 +--- !u!1 &215855080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 215855081} + - component: {fileID: 215855084} + - component: {fileID: 215855083} + - component: {fileID: 215855082} + - component: {fileID: 215855085} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &215855081 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215855080} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 944581975} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &215855082 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215855080} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a2a9c34df4095f47b9ca8f975175f5b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Device: 0 + m_PoseSource: 2 + m_PoseProviderComponent: {fileID: 0} + m_TrackingType: 0 + m_UpdateType: 0 + m_UseRelativeTransform: 0 +--- !u!81 &215855083 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215855080} + m_Enabled: 1 +--- !u!20 &215855084 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215855080} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!114 &215855085 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 215855080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_IgnoreTrackingState: 0 + m_PositionInput: + m_UseReference: 0 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: Vector3 + m_Id: e8ff7b7a-9f10-4ee3-8333-563442d7ba93 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: 32444af1-0203-4f80-82eb-ce8caabdcfc3 + m_Path: <XRHMD>/centerEyePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + - m_Name: + m_Id: 05aa6447-a626-43f2-aaaa-0a7026bc02e0 + m_Path: <HandheldARInputDevice>/devicePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 0} + m_RotationInput: + m_UseReference: 0 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: 193e5ce3-4bd7-4b7f-b8d1-4e82524e705c + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: 000caf52-48a9-43c2-9211-0615cc4e6b2d + m_Path: <XRHMD>/centerEyeRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + - m_Name: + m_Id: 43882e43-112e-47fc-bb4d-c0695fd7ed12 + m_Path: <HandheldARInputDevice>/deviceRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 0} + m_TrackingStateInput: + m_UseReference: 0 + m_Action: + m_Name: Tracking State Input + m_Type: 0 + m_ExpectedControlType: + m_Id: 5a2bcbea-fd36-402d-bf3e-e299ba6113ac + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 +--- !u!1 &447680416 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 447680417} + - component: {fileID: 447680420} + - component: {fileID: 447680419} + - component: {fileID: 447680418} + m_Layer: 0 + m_Name: LeftRuntimeMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &447680417 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 447680416} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &447680418 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 447680416} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2, y: 2, z: 2} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &447680419 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 447680416} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &447680420 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 447680416} + m_Mesh: {fileID: 0} +--- !u!1 &713583834 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 713583835} + - component: {fileID: 713583838} + - component: {fileID: 713583837} + - component: {fileID: 713583836} + m_Layer: 0 + m_Name: RightRuntimeMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &713583835 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 713583834} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &713583836 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 713583834} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 2, y: 2, z: 2} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &713583837 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 713583834} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &713583838 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 713583834} + m_Mesh: {fileID: 0} +--- !u!1 &935940900 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 935940901} + - component: {fileID: 935940902} + - component: {fileID: 935940903} + m_Layer: 0 + m_Name: Hand Visualizer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &935940901 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 935940900} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 944581975} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &935940902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 935940900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2e9813c68d7d6f44282ace8bd2d1fd46, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UseOptimizedControls: 0 + m_MetaQuestLeftHandMesh: {fileID: 919132149155446097, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_MetaQuestRightHandMesh: {fileID: 919132149155446097, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_AndroidXRLeftHandMesh: {fileID: 919132149155446097, guid: 7eff605df5fc69141bad762b74fb9228, type: 3} + m_AndroidXRRightHandMesh: {fileID: 919132149155446097, guid: 49090752ee8bba242ad64a291905ee10, type: 3} + m_HandMeshMaterial: {fileID: 2100000, guid: 613690cd962241049a0ec289a6ff835e, type: 2} + m_DrawMeshes: 1 + m_DebugDrawPrefab: {fileID: 6507399986997092475, guid: 254b742d65a15d14b9df756ae77de868, type: 3} + m_DebugDrawJoints: 1 + m_VelocityPrefab: {fileID: 8538602047018081646, guid: 629fd7882ec6bfc499a5fcf20035282b, type: 3} + m_VelocityType: 2 +--- !u!114 &935940903 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 935940900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac5903b776721d74786a2e43f00b949a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProcessorExampleMode: 0 + m_LeftHandSmoothingFactor: 16 + m_RightHandSmoothingFactor: 16 +--- !u!1 &944581974 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 944581975} + m_Layer: 0 + m_Name: Camera Offset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &944581975 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 944581974} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 215855081} + - {fileID: 935940901} + m_Father: {fileID: 1085439597} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1085439595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1085439597} + - component: {fileID: 1085439596} + m_Layer: 0 + m_Name: XR Origin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1085439596 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1085439595} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Camera: {fileID: 215855084} + m_OriginBaseGameObject: {fileID: 1085439595} + m_CameraFloorOffsetObject: {fileID: 944581974} + m_RequestedTrackingOriginMode: 0 + m_CameraYOffset: 1.1176 +--- !u!4 &1085439597 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1085439595} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 944581975} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1517268251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1517268253} + - component: {fileID: 1517268252} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1517268252 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1517268251} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1517268253 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1517268251} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/HandVisualizer.unity.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/HandVisualizer.unity.meta new file mode 100644 index 0000000..4662255 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/HandVisualizer.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ab7acf0d9677fbe4db51bc36647d4fcb +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials.meta new file mode 100644 index 0000000..557e3d1 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe662ea7d4bacf74ea2459d10b988a1b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Blue.mat b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Blue.mat new file mode 100644 index 0000000..17bbc75 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Blue.mat @@ -0,0 +1,159 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7628788528051855285 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Blue + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + - _AlphaClip: 0 + - _Blend: 0 + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _ColorMask: 15 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 0 + - _EmissionEnabled: 0 + - _EnableExternalAlpha: 0 + - _EnvironmentReflections: 1 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _LightingEnabled: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _Surface: 0 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0, g: 0, b: 1, a: 1} + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 0, g: 0, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Blue.mat.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Blue.mat.meta new file mode 100644 index 0000000..8b54781 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Blue.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7b26add94f09dc44fb811013f007a3aa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Green.mat b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Green.mat new file mode 100644 index 0000000..17b20ab --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Green.mat @@ -0,0 +1,159 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Green + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + - _AlphaClip: 0 + - _Blend: 0 + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _ColorMask: 15 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 0 + - _EmissionEnabled: 0 + - _EnableExternalAlpha: 0 + - _EnvironmentReflections: 1 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _LightingEnabled: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _Surface: 0 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0, g: 1, b: 0, a: 1} + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 0, g: 1, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &9064977523446290879 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Green.mat.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Green.mat.meta new file mode 100644 index 0000000..a1073c5 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Green.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 727f87098255ad04987a60f5f08390bc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/HandsDefaultMaterial.mat b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/HandsDefaultMaterial.mat new file mode 100644 index 0000000..704258c --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/HandsDefaultMaterial.mat @@ -0,0 +1,164 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-6565127186501960882 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: HandsDefaultMaterial + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: + - _ALPHABLEND_ON + - _EMISSION + m_InvalidKeywords: + - _SURFACE_TYPE_TRANSPARENT + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - DepthOnly + - SHADOWCASTER + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + - _AlphaClip: 0 + - _Blend: 0 + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _ColorMask: 15 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 10 + - _EmissionEnabled: 0 + - _EnableExternalAlpha: 0 + - _EnvironmentReflections: 1 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _LightingEnabled: 1 + - _Metallic: 0 + - _Mode: 2 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 5 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _Surface: 1 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _WorkflowMode: 1 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 0.66518503, g: 0.66518503, b: 0.66518503, a: 0.64705884} + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 0.66518503, g: 0.66518503, b: 0.66518503, a: 0.64705884} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/HandsDefaultMaterial.mat.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/HandsDefaultMaterial.mat.meta new file mode 100644 index 0000000..c5f8f6b --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/HandsDefaultMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 613690cd962241049a0ec289a6ff835e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/MaterialPipelineHandler.asset b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/MaterialPipelineHandler.asset new file mode 100644 index 0000000..024d5c4 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/MaterialPipelineHandler.asset @@ -0,0 +1,58 @@ +%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: 6772a216ed6f29c42abef904c7d6940d, type: 3} + m_Name: MaterialPipelineHandler + m_EditorClassIdentifier: + m_ShaderContainers: + - material: {fileID: 2100000, guid: 7b26add94f09dc44fb811013f007a3aa, type: 2} + useSRPShaderName: 1 + scriptableRenderPipelineShaderName: Universal Render Pipeline/Lit + scriptableRenderPipelineShader: {fileID: 0} + useBuiltinShaderName: 1 + builtInPipelineShaderName: Standard + builtInPipelineShader: {fileID: 0} + - material: {fileID: 2100000, guid: 727f87098255ad04987a60f5f08390bc, type: 2} + useSRPShaderName: 1 + scriptableRenderPipelineShaderName: Universal Render Pipeline/Lit + scriptableRenderPipelineShader: {fileID: 0} + useBuiltinShaderName: 1 + builtInPipelineShaderName: Standard + builtInPipelineShader: {fileID: 0} + - material: {fileID: 2100000, guid: 613690cd962241049a0ec289a6ff835e, type: 2} + useSRPShaderName: 1 + scriptableRenderPipelineShaderName: Universal Render Pipeline/Lit + scriptableRenderPipelineShader: {fileID: 0} + useBuiltinShaderName: 1 + builtInPipelineShaderName: Standard + builtInPipelineShader: {fileID: 0} + - material: {fileID: 2100000, guid: 55fa12dc7870f1e46b6a7f8617949a86, type: 2} + useSRPShaderName: 1 + scriptableRenderPipelineShaderName: Universal Render Pipeline/Lit + scriptableRenderPipelineShader: {fileID: 0} + useBuiltinShaderName: 1 + builtInPipelineShaderName: Standard + builtInPipelineShader: {fileID: 0} + - material: {fileID: 2100000, guid: d149182fa7aa1dc47bd32b2a6da80ec9, type: 2} + useSRPShaderName: 1 + scriptableRenderPipelineShaderName: Universal Render Pipeline/Lit + scriptableRenderPipelineShader: {fileID: 0} + useBuiltinShaderName: 1 + builtInPipelineShaderName: Standard + builtInPipelineShader: {fileID: 0} + - material: {fileID: 2100000, guid: c3474c208278e814cb8d1c29aa806e81, type: 2} + useSRPShaderName: 1 + scriptableRenderPipelineShaderName: Universal Render Pipeline/Lit + scriptableRenderPipelineShader: {fileID: 0} + useBuiltinShaderName: 1 + builtInPipelineShaderName: Standard + builtInPipelineShader: {fileID: 0} + m_AutoRefreshShaders: 1 diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/MaterialPipelineHandler.asset.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/MaterialPipelineHandler.asset.meta new file mode 100644 index 0000000..7e377e5 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/MaterialPipelineHandler.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e22d037d5d9286644b4b81a8b91b5ee5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Red.mat b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Red.mat new file mode 100644 index 0000000..b323048 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Red.mat @@ -0,0 +1,159 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Red + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + - _AlphaClip: 0 + - _Blend: 0 + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _ColorMask: 15 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 0 + - _EmissionEnabled: 0 + - _EnableExternalAlpha: 0 + - _EnvironmentReflections: 1 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _LightingEnabled: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _Surface: 0 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 0, b: 0, a: 1} + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 1, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &2151432713694262380 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Red.mat.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Red.mat.meta new file mode 100644 index 0000000..3b6c8af --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/Red.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 55fa12dc7870f1e46b6a7f8617949a86 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/TransparentRed.mat b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/TransparentRed.mat new file mode 100644 index 0000000..b95247f --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/TransparentRed.mat @@ -0,0 +1,165 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TransparentRed + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _EMISSION + m_InvalidKeywords: [] + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + - _AlphaClip: 0 + - _Blend: 0 + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _ColorMask: 15 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 10 + - _EmissionEnabled: 0 + - _EnableExternalAlpha: 0 + - _EnvironmentReflections: 1 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _LightingEnabled: 1 + - _Metallic: 0 + - _Mode: 3 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _Surface: 0 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _WorkflowMode: 1 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 0, b: 0, a: 1} + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 1, g: 0, b: 0, a: 0.54509807} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &2151432713694262380 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/TransparentRed.mat.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/TransparentRed.mat.meta new file mode 100644 index 0000000..b9b16d4 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/TransparentRed.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d149182fa7aa1dc47bd32b2a6da80ec9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/White.mat b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/White.mat new file mode 100644 index 0000000..eff5401 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/White.mat @@ -0,0 +1,159 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: White + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + - _AlphaClip: 0 + - _Blend: 0 + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _ColorMask: 15 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 0 + - _EmissionEnabled: 0 + - _EnableExternalAlpha: 0 + - _EnvironmentReflections: 1 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _LightingEnabled: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _Surface: 0 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.9686274, g: 0.9686274, b: 0.9686274, a: 1} + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 0.9686274, g: 0.9686274, b: 0.9686274, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &447292672560585647 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 5 diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/White.mat.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/White.mat.meta new file mode 100644 index 0000000..c3bd3e7 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Materials/White.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c3474c208278e814cb8d1c29aa806e81 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models.meta new file mode 100644 index 0000000..476a9c9 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22f58ef53b57ffc4390fa3fd82468a7d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHand.fbx b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHand.fbx Binary files differnew file mode 100644 index 0000000..4504e70 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHand.fbx diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHand.fbx.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHand.fbx.meta new file mode 100644 index 0000000..8b63673 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHand.fbx.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: bf7151579c38e2a44be94ba8773876c1 +ModelImporter: + serializedVersion: 20300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHandAndroidXR.fbx b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHandAndroidXR.fbx Binary files differnew file mode 100644 index 0000000..74ba4a9 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHandAndroidXR.fbx diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHandAndroidXR.fbx.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHandAndroidXR.fbx.meta new file mode 100644 index 0000000..3b97bad --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/LeftHandAndroidXR.fbx.meta @@ -0,0 +1,247 @@ +fileFormatVersion: 2 +guid: 7eff605df5fc69141bad762b74fb9228 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 3 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 0 + importCameras: 0 + importLights: 0 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: + - name: RightHand-Original-ImportExportTest(Clone) + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: V2-Hand reference mesh-02 + parentName: RightHand-Original-ImportExportTest(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Wrist + parentName: RightHand-Original-ImportExportTest(Clone) + position: {x: -0.003278835, y: 0.05342003, z: -0.062004544} + rotation: {x: 0.6861093, y: 0.036429923, z: 0.028978078, w: 0.7260077} + scale: {x: 1.0000001, y: 1, z: 1.0000027} + - name: R_IndexMetacarpal + parentName: R_Wrist + position: {x: -0.015184388, y: 0.043368313, z: -0.0004082384} + rotation: {x: -0.039728012, y: -0.016940618, z: 0.0136341, w: 0.9989739} + scale: {x: 0.99999994, y: 1, z: 0.99999994} + - name: R_IndexProximal + parentName: R_IndexMetacarpal + position: {x: -0.0000000030971443, y: 0.053249188, z: 0.0000000036459735} + rotation: {x: 0.11408561, y: 0.027069341, z: -0.003031183, w: 0.9930975} + scale: {x: 1, y: 0.9999999, z: 1.0000002} + - name: R_IndexIntermediate + parentName: R_IndexProximal + position: {x: 2.0986757e-10, y: 0.03119257, z: -0.0000000029665912} + rotation: {x: 0.22822198, y: -0.0019579423, z: -0.0028197072, w: 0.9736031} + scale: {x: 1, y: 1.0000002, z: 0.9999998} + - name: R_IndexDistal + parentName: R_IndexIntermediate + position: {x: 0.000000011364375, y: 0.015153917, z: 0.000000006907221} + rotation: {x: 0.11608021, y: -0.020753868, z: 0.0004017833, w: 0.9930229} + scale: {x: 0.99999994, y: 1.0000006, z: 0.99999946} + - name: R_IndexTip + parentName: R_IndexDistal + position: {x: 0.0000000049176343, y: 0.008471283, z: 0.000000011485351} + rotation: {x: 0.023955874, y: -0.01890053, z: -0.00004664642, w: 0.99953437} + scale: {x: 0.99999994, y: 1.0000001, z: 0.9999998} + - name: R_MiddleMetacarpal + parentName: R_Wrist + position: {x: -0.0021637694, y: 0.041841764, z: -0.0008136065} + rotation: {x: -0.018308057, y: -0.06036859, z: -0.022970585, w: 0.9977439} + scale: {x: 1.0000001, y: 1, z: 0.99999994} + - name: R_MiddleProximal + parentName: R_MiddleMetacarpal + position: {x: -0.00000000739658, y: 0.053792052, z: 0.0000000048860156} + rotation: {x: 0.118838586, y: 0.01847689, z: -0.00033644997, w: 0.9927416} + scale: {x: 1, y: 0.9999999, z: 1.0000001} + - name: R_MiddleIntermediate + parentName: R_MiddleProximal + position: {x: 0.000000005422766, y: 0.031502105, z: -6.3897215e-10} + rotation: {x: 0.32552293, y: -0.011826178, z: 0.020449111, w: 0.945239} + scale: {x: 0.9999999, y: 1.0000005, z: 0.99999946} + - name: R_MiddleDistal + parentName: R_MiddleIntermediate + position: {x: 0.000000028710986, y: 0.018965539, z: 0.000000026385173} + rotation: {x: 0.20727825, y: 0.012435533, z: 0.028069785, w: 0.9778002} + scale: {x: 1, y: 1.0000008, z: 0.99999917} + - name: R_MiddleTip + parentName: R_MiddleDistal + position: {x: 0.000000018862254, y: 0.01355556, z: 0.000000010927729} + rotation: {x: 0.027218292, y: -0.026071634, z: -0.0108469, w: 0.9992306} + scale: {x: 1, y: 1.0000001, z: 0.9999999} + - name: R_RingMetacarpal + parentName: R_Wrist + position: {x: 0.009159105, y: 0.04289402, z: -0.0009776641} + rotation: {x: -0.5051329, y: -0.012376049, z: -0.08139011, w: 0.8591061} + scale: {x: 1.0000001, y: 1, z: 0.9999999} + - name: R_RingProximal + parentName: R_RingMetacarpal + position: {x: 7.1046946e-10, y: 0.047772877, z: -0.0000000012237608} + rotation: {x: 0.01830861, y: -0.036776215, z: 0.04406918, w: 0.9981835} + scale: {x: 1.0000002, y: 1, z: 0.9999999} + - name: R_RingIntermediate + parentName: R_RingProximal + position: {x: 0.000000020008601, y: 0.027416931, z: 0.000000009794475} + rotation: {x: -0.004819274, y: -0.085748516, z: -0.0073304567, w: 0.9962782} + scale: {x: 1.0000001, y: 1.0000005, z: 0.99999917} + - name: R_RingDistal + parentName: R_RingIntermediate + position: {x: 0.0000000361422, y: 0.021599585, z: 0.000000012509237} + rotation: {x: 0.21586773, y: -0.11252745, z: 0.5731088, w: 0.78248644} + scale: {x: 1.0000002, y: 1.0000005, z: 0.9999993} + - name: R_RingTip + parentName: R_RingDistal + position: {x: 0.000000014014161, y: 0.008182308, z: 0.000000016518117} + rotation: {x: 0.08212139, y: 0.050801937, z: -0.04902353, w: 0.9941187} + scale: {x: 0.99999976, y: 1.0000004, z: 0.99999976} + - name: R_Palm + parentName: R_Wrist + position: {x: 0.00033856664, y: 0.052908763, z: -0.0050242892} + rotation: {x: 0.036044274, y: -0.046207204, z: 0.0056319265, w: 0.9982655} + scale: {x: 1.0000001, y: 1, z: 0.9999999} + - name: R_ThumbMetacarpal + parentName: R_Wrist + position: {x: -0.024570636, y: 0.039576054, z: 0.0056750975} + rotation: {x: 0.38757673, y: 0.48578048, z: 0.5464086, w: 0.5614617} + scale: {x: 0.99999976, y: 0.99999994, z: 1.0000002} + - name: R_ThumbProximal + parentName: R_ThumbMetacarpal + position: {x: 0.0000000030227367, y: 0.024318831, z: 0.0000000127638735} + rotation: {x: 0.11798811, y: 0.073554516, z: 0.027695354, w: 0.9898998} + scale: {x: 1.0000005, y: 0.99999994, z: 0.9999997} + - name: R_ThumbDistal + parentName: R_ThumbProximal + position: {x: -0.000000013828266, y: 0.03048904, z: 0.000000047016265} + rotation: {x: 0.06120874, y: -0.114165455, z: -0.55291957, w: 0.82310367} + scale: {x: 1.0000006, y: 1.0000001, z: 0.99999917} + - name: R_ThumbTip + parentName: R_ThumbDistal + position: {x: -0.000000024058998, y: 0.017674206, z: 0.00000008461095} + rotation: {x: -0.042718224, y: -0.040577695, z: -0.007416172, w: 0.9982353} + scale: {x: 0.99999994, y: 1.0000001, z: 1.0000001} + - name: R_LittleMetacarpal + parentName: R_Wrist + position: {x: 0.018062059, y: 0.041240305, z: 0.002480461} + rotation: {x: 0.040541753, y: -0.2460445, z: -0.13661616, w: 0.9587255} + scale: {x: 1.0000004, y: 1, z: 0.9999997} + - name: R_LittleProximal + parentName: R_LittleMetacarpal + position: {x: 0.000000022705052, y: 0.04444153, z: -0.0000000065787407} + rotation: {x: 0.58528006, y: 0.13245042, z: -0.15188508, w: 0.7853885} + scale: {x: 0.99999964, y: 1.0000001, z: 1.0000004} + - name: R_LittleIntermediate + parentName: R_LittleProximal + position: {x: 0.000000013486351, y: 0.0184942, z: -0.0000000054124114} + rotation: {x: 0.21532907, y: -0.22571056, z: -0.01377247, w: 0.9499992} + scale: {x: 1.0000007, y: 1.0000004, z: 0.99999905} + - name: R_LittleDistal + parentName: R_LittleIntermediate + position: {x: 0.000000031878056, y: 0.014893936, z: 0.00000000870707} + rotation: {x: -0.27264047, y: 0.07361126, z: 0.2861297, w: 0.91563004} + scale: {x: 0.9999997, y: 1.0000007, z: 0.99999964} + - name: R_LittleTip + parentName: R_LittleDistal + position: {x: 0.000000019335364, y: 0.0077872393, z: -9.0059754e-10} + rotation: {x: 0.030928679, y: 0.115395255, z: 0.0017466116, w: 0.99283653} + scale: {x: 0.99999994, y: 1, z: 1} + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 0 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHand.fbx b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHand.fbx Binary files differnew file mode 100644 index 0000000..bf3d0dd --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHand.fbx diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHand.fbx.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHand.fbx.meta new file mode 100644 index 0000000..a416985 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHand.fbx.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 56186ccf27ad7864681108ed88349071 +ModelImporter: + serializedVersion: 20300 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHandAndroidXR.fbx b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHandAndroidXR.fbx Binary files differnew file mode 100644 index 0000000..49018db --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHandAndroidXR.fbx diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHandAndroidXR.fbx.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHandAndroidXR.fbx.meta new file mode 100644 index 0000000..4cbeabc --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Models/RightHandAndroidXR.fbx.meta @@ -0,0 +1,247 @@ +fileFormatVersion: 2 +guid: 49090752ee8bba242ad64a291905ee10 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 0 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 3 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 0 + importCameras: 0 + importLights: 0 + nodeNameCollisionStrategy: 0 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: + - name: RightHand-Original-ImportExportTest(Clone) + parentName: + position: {x: 0, y: 0, z: 0} + rotation: {x: 0, y: 0, z: 0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: V2-Hand reference mesh-02 + parentName: RightHand-Original-ImportExportTest(Clone) + position: {x: -0, y: 0, z: 0} + rotation: {x: 0, y: -0, z: -0, w: 1} + scale: {x: 1, y: 1, z: 1} + - name: R_Wrist + parentName: RightHand-Original-ImportExportTest(Clone) + position: {x: -0.003278835, y: 0.05342003, z: -0.062004544} + rotation: {x: 0.6861093, y: 0.036429923, z: 0.028978078, w: 0.7260077} + scale: {x: 1.0000001, y: 1, z: 1.0000027} + - name: R_IndexMetacarpal + parentName: R_Wrist + position: {x: -0.015184388, y: 0.043368313, z: -0.0004082384} + rotation: {x: -0.039728012, y: -0.016940618, z: 0.0136341, w: 0.9989739} + scale: {x: 0.99999994, y: 1, z: 0.99999994} + - name: R_IndexProximal + parentName: R_IndexMetacarpal + position: {x: -0.0000000030971443, y: 0.053249188, z: 0.0000000036459735} + rotation: {x: 0.11408561, y: 0.027069341, z: -0.003031183, w: 0.9930975} + scale: {x: 1, y: 0.9999999, z: 1.0000002} + - name: R_IndexIntermediate + parentName: R_IndexProximal + position: {x: 2.0986757e-10, y: 0.03119257, z: -0.0000000029665912} + rotation: {x: 0.22822198, y: -0.0019579423, z: -0.0028197072, w: 0.9736031} + scale: {x: 1, y: 1.0000002, z: 0.9999998} + - name: R_IndexDistal + parentName: R_IndexIntermediate + position: {x: 0.000000011364375, y: 0.015153917, z: 0.000000006907221} + rotation: {x: 0.11608021, y: -0.020753868, z: 0.0004017833, w: 0.9930229} + scale: {x: 0.99999994, y: 1.0000006, z: 0.99999946} + - name: R_IndexTip + parentName: R_IndexDistal + position: {x: 0.0000000049176343, y: 0.008471283, z: 0.000000011485351} + rotation: {x: 0.023955874, y: -0.01890053, z: -0.00004664642, w: 0.99953437} + scale: {x: 0.99999994, y: 1.0000001, z: 0.9999998} + - name: R_MiddleMetacarpal + parentName: R_Wrist + position: {x: -0.0021637694, y: 0.041841764, z: -0.0008136065} + rotation: {x: -0.018308057, y: -0.06036859, z: -0.022970585, w: 0.9977439} + scale: {x: 1.0000001, y: 1, z: 0.99999994} + - name: R_MiddleProximal + parentName: R_MiddleMetacarpal + position: {x: -0.00000000739658, y: 0.053792052, z: 0.0000000048860156} + rotation: {x: 0.118838586, y: 0.01847689, z: -0.00033644997, w: 0.9927416} + scale: {x: 1, y: 0.9999999, z: 1.0000001} + - name: R_MiddleIntermediate + parentName: R_MiddleProximal + position: {x: 0.000000005422766, y: 0.031502105, z: -6.3897215e-10} + rotation: {x: 0.32552293, y: -0.011826178, z: 0.020449111, w: 0.945239} + scale: {x: 0.9999999, y: 1.0000005, z: 0.99999946} + - name: R_MiddleDistal + parentName: R_MiddleIntermediate + position: {x: 0.000000028710986, y: 0.018965539, z: 0.000000026385173} + rotation: {x: 0.20727825, y: 0.012435533, z: 0.028069785, w: 0.9778002} + scale: {x: 1, y: 1.0000008, z: 0.99999917} + - name: R_MiddleTip + parentName: R_MiddleDistal + position: {x: 0.000000018862254, y: 0.01355556, z: 0.000000010927729} + rotation: {x: 0.027218292, y: -0.026071634, z: -0.0108469, w: 0.9992306} + scale: {x: 1, y: 1.0000001, z: 0.9999999} + - name: R_RingMetacarpal + parentName: R_Wrist + position: {x: 0.009159105, y: 0.04289402, z: -0.0009776641} + rotation: {x: -0.5051329, y: -0.012376049, z: -0.08139011, w: 0.8591061} + scale: {x: 1.0000001, y: 1, z: 0.9999999} + - name: R_RingProximal + parentName: R_RingMetacarpal + position: {x: 7.1046946e-10, y: 0.047772877, z: -0.0000000012237608} + rotation: {x: 0.01830861, y: -0.036776215, z: 0.04406918, w: 0.9981835} + scale: {x: 1.0000002, y: 1, z: 0.9999999} + - name: R_RingIntermediate + parentName: R_RingProximal + position: {x: 0.000000020008601, y: 0.027416931, z: 0.000000009794475} + rotation: {x: -0.004819274, y: -0.085748516, z: -0.0073304567, w: 0.9962782} + scale: {x: 1.0000001, y: 1.0000005, z: 0.99999917} + - name: R_RingDistal + parentName: R_RingIntermediate + position: {x: 0.0000000361422, y: 0.021599585, z: 0.000000012509237} + rotation: {x: 0.21586773, y: -0.11252745, z: 0.5731088, w: 0.78248644} + scale: {x: 1.0000002, y: 1.0000005, z: 0.9999993} + - name: R_RingTip + parentName: R_RingDistal + position: {x: 0.000000014014161, y: 0.008182308, z: 0.000000016518117} + rotation: {x: 0.08212139, y: 0.050801937, z: -0.04902353, w: 0.9941187} + scale: {x: 0.99999976, y: 1.0000004, z: 0.99999976} + - name: R_Palm + parentName: R_Wrist + position: {x: 0.00033856664, y: 0.052908763, z: -0.0050242892} + rotation: {x: 0.036044274, y: -0.046207204, z: 0.0056319265, w: 0.9982655} + scale: {x: 1.0000001, y: 1, z: 0.9999999} + - name: R_ThumbMetacarpal + parentName: R_Wrist + position: {x: -0.024570636, y: 0.039576054, z: 0.0056750975} + rotation: {x: 0.38757673, y: 0.48578048, z: 0.5464086, w: 0.5614617} + scale: {x: 0.99999976, y: 0.99999994, z: 1.0000002} + - name: R_ThumbProximal + parentName: R_ThumbMetacarpal + position: {x: 0.0000000030227367, y: 0.024318831, z: 0.0000000127638735} + rotation: {x: 0.11798811, y: 0.073554516, z: 0.027695354, w: 0.9898998} + scale: {x: 1.0000005, y: 0.99999994, z: 0.9999997} + - name: R_ThumbDistal + parentName: R_ThumbProximal + position: {x: -0.000000013828266, y: 0.03048904, z: 0.000000047016265} + rotation: {x: 0.06120874, y: -0.114165455, z: -0.55291957, w: 0.82310367} + scale: {x: 1.0000006, y: 1.0000001, z: 0.99999917} + - name: R_ThumbTip + parentName: R_ThumbDistal + position: {x: -0.000000024058998, y: 0.017674206, z: 0.00000008461095} + rotation: {x: -0.042718224, y: -0.040577695, z: -0.007416172, w: 0.9982353} + scale: {x: 0.99999994, y: 1.0000001, z: 1.0000001} + - name: R_LittleMetacarpal + parentName: R_Wrist + position: {x: 0.018062059, y: 0.041240305, z: 0.002480461} + rotation: {x: 0.040541753, y: -0.2460445, z: -0.13661616, w: 0.9587255} + scale: {x: 1.0000004, y: 1, z: 0.9999997} + - name: R_LittleProximal + parentName: R_LittleMetacarpal + position: {x: 0.000000022705052, y: 0.04444153, z: -0.0000000065787407} + rotation: {x: 0.58528006, y: 0.13245042, z: -0.15188508, w: 0.7853885} + scale: {x: 0.99999964, y: 1.0000001, z: 1.0000004} + - name: R_LittleIntermediate + parentName: R_LittleProximal + position: {x: 0.000000013486351, y: 0.0184942, z: -0.0000000054124114} + rotation: {x: 0.21532907, y: -0.22571056, z: -0.01377247, w: 0.9499992} + scale: {x: 1.0000007, y: 1.0000004, z: 0.99999905} + - name: R_LittleDistal + parentName: R_LittleIntermediate + position: {x: 0.000000031878056, y: 0.014893936, z: 0.00000000870707} + rotation: {x: -0.27264047, y: 0.07361126, z: 0.2861297, w: 0.91563004} + scale: {x: 0.9999997, y: 1.0000007, z: 0.99999964} + - name: R_LittleTip + parentName: R_LittleDistal + position: {x: 0.000000019335364, y: 0.0077872393, z: -9.0059754e-10} + rotation: {x: 0.030928679, y: 0.115395255, z: 0.0017466116, w: 0.99283653} + scale: {x: 0.99999994, y: 1, z: 1} + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 0 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs.meta new file mode 100644 index 0000000..755f5a9 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3acfee4a2c8c7c24b96095fdac3ee33d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Joint.prefab b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Joint.prefab new file mode 100644 index 0000000..9c5829b --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Joint.prefab @@ -0,0 +1,522 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &734748737383922805 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2107813110650148675} + - component: {fileID: 6434675759608581130} + - component: {fileID: 5634315896501048958} + m_Layer: 0 + m_Name: Y + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2107813110650148675 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734748737383922805} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.005, z: 0} + m_LocalScale: {x: 0.005, y: 0.005, z: 0.005} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4831140773533800019} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6434675759608581130 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734748737383922805} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &5634315896501048958 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734748737383922805} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 727f87098255ad04987a60f5f08390bc, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &998394589122162542 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6518585025970797200} + - component: {fileID: 1887305460834055526} + - component: {fileID: 6370029320555855244} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6518585025970797200 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 998394589122162542} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8123511170798101446} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1887305460834055526 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 998394589122162542} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6370029320555855244 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 998394589122162542} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c3474c208278e814cb8d1c29aa806e81, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1884330011090648049 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5222184468966665097} + - component: {fileID: 1819206441057094587} + - component: {fileID: 1391820213567226204} + m_Layer: 0 + m_Name: X + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5222184468966665097 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1884330011090648049} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.005, y: 0, z: 0} + m_LocalScale: {x: 0.005, y: 0.005, z: 0.005} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4831140773533800019} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1819206441057094587 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1884330011090648049} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1391820213567226204 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1884330011090648049} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 55fa12dc7870f1e46b6a7f8617949a86, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6507399986997092475 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8123511170798101446} + - component: {fileID: 2704860076515533465} + - component: {fileID: 7456416708721142674} + m_Layer: 0 + m_Name: Joint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8123511170798101446 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6507399986997092475} + serializedVersion: 2 + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6518585025970797200} + - {fileID: 4831140773533800019} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!120 &2704860076515533465 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6507399986997092475} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.04166603 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 0 +--- !u!114 &7456416708721142674 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6507399986997092475} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e1c395ff62a3a14dbeb293298bb46bf, type: 3} + m_Name: + m_EditorClassIdentifier: + m_JointVisual: {fileID: 998394589122162542} + m_HighFidelityJointMaterial: {fileID: 2100000, guid: c3474c208278e814cb8d1c29aa806e81, type: 2} + m_LowFidelityJointMaterial: {fileID: 2100000, guid: d149182fa7aa1dc47bd32b2a6da80ec9, type: 2} +--- !u!1 &6513021459858911318 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 791700661656661422} + - component: {fileID: 8027412990048445551} + - component: {fileID: 3953861510652508848} + m_Layer: 0 + m_Name: Z + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &791700661656661422 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6513021459858911318} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.005} + m_LocalScale: {x: 0.005, y: 0.005, z: 0.005} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4831140773533800019} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8027412990048445551 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6513021459858911318} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3953861510652508848 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6513021459858911318} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 7b26add94f09dc44fb811013f007a3aa, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6855854388140184776 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4831140773533800019} + m_Layer: 0 + m_Name: Axis + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4831140773533800019 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6855854388140184776} + serializedVersion: 2 + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5222184468966665097} + - {fileID: 2107813110650148675} + - {fileID: 791700661656661422} + m_Father: {fileID: 8123511170798101446} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Joint.prefab.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Joint.prefab.meta new file mode 100644 index 0000000..9d298d3 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Joint.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 254b742d65a15d14b9df756ae77de868 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Left Hand Tracking.prefab b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Left Hand Tracking.prefab new file mode 100644 index 0000000..6a046d1 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Left Hand Tracking.prefab @@ -0,0 +1,351 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &467299062429507094 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7009038412992213568, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -7009038412992213568, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 613690cd962241049a0ec289a6ff835e, type: 2} + - target: {fileID: -2886011254516924842, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalPosition.x + value: -0.2 + objectReference: {fileID: 0} + - target: {fileID: -2886011254516924842, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -2886011254516924842, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalPosition.z + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: -2886011254516924842, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalRotation.w + value: 0.8660254 + objectReference: {fileID: 0} + - target: {fileID: -2886011254516924842, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalRotation.x + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: -2886011254516924842, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -2886011254516924842, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -2886011254516924842, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -60 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + propertyPath: m_Name + value: Left Hand Tracking + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} +--- !u!1 &773853689519989575 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &5876909491052011584 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -2886011254516924842, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &1448281546621806375 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1325600225764489521, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &330500789068740710 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 209983296314435184, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &3946411421816380034 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -5712721285632293740, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &3094800083807817888 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -6012624077346500938, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &7683948867115331237 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -1378399668587237197, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &7135220269285660042 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7311957944441736092, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &3789855843017900069 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -5556197524085236173, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &5830835152374552890 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6239569783937730348, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &4762083549225478452 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4929893224545990434, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &6191545133100169418 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -3201804815453640996, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &5647312111078691803 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -4025260990191858227, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &4511303806647181083 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4100370146787934477, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &9150967386063312380 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -539611307452216342, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &653873766723170089 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8111219613762522817, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &6241780104622499675 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -3394746642390042291, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2733093729761800249 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2563049845517938223, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &3721614932501511239 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -5342963413919112623, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &7215852769725028180 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -2134717383426619070, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &394343688656815241 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 217531209976470175, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &708706760777700289 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1128709220219833815, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &4678747065800207856 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 5085146375408579558, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &6373319304223449305 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6777559164489776847, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &5200181528285594001 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -3578409481622970489, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &4564316283654639424 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -5103814781551259306, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!4 &3133028404922549142 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 3244543061537447296, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!137 &1785337192100647894 stripped +SkinnedMeshRenderer: + m_CorrespondingSourceObject: {fileID: -7009038412992213568, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} + m_PrefabInstance: {fileID: 467299062429507094} + m_PrefabAsset: {fileID: 0} +--- !u!114 &639686448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 773853689519989575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5b9cf54c47f40ee9c3eb30ea8eb89b9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Handedness: 1 + m_UpdateType: 2 + m_PoseUpdated: + m_PersistentCalls: + m_Calls: [] + m_JointsUpdated: + m_PersistentCalls: + m_Calls: [] + m_TrackingAcquired: + m_PersistentCalls: + m_Calls: [] + m_TrackingLost: + m_PersistentCalls: + m_Calls: [] + m_TrackingChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &5828388934748857539 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 773853689519989575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 07aaccfa1bc2417d8fbd0d9e2e102c2c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_XRHandTrackingEvents: {fileID: 639686448} + m_RootTransform: {fileID: 5876909491052011584} + m_JointTransformReferences: + - m_XRHandJointID: 1 + m_JointTransform: {fileID: 5876909491052011584} + - m_XRHandJointID: 7 + m_JointTransform: {fileID: 1448281546621806375} + - m_XRHandJointID: 8 + m_JointTransform: {fileID: 330500789068740710} + - m_XRHandJointID: 9 + m_JointTransform: {fileID: 3946411421816380034} + - m_XRHandJointID: 10 + m_JointTransform: {fileID: 3094800083807817888} + - m_XRHandJointID: 11 + m_JointTransform: {fileID: 7683948867115331237} + - m_XRHandJointID: 22 + m_JointTransform: {fileID: 7135220269285660042} + - m_XRHandJointID: 23 + m_JointTransform: {fileID: 3789855843017900069} + - m_XRHandJointID: 24 + m_JointTransform: {fileID: 5830835152374552890} + - m_XRHandJointID: 25 + m_JointTransform: {fileID: 4762083549225478452} + - m_XRHandJointID: 26 + m_JointTransform: {fileID: 6191545133100169418} + - m_XRHandJointID: 12 + m_JointTransform: {fileID: 5647312111078691803} + - m_XRHandJointID: 13 + m_JointTransform: {fileID: 4511303806647181083} + - m_XRHandJointID: 14 + m_JointTransform: {fileID: 9150967386063312380} + - m_XRHandJointID: 15 + m_JointTransform: {fileID: 653873766723170089} + - m_XRHandJointID: 16 + m_JointTransform: {fileID: 6241780104622499675} + - m_XRHandJointID: 17 + m_JointTransform: {fileID: 3721614932501511239} + - m_XRHandJointID: 18 + m_JointTransform: {fileID: 7215852769725028180} + - m_XRHandJointID: 19 + m_JointTransform: {fileID: 394343688656815241} + - m_XRHandJointID: 20 + m_JointTransform: {fileID: 708706760777700289} + - m_XRHandJointID: 21 + m_JointTransform: {fileID: 4678747065800207856} + - m_XRHandJointID: 3 + m_JointTransform: {fileID: 6373319304223449305} + - m_XRHandJointID: 4 + m_JointTransform: {fileID: 5200181528285594001} + - m_XRHandJointID: 5 + m_JointTransform: {fileID: 4564316283654639424} + - m_XRHandJointID: 6 + m_JointTransform: {fileID: 3133028404922549142} + - m_XRHandJointID: 2 + m_JointTransform: {fileID: 2733093729761800249} +--- !u!114 &6627571522594998540 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 773853689519989575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 21096d6d8059a5343a1f2b4d050e4789, type: 3} + m_Name: + m_EditorClassIdentifier: + m_XRHandTrackingEvents: {fileID: 639686448} + m_HandMeshRenderer: {fileID: 1785337192100647894} + m_ShowMeshWhenTrackingIsAcquired: 1 + m_HideMeshWhenTrackingIsLost: 1 diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Left Hand Tracking.prefab.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Left Hand Tracking.prefab.meta new file mode 100644 index 0000000..c75c38d --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Left Hand Tracking.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b3ed8a0a703ebd34a9e44ed3d9f1fcf6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Right Hand Tracking.prefab b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Right Hand Tracking.prefab new file mode 100644 index 0000000..be26221 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Right Hand Tracking.prefab @@ -0,0 +1,347 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &2863446611106501643 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -5335555045901936782, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 613690cd962241049a0ec289a6ff835e, type: 2} + - target: {fileID: 431247075847058747, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalPosition.x + value: 0.2 + objectReference: {fileID: 0} + - target: {fileID: 431247075847058747, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 431247075847058747, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalPosition.z + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 431247075847058747, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalRotation.w + value: 0.8660254 + objectReference: {fileID: 0} + - target: {fileID: 431247075847058747, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalRotation.x + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: 431247075847058747, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 431247075847058747, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 431247075847058747, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -60 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 56186ccf27ad7864681108ed88349071, type: 3} + propertyPath: m_Name + value: Right Hand Tracking + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 56186ccf27ad7864681108ed88349071, type: 3} +--- !u!1 &3133494152545806682 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2468282021181825328 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 431247075847058747, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &3948347335870036048 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -7965080492784997285, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2604916979015095787 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8963421420082658848, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &5784116713708183948 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8644745267644822919, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2168581177090073220 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4153823618884826767, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &3288495761867447508 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8494328768516585249, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &6612406317759570666 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8970885712544478945, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2539154032915424125 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8898582184611268746, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &8701566162615192194 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6881269161254739593, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &65199002294604442 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2835758823564002961, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &1018444605519319862 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2999182382527465277, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2087600070971462675 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -4952371131901738984, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &5925080913539658014 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8468768647995122965, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &4158396131418465098 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2164145347914561345, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &6226456670447996205 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -1020680080924960474, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &7356241863038367081 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -4491320855693958814, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2721691953714425675 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -9045367783505560768, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &8609037504304071432 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 5819900291352614659, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &5643220763833292161 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7632966843634336138, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &7629607333241681997 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 5646615596051819590, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &7165857418126095518 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -4265123391628091243, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &1590987666903257055 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -5644888990184678444, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2353264378503682855 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8712924870032863444, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &423036791582609439 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -6745288066082061292, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &129824984984905013 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2769778261254893886, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!4 &4114692932810539891 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2208825326345590648, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!137 &1317669517487522681 stripped +SkinnedMeshRenderer: + m_CorrespondingSourceObject: {fileID: -5335555045901936782, guid: 56186ccf27ad7864681108ed88349071, type: 3} + m_PrefabInstance: {fileID: 2863446611106501643} + m_PrefabAsset: {fileID: 0} +--- !u!114 &513866637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133494152545806682} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5b9cf54c47f40ee9c3eb30ea8eb89b9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Handedness: 2 + m_UpdateType: 2 + m_PoseUpdated: + m_PersistentCalls: + m_Calls: [] + m_JointsUpdated: + m_PersistentCalls: + m_Calls: [] + m_TrackingAcquired: + m_PersistentCalls: + m_Calls: [] + m_TrackingLost: + m_PersistentCalls: + m_Calls: [] + m_TrackingChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &513866642 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133494152545806682} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 07aaccfa1bc2417d8fbd0d9e2e102c2c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_XRHandTrackingEvents: {fileID: 513866637} + m_RootTransform: {fileID: 2468282021181825328} + m_JointTransformReferences: + - m_XRHandJointID: 1 + m_JointTransform: {fileID: 2468282021181825328} + - m_XRHandJointID: 7 + m_JointTransform: {fileID: 3948347335870036048} + - m_XRHandJointID: 8 + m_JointTransform: {fileID: 2604916979015095787} + - m_XRHandJointID: 9 + m_JointTransform: {fileID: 5784116713708183948} + - m_XRHandJointID: 10 + m_JointTransform: {fileID: 2168581177090073220} + - m_XRHandJointID: 11 + m_JointTransform: {fileID: 3288495761867447508} + - m_XRHandJointID: 22 + m_JointTransform: {fileID: 6612406317759570666} + - m_XRHandJointID: 23 + m_JointTransform: {fileID: 2539154032915424125} + - m_XRHandJointID: 24 + m_JointTransform: {fileID: 8701566162615192194} + - m_XRHandJointID: 25 + m_JointTransform: {fileID: 65199002294604442} + - m_XRHandJointID: 26 + m_JointTransform: {fileID: 1018444605519319862} + - m_XRHandJointID: 12 + m_JointTransform: {fileID: 2087600070971462675} + - m_XRHandJointID: 13 + m_JointTransform: {fileID: 5925080913539658014} + - m_XRHandJointID: 14 + m_JointTransform: {fileID: 4158396131418465098} + - m_XRHandJointID: 15 + m_JointTransform: {fileID: 6226456670447996205} + - m_XRHandJointID: 16 + m_JointTransform: {fileID: 7356241863038367081} + - m_XRHandJointID: 17 + m_JointTransform: {fileID: 8609037504304071432} + - m_XRHandJointID: 18 + m_JointTransform: {fileID: 5643220763833292161} + - m_XRHandJointID: 19 + m_JointTransform: {fileID: 7629607333241681997} + - m_XRHandJointID: 20 + m_JointTransform: {fileID: 7165857418126095518} + - m_XRHandJointID: 21 + m_JointTransform: {fileID: 1590987666903257055} + - m_XRHandJointID: 3 + m_JointTransform: {fileID: 2353264378503682855} + - m_XRHandJointID: 4 + m_JointTransform: {fileID: 423036791582609439} + - m_XRHandJointID: 5 + m_JointTransform: {fileID: 129824984984905013} + - m_XRHandJointID: 6 + m_JointTransform: {fileID: 4114692932810539891} + - m_XRHandJointID: 2 + m_JointTransform: {fileID: 2721691953714425675} +--- !u!114 &2726143015963839043 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3133494152545806682} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 21096d6d8059a5343a1f2b4d050e4789, type: 3} + m_Name: + m_EditorClassIdentifier: + m_XRHandTrackingEvents: {fileID: 513866637} + m_HandMeshRenderer: {fileID: 1317669517487522681} + m_ShowMeshWhenTrackingIsAcquired: 1 + m_HideMeshWhenTrackingIsLost: 1 diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Right Hand Tracking.prefab.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Right Hand Tracking.prefab.meta new file mode 100644 index 0000000..8871785 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/Right Hand Tracking.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3f7511fbc40ae7a4b89c3298a3de199d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/VelocityPrefab.prefab b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/VelocityPrefab.prefab new file mode 100644 index 0000000..79acd7a --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/VelocityPrefab.prefab @@ -0,0 +1,131 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8538602047018081646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7702457921730198461} + - component: {fileID: 3262118000911692578} + m_Layer: 0 + m_Name: VelocityPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7702457921730198461 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8538602047018081646} + 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: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!120 &3262118000911692578 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8538602047018081646} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.013891645 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0, a: 1} + key1: {r: 0, g: 0, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/VelocityPrefab.prefab.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/VelocityPrefab.prefab.meta new file mode 100644 index 0000000..67768bf --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Prefabs/VelocityPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 629fd7882ec6bfc499a5fcf20035282b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/README.md b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/README.md new file mode 100644 index 0000000..5704d73 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/README.md @@ -0,0 +1,3 @@ +# Hand Visualizer Sample + +Demonstrates driving meshes and free-floating debug-draw objects on an XR Origin by using `XRHandSubsystem`. diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/README.md.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/README.md.meta new file mode 100644 index 0000000..0ea398a --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b0057a2d371351e41ae711f975c741e2 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts.meta new file mode 100644 index 0000000..4e30fa8 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0c161b4c00c888c41a1bb8253e94492c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandProcessor.cs b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandProcessor.cs new file mode 100644 index 0000000..3c575bc --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandProcessor.cs @@ -0,0 +1,171 @@ +using System.Collections.Generic; +using UnityEngine.XR.Hands.Processing; + +namespace UnityEngine.XR.Hands.Samples.VisualizerSample +{ + /// <summary> + /// Example hand processor that applies transformations on the root poses to + /// modify the hands skeleton. Note it is possible to modify the bones + /// directly for more advanced use cases that are not shown here. + /// </summary> + public class HandProcessor : MonoBehaviour, IXRHandProcessor + { + /// <inheritdoc /> + public int callbackOrder => 0; + + /// <summary> + /// The mode to use for the sample processor. + /// </summary> + public enum ProcessorExampleMode + { + /// <summary> + /// No processing is applied. + /// </summary> + None, + + /// <summary> + /// Smooths the hand root pose of the left and right hands with interpolated positions + /// </summary> + Smoothing, + + /// <summary> + /// Inverts the left and right hands. + /// </summary> + Invert + } + + // Variables used for smoothing hand movements. + bool m_FirstFrame = false; + Vector3 m_LastLeftHandPosition; + Vector3 m_LastRightHandPosition; + Pose m_LeftHandPose = Pose.identity; + Pose m_RightHandPose = Pose.identity; + + [SerializeField] + [Tooltip("The mode to use for the sample processor.")] + ProcessorExampleMode m_ProcessorExampleMode = ProcessorExampleMode.Smoothing; + ProcessorExampleMode m_LastProcessorExampleMode = ProcessorExampleMode.None; + + /// <summary> + /// The <see cref="ProcessorExampleMode"/> to use for the sample processor. + /// </summary> + public ProcessorExampleMode processorExampleMode + { + get => m_ProcessorExampleMode; + set => m_ProcessorExampleMode = value; + } + + // Smoothing factors for the left and right hands. + [Header("Smoothing parameters")] + [SerializeField] + [Tooltip("The smoothing factor to use when smoothing the root of the left hand in the sample processor. Use 0 for no smoothing.")] + float m_LeftHandSmoothingFactor = 16f; + + [SerializeField] + [Tooltip("The smoothing factor to use when smoothing the root of the right hand in the sample processor. Use 0 for no smoothing.")] + float m_RightHandSmoothingFactor = 16f; + + /// <inheritdoc /> + public void ProcessJoints(XRHandSubsystem subsystem, XRHandSubsystem.UpdateSuccessFlags successFlags, XRHandSubsystem.UpdateType updateType) + { + switch (m_ProcessorExampleMode) + { + case ProcessorExampleMode.Smoothing: + SmoothHandsExample(subsystem, successFlags, updateType, m_LastProcessorExampleMode != m_ProcessorExampleMode); + break; + + case ProcessorExampleMode.Invert: + InvertHandsExample(subsystem, successFlags, updateType); + break; + } + + m_LastProcessorExampleMode = m_ProcessorExampleMode; + } + + // Smooths the hand movements of an XRHandSubsystem by updating the root + // pose of the left and right hands with interpolated positions. + void SmoothHandsExample(XRHandSubsystem subsystem, XRHandSubsystem.UpdateSuccessFlags successFlags, XRHandSubsystem.UpdateType updateType, bool modeChanged) + { + var leftHand = subsystem.leftHand; + var rightHand = subsystem.rightHand; + + if (leftHand.isTracked && m_LeftHandSmoothingFactor > 0) + { + var leftPose = leftHand.rootPose; + var currentLeftHandPosition = leftPose.position; + if (!m_FirstFrame && !modeChanged) + { + float tweenAmt = Time.deltaTime * m_LeftHandSmoothingFactor; + currentLeftHandPosition = Vector3.Lerp(m_LastLeftHandPosition, currentLeftHandPosition, tweenAmt); + m_LeftHandPose.position = currentLeftHandPosition; + m_LeftHandPose.rotation = leftPose.rotation; + + leftHand.SetRootPose(m_LeftHandPose); + subsystem.SetCorrespondingHand(leftHand); + } + m_LastLeftHandPosition = currentLeftHandPosition; + } + + if (rightHand.isTracked && m_RightHandSmoothingFactor > 0) + { + var rightPose = rightHand.rootPose; + var currentRightHandPosition = rightPose.position; + if (!m_FirstFrame && !modeChanged) + { + float tweenAmt = Time.deltaTime * m_RightHandSmoothingFactor; + currentRightHandPosition = Vector3.Lerp(m_LastRightHandPosition, currentRightHandPosition, tweenAmt); + m_RightHandPose.position = currentRightHandPosition; + m_RightHandPose.rotation = rightPose.rotation; + + rightHand.SetRootPose(m_RightHandPose); + subsystem.SetCorrespondingHand(rightHand); + } + m_LastRightHandPosition = currentRightHandPosition; + } + } + + // Call this from process joints to try inverting the user's hands. + void InvertHandsExample(XRHandSubsystem subsystem, XRHandSubsystem.UpdateSuccessFlags successFlags, XRHandSubsystem.UpdateType updateType) + { + var leftHand = subsystem.leftHand; + var leftHandPose = leftHand.rootPose; + + var rightHand = subsystem.rightHand; + var rightHandPose = rightHand.rootPose; + + if (leftHand.isTracked) + { + leftHand.SetRootPose(rightHandPose); + subsystem.SetCorrespondingHand(leftHand); + + rightHand.SetRootPose(leftHandPose); + subsystem.SetCorrespondingHand(rightHand); + } + } + + void Update() + { + if (m_Subsystem != null) + return; + + SubsystemManager.GetSubsystems(s_SubsystemsReuse); + if (s_SubsystemsReuse.Count == 0) + return; + + m_Subsystem = s_SubsystemsReuse[0]; + m_Subsystem.RegisterProcessor(this); + } + + void OnDisable() + { + if (m_Subsystem != null) + { + m_Subsystem.UnregisterProcessor(this); + m_Subsystem = null; + } + } + + XRHandSubsystem m_Subsystem; + static List<XRHandSubsystem> s_SubsystemsReuse = new List<XRHandSubsystem>(); + } +} diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandProcessor.cs.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandProcessor.cs.meta new file mode 100644 index 0000000..748484b --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandProcessor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ac5903b776721d74786a2e43f00b949a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandVisualizer.cs b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandVisualizer.cs new file mode 100644 index 0000000..7d94269 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandVisualizer.cs @@ -0,0 +1,608 @@ +using System.Collections.Generic; +using UnityEngine.Serialization; + +namespace UnityEngine.XR.Hands.Samples.VisualizerSample +{ + // Hand rig setups can differ between platforms. In these cases, the HandVisualizer supports displaying unique hands on a per-platform basis. + // If you would like to customize the hand meshes that are displayed by the HandVisualizer, based on the platform you are using, + // you will need to replace the rigged hand mesh references assigned to the corresponding fields for that platform. + // For Meta Quest devices, assign your rigged hand meshes to the "m_MetaQuestLeftHandMesh" & "m_MetaQuestRightHandMesh" fields. + // For Android XR devices, assign your rigged hand meshes to the "m_AndroidXRLeftHandMesh" & "m_AndroidXRRightHandMesh" fields. + // The rigged hand meshes that are assigned for a given platform will be displayed when that platform is detected, + // and any other rigged hand meshes assigned for other undetected platforms will not be displayed. + + /// <summary> + /// This component visualizes the hand joints and mesh for the left and right hands. + /// </summary> + public class HandVisualizer : MonoBehaviour + { + /// <summary> + /// The type of velocity to visualize. + /// </summary> + public enum VelocityType + { + /// <summary> + /// Visualize the linear velocity of the joint. + /// </summary> + Linear, + + /// <summary> + /// Visualize the angular velocity of the joint. + /// </summary> + Angular, + + /// <summary> + /// Do not visualize velocity. + /// </summary> + None, + } + + [SerializeField] + [Tooltip("If this is enabled, this component will enable the Input System internal feature flag 'USE_OPTIMIZED_CONTROLS'. You must have at least version 1.5.0 of the Input System and have its backend enabled for this to take effect.")] + bool m_UseOptimizedControls; + + [SerializeField, FormerlySerializedAs("m_LeftHandMesh")] + [Tooltip("References either a prefab or a GameObject in the scene that will be used to visualize the left hand.")] + GameObject m_MetaQuestLeftHandMesh; + + [SerializeField, FormerlySerializedAs("m_RightHandMesh")] + [Tooltip("References either a prefab or a GameObject in the scene that will be used to visualize the right hand.")] + GameObject m_MetaQuestRightHandMesh; + + [SerializeField] + [Tooltip("References either a prefab or a GameObject in the scene that will be used to visualize the left hand on Android XR devices." + + "<br><br><b>Instructions for how to setup and use these meshes can be found at the top of the <b>HandVisualizer.cs class</b>")] + GameObject m_AndroidXRLeftHandMesh; + + [SerializeField] + [Tooltip("References either a prefab or a GameObject in the scene that will be used to visualize the right hand on Android XR devices." + + "<br><br><b>Instructions for how to setup and use these meshes can be found at the top of the <b>HandVisualizer.cs class</b>")] + GameObject m_AndroidXRRightHandMesh; + + [SerializeField] + [Tooltip("(Optional) If this is set, the hand meshes will be assigned this material.")] + Material m_HandMeshMaterial; + + [SerializeField] + [Tooltip("Tells the Hand Visualizer to draw the meshes for the hands.")] + bool m_DrawMeshes; + bool m_PreviousDrawMeshes; + + /// <summary> + /// Tells the Hand Visualizer to draw the meshes for the hands. + /// </summary> + public bool drawMeshes + { + get => m_DrawMeshes; + set => m_DrawMeshes = value; + } + + [SerializeField] + [Tooltip("The prefab that will be used to visualize the joints for debugging.")] + GameObject m_DebugDrawPrefab; + + [SerializeField] + [Tooltip("Tells the Hand Visualizer to draw the debug joints for the hands.")] + bool m_DebugDrawJoints; + bool m_PreviousDebugDrawJoints; + + /// <summary> + /// Tells the Hand Visualizer to draw the debug joints for the hands. + /// </summary> + public bool debugDrawJoints + { + get => m_DebugDrawJoints; + set => m_DebugDrawJoints = value; + } + + [SerializeField] + [Tooltip("Prefab to use for visualizing the velocity.")] + GameObject m_VelocityPrefab; + + [SerializeField] + [Tooltip("The type of velocity to visualize.")] + VelocityType m_VelocityType; + VelocityType m_PreviousVelocityType; + + /// <summary> + /// The type of velocity to visualize. + /// </summary> + public VelocityType velocityType + { + get => m_VelocityType; + set => m_VelocityType = value; + } + + XRHandSubsystem m_Subsystem; + HandGameObjects m_LeftHandGameObjects; + HandGameObjects m_RightHandGameObjects; + + static readonly List<XRHandSubsystem> s_SubsystemsReuse = new List<XRHandSubsystem>(); + + /// <summary> + /// See <see cref="MonoBehaviour"/>. + /// </summary> + protected void Awake() + { +#if ENABLE_INPUT_SYSTEM + if (m_UseOptimizedControls) + InputSystem.InputSystem.settings.SetInternalFeatureFlag("USE_OPTIMIZED_CONTROLS", true); +#endif // ENABLE_INPUT_SYSTEM + } + + /// <summary> + /// See <see cref="MonoBehaviour"/>. + /// </summary> + protected void OnEnable() + { + if (m_Subsystem == null) + return; + + UpdateRenderingVisibility(m_LeftHandGameObjects, m_Subsystem.leftHand.isTracked); + UpdateRenderingVisibility(m_RightHandGameObjects, m_Subsystem.rightHand.isTracked); + } + + /// <summary> + /// See <see cref="MonoBehaviour"/>. + /// </summary> + protected void OnDisable() + { + if (m_Subsystem != null) + { + m_Subsystem.trackingAcquired -= OnTrackingAcquired; + m_Subsystem.trackingLost -= OnTrackingLost; + m_Subsystem.updatedHands -= OnUpdatedHands; + m_Subsystem = null; + } + + UpdateRenderingVisibility(m_LeftHandGameObjects, false); + UpdateRenderingVisibility(m_RightHandGameObjects, false); + } + + /// <summary> + /// See <see cref="MonoBehaviour"/>. + /// </summary> + protected void OnDestroy() + { + if (m_LeftHandGameObjects != null) + { + m_LeftHandGameObjects.OnDestroy(); + m_LeftHandGameObjects = null; + } + + if (m_RightHandGameObjects != null) + { + m_RightHandGameObjects.OnDestroy(); + m_RightHandGameObjects = null; + } + } + + /// <summary> + /// See <see cref="MonoBehaviour"/>. + /// </summary> + protected void Update() + { + if (m_Subsystem != null && m_Subsystem.running) + return; + + SubsystemManager.GetSubsystems(s_SubsystemsReuse); + var foundRunningHandSubsystem = false; + for (var i = 0; i < s_SubsystemsReuse.Count; ++i) + { + var handSubsystem = s_SubsystemsReuse[i]; + if (handSubsystem.running) + { + UnsubscribeHandSubsystem(); + m_Subsystem = handSubsystem; + foundRunningHandSubsystem = true; + break; + } + } + + if (!foundRunningHandSubsystem) + return; + + GameObject selectedLeftHandMesh = null, selectedRightHandMesh = null; + if (m_Subsystem.detectedHandMeshLayout == XRDetectedHandMeshLayout.OpenXRAndroidXR) + { + selectedLeftHandMesh = m_AndroidXRLeftHandMesh; + selectedRightHandMesh = m_AndroidXRRightHandMesh; + } + else + { + selectedLeftHandMesh = m_MetaQuestLeftHandMesh; + selectedRightHandMesh = m_MetaQuestRightHandMesh; + } + + if (m_LeftHandGameObjects == null) + { + m_LeftHandGameObjects = new HandGameObjects( + Handedness.Left, + transform, + selectedLeftHandMesh, + m_HandMeshMaterial, + m_DebugDrawPrefab, + m_VelocityPrefab); + } + + if (m_RightHandGameObjects == null) + { + m_RightHandGameObjects = new HandGameObjects( + Handedness.Right, + transform, + selectedRightHandMesh, + m_HandMeshMaterial, + m_DebugDrawPrefab, + m_VelocityPrefab); + } + + UpdateRenderingVisibility(m_LeftHandGameObjects, m_Subsystem.leftHand.isTracked); + UpdateRenderingVisibility(m_RightHandGameObjects, m_Subsystem.rightHand.isTracked); + + m_PreviousDrawMeshes = m_DrawMeshes; + m_PreviousDebugDrawJoints = m_DebugDrawJoints; + m_PreviousVelocityType = m_VelocityType; + + SubscribeHandSubsystem(); + } + + void SubscribeHandSubsystem() + { + if (m_Subsystem == null) + return; + + m_Subsystem.trackingAcquired += OnTrackingAcquired; + m_Subsystem.trackingLost += OnTrackingLost; + m_Subsystem.updatedHands += OnUpdatedHands; + } + + void UnsubscribeHandSubsystem() + { + if (m_Subsystem == null) + return; + + m_Subsystem.trackingAcquired -= OnTrackingAcquired; + m_Subsystem.trackingLost -= OnTrackingLost; + m_Subsystem.updatedHands -= OnUpdatedHands; + } + + void UpdateRenderingVisibility(HandGameObjects handGameObjects, bool isTracked) + { + if (handGameObjects == null) + return; + + handGameObjects.ToggleDrawMesh(m_DrawMeshes); + handGameObjects.ToggleDebugDrawJoints(m_DebugDrawJoints && isTracked); + handGameObjects.SetVelocityType(isTracked ? m_VelocityType : VelocityType.None); + } + + void OnTrackingAcquired(XRHand hand) + { + switch (hand.handedness) + { + case Handedness.Left: + UpdateRenderingVisibility(m_LeftHandGameObjects, true); + break; + + case Handedness.Right: + UpdateRenderingVisibility(m_RightHandGameObjects, true); + break; + } + } + + void OnTrackingLost(XRHand hand) + { + switch (hand.handedness) + { + case Handedness.Left: + UpdateRenderingVisibility(m_LeftHandGameObjects, false); + break; + + case Handedness.Right: + UpdateRenderingVisibility(m_RightHandGameObjects, false); + break; + } + } + + void OnUpdatedHands(XRHandSubsystem subsystem, XRHandSubsystem.UpdateSuccessFlags updateSuccessFlags, XRHandSubsystem.UpdateType updateType) + { + // We have no game logic depending on the Transforms, so early out here + // (add game logic before this return here, directly querying from + // subsystem.leftHand and subsystem.rightHand using GetJoint on each hand) + if (updateType == XRHandSubsystem.UpdateType.Dynamic) + return; + + bool leftHandTracked = subsystem.leftHand.isTracked; + bool rightHandTracked = subsystem.rightHand.isTracked; + + if (m_PreviousDrawMeshes != m_DrawMeshes) + { + m_LeftHandGameObjects.ToggleDrawMesh(m_DrawMeshes); + m_RightHandGameObjects.ToggleDrawMesh(m_DrawMeshes); + m_PreviousDrawMeshes = m_DrawMeshes; + } + + if (m_PreviousDebugDrawJoints != m_DebugDrawJoints) + { + m_LeftHandGameObjects.ToggleDebugDrawJoints(m_DebugDrawJoints && leftHandTracked); + m_RightHandGameObjects.ToggleDebugDrawJoints(m_DebugDrawJoints && rightHandTracked); + m_PreviousDebugDrawJoints = m_DebugDrawJoints; + } + + if (m_PreviousVelocityType != m_VelocityType) + { + m_LeftHandGameObjects.SetVelocityType(leftHandTracked ? m_VelocityType : VelocityType.None); + m_RightHandGameObjects.SetVelocityType(rightHandTracked ? m_VelocityType : VelocityType.None); + m_PreviousVelocityType = m_VelocityType; + } + + m_LeftHandGameObjects.UpdateJoints( + subsystem.leftHand, + (updateSuccessFlags & XRHandSubsystem.UpdateSuccessFlags.LeftHandJoints) != 0, + m_DebugDrawJoints, + m_VelocityType); + + m_RightHandGameObjects.UpdateJoints( + subsystem.rightHand, + (updateSuccessFlags & XRHandSubsystem.UpdateSuccessFlags.RightHandJoints) != 0, + m_DebugDrawJoints, + m_VelocityType); + } + + class HandGameObjects + { + GameObject m_HandRoot; + GameObject m_DrawJointsParent; + + GameObject[] m_DrawJoints = new GameObject[XRHandJointID.EndMarker.ToIndex()]; + GameObject[] m_VelocityParents = new GameObject[XRHandJointID.EndMarker.ToIndex()]; + LineRenderer[] m_Lines = new LineRenderer[XRHandJointID.EndMarker.ToIndex()]; + JointVisualizer[] m_JointVisualizers = new JointVisualizer[XRHandJointID.EndMarker.ToIndex()]; + + static Vector3[] s_LinePointsReuse = new Vector3[2]; + XRHandMeshController m_MeshController; + const float k_LineWidth = 0.005f; + + public HandGameObjects( + Handedness handedness, + Transform parent, + GameObject meshPrefab, + Material meshMaterial, + GameObject debugDrawPrefab, + GameObject velocityPrefab) + { + void AssignJoint( + XRHandJointID jointId, + Transform jointDrivenTransform, + Transform drawJointsParent) + { + var jointIndex = jointId.ToIndex(); + m_DrawJoints[jointIndex] = Instantiate(debugDrawPrefab); + m_DrawJoints[jointIndex].transform.parent = drawJointsParent; + m_DrawJoints[jointIndex].name = jointId.ToString(); + + m_VelocityParents[jointIndex] = Instantiate(velocityPrefab); + m_VelocityParents[jointIndex].transform.parent = jointDrivenTransform; + + m_Lines[jointIndex] = m_DrawJoints[jointIndex].GetComponent<LineRenderer>(); + m_Lines[jointIndex].startWidth = m_Lines[jointIndex].endWidth = k_LineWidth; + s_LinePointsReuse[0] = s_LinePointsReuse[1] = jointDrivenTransform.position; + m_Lines[jointIndex].SetPositions(s_LinePointsReuse); + + if (m_DrawJoints[jointIndex].TryGetComponent<JointVisualizer>(out var jointVisualizer)) + m_JointVisualizers[jointIndex] = jointVisualizer; + } + + var isSceneObject = meshPrefab.scene.IsValid(); + m_HandRoot = isSceneObject ? meshPrefab : Instantiate(meshPrefab, parent); + m_HandRoot.SetActive(false); // Deactivate so that added components do not run OnEnable before they are finished being set up + + m_HandRoot.transform.localPosition = Vector3.zero; + m_HandRoot.transform.localRotation = Quaternion.identity; + + var handEvents = m_HandRoot.GetComponent<XRHandTrackingEvents>(); + if (handEvents == null) + { + handEvents = m_HandRoot.AddComponent<XRHandTrackingEvents>(); + handEvents.updateType = XRHandTrackingEvents.UpdateTypes.Dynamic; + handEvents.handedness = handedness; + } + + m_MeshController = m_HandRoot.GetComponent<XRHandMeshController>(); + if (m_MeshController == null) + { + m_MeshController = m_HandRoot.AddComponent<XRHandMeshController>(); + for (var childIndex = 0; childIndex < m_HandRoot.transform.childCount; ++childIndex) + { + var childTransform = m_HandRoot.transform.GetChild(childIndex); + if (childTransform.TryGetComponent<SkinnedMeshRenderer>(out var renderer)) + m_MeshController.handMeshRenderer = renderer; + } + + m_MeshController.handTrackingEvents = handEvents; + } + + if (meshMaterial != null) + { + m_MeshController.handMeshRenderer.sharedMaterial = meshMaterial; + } + + var skeletonDriver = m_HandRoot.GetComponent<XRHandSkeletonDriver>(); + if (skeletonDriver == null) + { + skeletonDriver = m_HandRoot.AddComponent<XRHandSkeletonDriver>(); + skeletonDriver.jointTransformReferences = new List<JointToTransformReference>(); + Transform root = null; + for (var childIndex = 0; childIndex < m_HandRoot.transform.childCount; ++childIndex) + { + var child = m_HandRoot.transform.GetChild(childIndex); + if (child.gameObject.name.EndsWith(XRHandJointID.Wrist.ToString())) + root = child; + } + + skeletonDriver.rootTransform = root; + XRHandSkeletonDriverUtility.FindJointsFromRoot(skeletonDriver); + skeletonDriver.InitializeFromSerializedReferences(); + skeletonDriver.handTrackingEvents = handEvents; + } + + m_DrawJointsParent = new GameObject(); + m_DrawJointsParent.transform.parent = parent; + m_DrawJointsParent.transform.localPosition = Vector3.zero; + m_DrawJointsParent.transform.localRotation = Quaternion.identity; + m_DrawJointsParent.name = handedness + "HandDebugDrawJoints"; + + for (var i = 0; i < skeletonDriver.jointTransformReferences.Count; i++) + { + var jointTransformReference = skeletonDriver.jointTransformReferences[i]; + var jointTransform = jointTransformReference.jointTransform; + var jointID = jointTransformReference.xrHandJointID; + AssignJoint(jointID, jointTransform, m_DrawJointsParent.transform); + } + + m_HandRoot.SetActive(true); + } + + public void OnDestroy() + { + Destroy(m_HandRoot); + m_HandRoot = null; + + for (var jointIndex = 0; jointIndex < m_DrawJoints.Length; ++jointIndex) + { + Destroy(m_DrawJoints[jointIndex]); + m_DrawJoints[jointIndex] = null; + } + + for (var jointIndex = 0; jointIndex < m_VelocityParents.Length; ++jointIndex) + { + Destroy(m_VelocityParents[jointIndex]); + m_VelocityParents[jointIndex] = null; + } + + Destroy(m_DrawJointsParent); + m_DrawJointsParent = null; + } + + public void ToggleDrawMesh(bool drawMesh) + { + m_MeshController.enabled = drawMesh; + if (!drawMesh) + m_MeshController.handMeshRenderer.enabled = false; + } + + public void ToggleDebugDrawJoints(bool debugDrawJoints) + { + for (int jointIndex = 0; jointIndex < m_DrawJoints.Length; ++jointIndex) + { + ToggleRenderers<MeshRenderer>(debugDrawJoints, m_DrawJoints[jointIndex].transform); + m_Lines[jointIndex].enabled = debugDrawJoints; + } + + m_Lines[0].enabled = false; + } + + public void SetVelocityType(VelocityType velocityType) + { + for (int jointIndex = 0; jointIndex < m_VelocityParents.Length; ++jointIndex) + ToggleRenderers<LineRenderer>(velocityType != VelocityType.None, m_VelocityParents[jointIndex].transform); + } + + public void UpdateJoints( + XRHand hand, + bool areJointsTracked, + bool debugDrawJoints, + VelocityType velocityType) + { + if (!areJointsTracked) + return; + + var wristPose = Pose.identity; + var parentIndex = XRHandJointID.Wrist.ToIndex(); + UpdateJoint(debugDrawJoints, velocityType, hand.GetJoint(XRHandJointID.Wrist), ref wristPose, ref parentIndex); + UpdateJoint(debugDrawJoints, velocityType, hand.GetJoint(XRHandJointID.Palm), ref wristPose, ref parentIndex, false); + + for (var fingerIndex = (int)XRHandFingerID.Thumb; + fingerIndex <= (int)XRHandFingerID.Little; + ++fingerIndex) + { + var parentPose = wristPose; + var fingerId = (XRHandFingerID)fingerIndex; + parentIndex = XRHandJointID.Wrist.ToIndex(); + + var jointIndexBack = fingerId.GetBackJointID().ToIndex(); + for (var jointIndex = fingerId.GetFrontJointID().ToIndex(); + jointIndex <= jointIndexBack; + ++jointIndex) + { + UpdateJoint(debugDrawJoints, velocityType, hand.GetJoint(XRHandJointIDUtility.FromIndex(jointIndex)), ref parentPose, ref parentIndex); + } + } + } + + void UpdateJoint( + bool debugDrawJoints, + VelocityType velocityType, + XRHandJoint joint, + ref Pose parentPose, + ref int parentIndex, + bool cacheParentPose = true) + { + if (joint.id == XRHandJointID.Invalid) + return; + + var jointIndex = joint.id.ToIndex(); + m_JointVisualizers[jointIndex].NotifyTrackingState(joint.trackingState); + + if (!joint.TryGetPose(out var pose)) + return; + + m_DrawJoints[jointIndex].transform.localPosition = pose.position; + m_DrawJoints[jointIndex].transform.localRotation = pose.rotation; + + if (debugDrawJoints && joint.id != XRHandJointID.Wrist) + { + s_LinePointsReuse[0] = m_DrawJoints[parentIndex].transform.position; + s_LinePointsReuse[1] = m_DrawJoints[jointIndex].transform.position; + m_Lines[jointIndex].SetPositions(s_LinePointsReuse); + } + + if (cacheParentPose) + { + parentPose = pose; + parentIndex = jointIndex; + } + + if (velocityType != VelocityType.None && m_VelocityParents[jointIndex].TryGetComponent<LineRenderer>(out var renderer)) + { + m_VelocityParents[jointIndex].transform.localPosition = Vector3.zero; + m_VelocityParents[jointIndex].transform.localRotation = Quaternion.identity; + + s_LinePointsReuse[0] = s_LinePointsReuse[1] = m_VelocityParents[jointIndex].transform.position; + if (velocityType == VelocityType.Linear) + { + if (joint.TryGetLinearVelocity(out var velocity)) + s_LinePointsReuse[1] += velocity; + } + else if (velocityType == VelocityType.Angular) + { + if (joint.TryGetAngularVelocity(out var velocity)) + s_LinePointsReuse[1] += 0.05f * velocity.normalized; + } + + renderer.SetPositions(s_LinePointsReuse); + } + } + + static void ToggleRenderers<TRenderer>(bool toggle, Transform rendererTransform) + where TRenderer : Renderer + { + if (rendererTransform.TryGetComponent<TRenderer>(out var renderer)) + renderer.enabled = toggle; + + for (var childIndex = 0; childIndex < rendererTransform.childCount; ++childIndex) + ToggleRenderers<TRenderer>(toggle, rendererTransform.GetChild(childIndex)); + } + } + } +} diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandVisualizer.cs.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandVisualizer.cs.meta new file mode 100644 index 0000000..65ca33e --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/HandVisualizer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2e9813c68d7d6f44282ace8bd2d1fd46 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/JointVisualizer.cs b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/JointVisualizer.cs new file mode 100644 index 0000000..d8b67e9 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/JointVisualizer.cs @@ -0,0 +1,38 @@ +using UnityEngine; +using UnityEngine.XR.Hands.Processing; + +namespace UnityEngine.XR.Hands.Samples.VisualizerSample +{ + public class JointVisualizer : MonoBehaviour + { + [SerializeField] + GameObject m_JointVisual; + + [SerializeField] + Material m_HighFidelityJointMaterial; + + [SerializeField] + Material m_LowFidelityJointMaterial; + + bool m_HighFidelityJoint; + + Renderer m_JointRenderer; + + public void NotifyTrackingState(XRHandJointTrackingState jointTrackingState) + { + bool highFidelityJoint = (jointTrackingState & XRHandJointTrackingState.HighFidelityPose) == XRHandJointTrackingState.HighFidelityPose; + if (m_HighFidelityJoint == highFidelityJoint) + return; + + m_JointRenderer.material = highFidelityJoint ? m_HighFidelityJointMaterial : m_LowFidelityJointMaterial; + + m_HighFidelityJoint = highFidelityJoint; + } + + void Start() + { + if (m_JointVisual.TryGetComponent<Renderer>(out var jointRenderer)) + m_JointRenderer = jointRenderer; + } + } +} diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/JointVisualizer.cs.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/JointVisualizer.cs.meta new file mode 100644 index 0000000..9f1035d --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/JointVisualizer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6e1c395ff62a3a14dbeb293298bb46bf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/MaterialPipelineHandler.cs b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/MaterialPipelineHandler.cs new file mode 100644 index 0000000..c673fa9 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/MaterialPipelineHandler.cs @@ -0,0 +1,242 @@ +using UnityEngine.Rendering; +using System.Collections.Generic; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace UnityEngine.XR.Hands.Samples.VisualizerSample +{ +#if UNITY_EDITOR + [InitializeOnLoad] + static class RenderPipelineValidation + { + static RenderPipelineValidation() + { + foreach (var pipelineHandler in GetAllInstances()) + pipelineHandler.AutoRefreshPipelineShaders(); + } + + static List<MaterialPipelineHandler> GetAllInstances() + { + var instances = new List<MaterialPipelineHandler>(); + + // Find all GUIDs for objects that match the type MaterialPipelineHandler + var guids = AssetDatabase.FindAssets("t:MaterialPipelineHandler"); + for (int i = 0; i < guids.Length; i++) + { + string path = AssetDatabase.GUIDToAssetPath(guids[i]); + var asset = AssetDatabase.LoadAssetAtPath<MaterialPipelineHandler>(path); + if (asset != null) + instances.Add(asset); + } + + return instances; + } + } +#endif + + /// <summary> + /// Serializable class that contains the shader information for a material. + /// </summary> + [System.Serializable] + public class ShaderContainer + { + public Material material; + public bool useSRPShaderName = true; + public string scriptableRenderPipelineShaderName = "Universal Render Pipeline/Lit"; + public Shader scriptableRenderPipelineShader; + public bool useBuiltinShaderName = true; + public string builtInPipelineShaderName = "Standard"; + public Shader builtInPipelineShader; + } + + /// <summary> + /// Scriptable object that allows for setting the shader on a material based on the current render pipeline. + /// Will run automatically OnEnable in the editor to set the shaders on project bootup. Can be refreshed manually with editor button. + /// This exists because while objects render correctly using shadergraph shaders, others do not and using the standard shader resolves various rendering issues. + /// </summary> + [CreateAssetMenu(fileName = "MaterialPipelineHandler", menuName = "XR/MaterialPipelineHandler", order = 0)] + public class MaterialPipelineHandler : ScriptableObject + { + [SerializeField] + [Tooltip("List of materials and their associated shaders.")] + List<ShaderContainer> m_ShaderContainers; + + [SerializeField] + [Tooltip("If true, the shaders will be refreshed automatically when the editor opens and when this scriptable object instance is enabled.")] + bool m_AutoRefreshShaders = true; + +#if UNITY_EDITOR + void OnEnable() + { + if (Application.isPlaying) + return; + AutoRefreshPipelineShaders(); + } +#endif + + public void AutoRefreshPipelineShaders() + { + if (m_AutoRefreshShaders) + SetPipelineShaders(); + } + + /// <summary> + /// Applies the appropriate shader to the materials based on the current render pipeline. + /// </summary> + public void SetPipelineShaders() + { + if (m_ShaderContainers == null) + return; + + bool isBuiltinRenderPipeline = GraphicsSettings.currentRenderPipeline == null; + + foreach (var info in m_ShaderContainers) + { + if (info.material == null) + continue; + + // Find the appropriate shaders based on the toggle + Shader birpShader = info.useBuiltinShaderName ? Shader.Find(info.builtInPipelineShaderName) : info.builtInPipelineShader; + Shader srpShader = info.useSRPShaderName ? Shader.Find(info.scriptableRenderPipelineShaderName) : info.scriptableRenderPipelineShader; + + // Determine current shader for comparison + Shader currentShader = info.material.shader; + + // Update shader for the current render pipeline only if necessary + if (isBuiltinRenderPipeline && birpShader != null && currentShader != birpShader) + { + info.material.shader = birpShader; + MarkMaterialModified(info.material); + } + else if (!isBuiltinRenderPipeline && srpShader != null && currentShader != srpShader) + { + info.material.shader = srpShader; + MarkMaterialModified(info.material); + } + } + } + + static void MarkMaterialModified(Material material) + { +#if UNITY_EDITOR + EditorUtility.SetDirty(material); +#endif + } + } + +#if UNITY_EDITOR + /// <summary> + /// Custom property drawer for the shader container class. + /// </summary> + [CustomPropertyDrawer(typeof(ShaderContainer))] + public class ShaderContainerDrawer : PropertyDrawer + { + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + EditorGUI.BeginProperty(position, label, property); + + float singleLineHeight = EditorGUIUtility.singleLineHeight; + float verticalSpacing = EditorGUIUtility.standardVerticalSpacing; + + SerializedProperty materialProp = property.FindPropertyRelative("material"); + SerializedProperty useSRPShaderNameProp = property.FindPropertyRelative("useSRPShaderName"); + SerializedProperty scriptableShaderNameProp = property.FindPropertyRelative("scriptableRenderPipelineShaderName"); + SerializedProperty scriptableShaderProp = property.FindPropertyRelative("scriptableRenderPipelineShader"); + SerializedProperty useShaderNameProp = property.FindPropertyRelative("useBuiltinShaderName"); + SerializedProperty builtInNameProp = property.FindPropertyRelative("builtInPipelineShaderName"); + SerializedProperty builtInShaderProp = property.FindPropertyRelative("builtInPipelineShader"); + + // Draw Material without the header. + position.height = singleLineHeight; + EditorGUI.PropertyField(position, materialProp); + position.y += singleLineHeight + verticalSpacing; + + // SRP Shader header and fields. + EditorGUI.LabelField(position, "Scriptable Render Pipeline Shader", EditorStyles.boldLabel); + position.y += EditorGUIUtility.singleLineHeight + verticalSpacing; + + EditorGUI.PropertyField(position, useSRPShaderNameProp); + position.y += singleLineHeight + verticalSpacing; + + if (useSRPShaderNameProp.boolValue) + { + EditorGUI.PropertyField(position, scriptableShaderNameProp); + position.y += singleLineHeight + verticalSpacing; + } + else + { + EditorGUI.PropertyField(position, scriptableShaderProp); + position.y += singleLineHeight + verticalSpacing; + } + + // Built-in Shader header and fields. + EditorGUI.LabelField(position, "Built-In Render Pipeline Shader", EditorStyles.boldLabel); + position.y += singleLineHeight + verticalSpacing; + + EditorGUI.PropertyField(position, useShaderNameProp); + position.y += singleLineHeight + verticalSpacing; + + if (useShaderNameProp.boolValue) + { + EditorGUI.PropertyField(position, builtInNameProp); + position.y += singleLineHeight + verticalSpacing; + } + else + { + EditorGUI.PropertyField(position, builtInShaderProp); + position.y += singleLineHeight + verticalSpacing; + } + + // Draw a separator line at the end. + position.y += verticalSpacing / 2; // Extra space for the line. + position.height = 1; + EditorGUI.DrawRect(new Rect(position.x, position.y, position.width, 1), Color.gray); + + EditorGUI.EndProperty(); + } + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + const int baseFieldCount = 4; // The Material field, the two toggles, and one for an optional field. + int extraLineCount = property.FindPropertyRelative("useBuiltinShaderName").boolValue ? 0 : 1; + extraLineCount += property.FindPropertyRelative("useSRPShaderName").boolValue ? 0 : 1; + + float singleLineHeight = EditorGUIUtility.singleLineHeight; + float verticalSpacing = EditorGUIUtility.standardVerticalSpacing; + float headerHeight = EditorGUIUtility.singleLineHeight; // No longer need extra height for headers. + + // Calculate height for fields and headers + float fieldsHeight = baseFieldCount * singleLineHeight + (baseFieldCount - 1 + extraLineCount) * verticalSpacing; + + // Allow space for header, separator line, and a bit of padding before the line. + float headersHeight = 2 * (headerHeight + verticalSpacing); + float separatorSpace = verticalSpacing / 2 + 1; // Additional vertical spacing and line height. + + return fieldsHeight + headersHeight + separatorSpace + singleLineHeight * 1.5f; + } + } + + /// <summary> + /// Custom editor MaterialPipelineHandler + /// </summary> + [CustomEditor(typeof(MaterialPipelineHandler)), CanEditMultipleObjects] + public class MaterialPipelineHandlerEditor : Editor + { + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + // Draw the "Refresh Shaders" button + if (GUILayout.Button("Refresh Shaders")) + { + foreach (var t in targets) + { + var handler = (MaterialPipelineHandler)t; + handler.SetPipelineShaders(); + } + } + } + } +#endif +} diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/MaterialPipelineHandler.cs.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/MaterialPipelineHandler.cs.meta new file mode 100644 index 0000000..3117421 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Scripts/MaterialPipelineHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6772a216ed6f29c42abef904c7d6940d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Unity.XR.Hands.Samples.VisualizerSample.asmdef b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Unity.XR.Hands.Samples.VisualizerSample.asmdef new file mode 100644 index 0000000..a0cf316 --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Unity.XR.Hands.Samples.VisualizerSample.asmdef @@ -0,0 +1,18 @@ +{ + "name": "Unity.XR.Hands.Samples.VisualizerSample", + "rootNamespace": "", + "references": [ + "GUID:75469ad4d38634e559750d17036d5f7c", + "GUID:dc960734dc080426fa6612f1c5fe95f3", + "GUID:ce522b6ed64c8be4c989a1d26d0e3275" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +}
\ No newline at end of file diff --git a/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Unity.XR.Hands.Samples.VisualizerSample.asmdef.meta b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Unity.XR.Hands.Samples.VisualizerSample.asmdef.meta new file mode 100644 index 0000000..34e2aff --- /dev/null +++ b/Assets/Samples/XR Hands/1.6.0/HandVisualizer/Unity.XR.Hands.Samples.VisualizerSample.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 60e576d96416ac94182fe26f63acf9ff +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: |