현재
This commit is contained in:
Binary file not shown.
@@ -56,7 +56,7 @@ MonoBehaviour:
|
||||
x: 139
|
||||
y: -396
|
||||
width: 1843
|
||||
height: 1975
|
||||
height: 2086
|
||||
m_GraphElementMetaData:
|
||||
- m_Guid:
|
||||
m_Value0: 3953896658662454792
|
||||
@@ -260,6 +260,11 @@ MonoBehaviour:
|
||||
- Choice1Code
|
||||
- Choice2Text
|
||||
- Choice2Code
|
||||
- __option_HasHiddenBranch
|
||||
- __option_HiddenGestureKey
|
||||
- __option_HiddenCode
|
||||
- UseFixedAngle
|
||||
- FixedAngleY
|
||||
m_ValueList:
|
||||
- rid: 4848514453388656906
|
||||
- rid: 4848514453388656907
|
||||
@@ -285,6 +290,11 @@ MonoBehaviour:
|
||||
- rid: 8016363832598855965
|
||||
- rid: 8016363832598856026
|
||||
- rid: 8016363832598856027
|
||||
- rid: 8016363865578406431
|
||||
- rid: 8016363865578406432
|
||||
- rid: 8016363865578406433
|
||||
- rid: 8016363865578406479
|
||||
- rid: 8016363865578406480
|
||||
m_InputPortInfos:
|
||||
expandedPortsById:
|
||||
m_KeyList: []
|
||||
@@ -465,6 +475,11 @@ MonoBehaviour:
|
||||
- WaitForInput
|
||||
- Affection
|
||||
- Progress
|
||||
- __option_HasHiddenBranch
|
||||
- __option_HiddenGestureKey
|
||||
- __option_HiddenCode
|
||||
- UseFixedAngle
|
||||
- FixedAngleY
|
||||
m_ValueList:
|
||||
- rid: 8016363832598855968
|
||||
- rid: 8016363832598855969
|
||||
@@ -483,6 +498,11 @@ MonoBehaviour:
|
||||
- rid: 8016363832598855982
|
||||
- rid: 8016363832598855983
|
||||
- rid: 8016363832598855984
|
||||
- rid: 8016363865578406434
|
||||
- rid: 8016363865578406435
|
||||
- rid: 8016363865578406436
|
||||
- rid: 8016363865578406481
|
||||
- rid: 8016363865578406482
|
||||
m_InputPortInfos:
|
||||
expandedPortsById:
|
||||
m_KeyList: []
|
||||
@@ -639,6 +659,11 @@ MonoBehaviour:
|
||||
- WaitForInput
|
||||
- Affection
|
||||
- Progress
|
||||
- __option_HasHiddenBranch
|
||||
- __option_HiddenGestureKey
|
||||
- __option_HiddenCode
|
||||
- UseFixedAngle
|
||||
- FixedAngleY
|
||||
m_ValueList:
|
||||
- rid: 8016363832598855988
|
||||
- rid: 8016363832598855989
|
||||
@@ -657,6 +682,11 @@ MonoBehaviour:
|
||||
- rid: 8016363832598856002
|
||||
- rid: 8016363832598856003
|
||||
- rid: 8016363832598856004
|
||||
- rid: 8016363865578406437
|
||||
- rid: 8016363865578406438
|
||||
- rid: 8016363865578406439
|
||||
- rid: 8016363865578406483
|
||||
- rid: 8016363865578406484
|
||||
m_InputPortInfos:
|
||||
expandedPortsById:
|
||||
m_KeyList: []
|
||||
@@ -813,6 +843,11 @@ MonoBehaviour:
|
||||
- WaitForInput
|
||||
- Affection
|
||||
- Progress
|
||||
- __option_HasHiddenBranch
|
||||
- __option_HiddenGestureKey
|
||||
- __option_HiddenCode
|
||||
- UseFixedAngle
|
||||
- FixedAngleY
|
||||
m_ValueList:
|
||||
- rid: 8016363832598856008
|
||||
- rid: 8016363832598856009
|
||||
@@ -831,6 +866,11 @@ MonoBehaviour:
|
||||
- rid: 8016363832598856022
|
||||
- rid: 8016363832598856023
|
||||
- rid: 8016363832598856024
|
||||
- rid: 8016363865578406440
|
||||
- rid: 8016363865578406441
|
||||
- rid: 8016363865578406442
|
||||
- rid: 8016363865578406485
|
||||
- rid: 8016363865578406486
|
||||
m_InputPortInfos:
|
||||
expandedPortsById:
|
||||
m_KeyList: []
|
||||
@@ -996,6 +1036,11 @@ MonoBehaviour:
|
||||
- WaitForInput
|
||||
- Affection
|
||||
- Progress
|
||||
- __option_HasHiddenBranch
|
||||
- __option_HiddenGestureKey
|
||||
- __option_HiddenCode
|
||||
- UseFixedAngle
|
||||
- FixedAngleY
|
||||
m_ValueList:
|
||||
- rid: 8016363832598856030
|
||||
- rid: 8016363832598856031
|
||||
@@ -1014,6 +1059,11 @@ MonoBehaviour:
|
||||
- rid: 8016363832598856044
|
||||
- rid: 8016363832598856045
|
||||
- rid: 8016363832598856046
|
||||
- rid: 8016363865578406443
|
||||
- rid: 8016363865578406444
|
||||
- rid: 8016363865578406445
|
||||
- rid: 8016363865578406487
|
||||
- rid: 8016363865578406488
|
||||
m_InputPortInfos:
|
||||
expandedPortsById:
|
||||
m_KeyList: []
|
||||
@@ -1138,6 +1188,11 @@ MonoBehaviour:
|
||||
- WaitForInput
|
||||
- Affection
|
||||
- Progress
|
||||
- __option_HasHiddenBranch
|
||||
- __option_HiddenGestureKey
|
||||
- __option_HiddenCode
|
||||
- UseFixedAngle
|
||||
- FixedAngleY
|
||||
m_ValueList:
|
||||
- rid: 8016363859357991072
|
||||
- rid: 8016363859357991073
|
||||
@@ -1156,6 +1211,11 @@ MonoBehaviour:
|
||||
- rid: 8016363859357991086
|
||||
- rid: 8016363859357991087
|
||||
- rid: 8016363859357991088
|
||||
- rid: 8016363865578406446
|
||||
- rid: 8016363865578406447
|
||||
- rid: 8016363865578406448
|
||||
- rid: 8016363865578406489
|
||||
- rid: 8016363865578406490
|
||||
m_InputPortInfos:
|
||||
expandedPortsById:
|
||||
m_KeyList: []
|
||||
@@ -1308,3 +1368,123 @@ MonoBehaviour:
|
||||
m_PortDirection: 1
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
- rid: 8016363865578406431
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406432
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406433
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406434
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406435
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406436
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406437
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406438
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406439
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406440
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406441
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406442
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406443
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406444
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406445
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406446
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406447
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406448
|
||||
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value:
|
||||
- rid: 8016363865578406479
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406480
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406481
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406482
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406483
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 1
|
||||
- rid: 8016363865578406484
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406485
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406486
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406487
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406488
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406489
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8016363865578406490
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
|
||||
data:
|
||||
m_Value: 0
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f700f5d9e372c94785bf583ebcfcca0
|
||||
guid: f5bb6bc142720604d917bab67223e7d1
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2338e4f6802bdb845a01bd8b4c3da77d
|
||||
guid: bec4576b1ba9ede4db6fba9bafc7a05a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/HandVisualizer.unity
LFS
Normal file
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/HandVisualizer.unity
LFS
Normal file
Binary file not shown.
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Materials/AxisMesh.asset
LFS
Normal file
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Materials/AxisMesh.asset
LFS
Normal file
Binary file not shown.
@@ -67,7 +67,7 @@ TextureImporter:
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@@ -80,7 +80,7 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@@ -93,7 +93,7 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@@ -106,7 +106,7 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
- serializedVersion: 3
|
||||
buildTarget: iOS
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@@ -119,24 +119,10 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: VisionOS
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
@@ -146,8 +132,6 @@ TextureImporter:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e22d037d5d9286644b4b81a8b91b5ee5
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -67,7 +67,7 @@ TextureImporter:
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@@ -80,7 +80,7 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@@ -93,7 +93,7 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@@ -106,7 +106,7 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
- serializedVersion: 3
|
||||
buildTarget: iOS
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
@@ -119,24 +119,10 @@ TextureImporter:
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: VisionOS
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
@@ -146,8 +132,6 @@ TextureImporter:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
@@ -16,6 +16,8 @@ ModelImporter:
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
@@ -16,6 +16,8 @@ ModelImporter:
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
@@ -16,6 +16,8 @@ ModelImporter:
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
@@ -16,6 +16,8 @@ ModelImporter:
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c8146e7694b9541089b8dbaa8a7d59d9
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Prefabs/Joint.prefab
LFS
Normal file
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Prefabs/Joint.prefab
LFS
Normal file
Binary file not shown.
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Prefabs/Left Hand Tracking.prefab
LFS
Normal file
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Prefabs/Left Hand Tracking.prefab
LFS
Normal file
Binary file not shown.
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Prefabs/Right Hand Tracking.prefab
LFS
Normal file
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Prefabs/Right Hand Tracking.prefab
LFS
Normal file
Binary file not shown.
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Prefabs/VelocityPrefab.prefab
LFS
Normal file
BIN
Assets/Samples/XR Hands/1.8.0/HandVisualizer/Prefabs/VelocityPrefab.prefab
LFS
Normal file
Binary file not shown.
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
@@ -114,9 +115,18 @@ public VelocityType velocityType
|
||||
}
|
||||
|
||||
XRHandSubsystem m_Subsystem;
|
||||
public XRHandSubsystem subsystem
|
||||
{
|
||||
get => m_Subsystem;
|
||||
}
|
||||
|
||||
HandGameObjects m_LeftHandGameObjects;
|
||||
HandGameObjects m_RightHandGameObjects;
|
||||
|
||||
public Action<XRHandSubsystem> subsystemSubscribed;
|
||||
public Action<XRHandSubsystem> subsystemUnsubscribed;
|
||||
XRHandSubsystem.UpdateSuccessFlags m_CombinedSuccessFlags;
|
||||
|
||||
static readonly List<XRHandSubsystem> s_SubsystemsReuse = new List<XRHandSubsystem>();
|
||||
|
||||
/// <summary>
|
||||
@@ -254,6 +264,9 @@ void SubscribeHandSubsystem()
|
||||
m_Subsystem.trackingAcquired += OnTrackingAcquired;
|
||||
m_Subsystem.trackingLost += OnTrackingLost;
|
||||
m_Subsystem.updatedHands += OnUpdatedHands;
|
||||
|
||||
if (subsystemSubscribed != null)
|
||||
subsystemSubscribed.Invoke(m_Subsystem);
|
||||
}
|
||||
|
||||
void UnsubscribeHandSubsystem()
|
||||
@@ -261,6 +274,9 @@ void UnsubscribeHandSubsystem()
|
||||
if (m_Subsystem == null)
|
||||
return;
|
||||
|
||||
if (subsystemUnsubscribed != null)
|
||||
subsystemUnsubscribed.Invoke(m_Subsystem);
|
||||
|
||||
m_Subsystem.trackingAcquired -= OnTrackingAcquired;
|
||||
m_Subsystem.trackingLost -= OnTrackingLost;
|
||||
m_Subsystem.updatedHands -= OnUpdatedHands;
|
||||
@@ -309,6 +325,7 @@ void OnUpdatedHands(XRHandSubsystem subsystem, XRHandSubsystem.UpdateSuccessFlag
|
||||
// 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)
|
||||
m_CombinedSuccessFlags |= updateSuccessFlags;
|
||||
if (updateType == XRHandSubsystem.UpdateType.Dynamic)
|
||||
return;
|
||||
|
||||
@@ -338,15 +355,19 @@ void OnUpdatedHands(XRHandSubsystem subsystem, XRHandSubsystem.UpdateSuccessFlag
|
||||
|
||||
m_LeftHandGameObjects.UpdateJoints(
|
||||
subsystem.leftHand,
|
||||
(updateSuccessFlags & XRHandSubsystem.UpdateSuccessFlags.LeftHandJoints) != 0,
|
||||
(m_CombinedSuccessFlags & XRHandSubsystem.UpdateSuccessFlags.LeftHandJoints) != 0,
|
||||
m_DebugDrawJoints,
|
||||
m_VelocityType);
|
||||
|
||||
m_RightHandGameObjects.UpdateJoints(
|
||||
subsystem.rightHand,
|
||||
(updateSuccessFlags & XRHandSubsystem.UpdateSuccessFlags.RightHandJoints) != 0,
|
||||
(m_CombinedSuccessFlags & XRHandSubsystem.UpdateSuccessFlags.RightHandJoints) != 0,
|
||||
m_DebugDrawJoints,
|
||||
m_VelocityType);
|
||||
|
||||
// Reset the combined flags after the BeforeRender phase
|
||||
if (updateType == XRHandSubsystem.UpdateType.BeforeRender)
|
||||
m_CombinedSuccessFlags = XRHandSubsystem.UpdateSuccessFlags.None;
|
||||
}
|
||||
|
||||
class HandGameObjects
|
||||
@@ -1,5 +1,6 @@
|
||||
using UnityEngine.Rendering;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
#endif
|
||||
@@ -10,16 +11,23 @@ namespace UnityEngine.XR.Hands.Samples.VisualizerSample
|
||||
[InitializeOnLoad]
|
||||
static class RenderPipelineValidation
|
||||
{
|
||||
/// <summary>
|
||||
/// Manually refreshes all Material Pipeline Handler scriptable objects.
|
||||
/// </summary>
|
||||
static void RefreshMaterialPipelineHandlers()
|
||||
{
|
||||
foreach (var pipelineHandler in GetAllInstances())
|
||||
{
|
||||
pipelineHandler.AutoRefreshPipelineShaders();
|
||||
}
|
||||
}
|
||||
|
||||
static RenderPipelineValidation()
|
||||
{
|
||||
// Use delayCall to ensure this runs after the editor is fully initialized and all assets are imported.
|
||||
// Without delayCall, this script may execute before new assets (such as newly imported samples)
|
||||
// are registered in the AssetDatabase, so they won't be found or converted.
|
||||
EditorApplication.delayCall += () =>
|
||||
{
|
||||
foreach (var pipelineHandler in GetAllInstances())
|
||||
pipelineHandler.AutoRefreshPipelineShaders();
|
||||
};
|
||||
EditorApplication.delayCall += () => RefreshMaterialPipelineHandlers();
|
||||
}
|
||||
|
||||
static List<MaterialPipelineHandler> GetAllInstances()
|
||||
@@ -72,6 +80,8 @@ public class MaterialPipelineHandler : ScriptableObject
|
||||
[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;
|
||||
|
||||
bool m_SaveAssetsPending;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
void OnEnable()
|
||||
{
|
||||
@@ -92,12 +102,16 @@ public void AutoRefreshPipelineShaders()
|
||||
/// </summary>
|
||||
public void SetPipelineShaders()
|
||||
{
|
||||
// Already updated materials, waiting on the save to finish.
|
||||
if (m_SaveAssetsPending)
|
||||
return;
|
||||
|
||||
if (m_ShaderContainers == null)
|
||||
return;
|
||||
|
||||
bool isBuiltinRenderPipeline = GraphicsSettings.currentRenderPipeline == null;
|
||||
|
||||
bool isModified = false;
|
||||
int modifiedCount = 0;
|
||||
|
||||
foreach (var info in m_ShaderContainers)
|
||||
{
|
||||
@@ -123,6 +137,7 @@ public void SetPipelineShaders()
|
||||
info.material.SetColor("_Color", originalColor);
|
||||
MarkMaterialModified(info.material);
|
||||
isModified = true;
|
||||
modifiedCount++;
|
||||
}
|
||||
else if (!isBuiltinRenderPipeline && srpShader != null && currentShader != srpShader)
|
||||
{
|
||||
@@ -130,19 +145,34 @@ public void SetPipelineShaders()
|
||||
info.material.SetColor("_BaseColor", originalColor);
|
||||
MarkMaterialModified(info.material);
|
||||
isModified = true;
|
||||
modifiedCount++;
|
||||
}
|
||||
}
|
||||
|
||||
if (isModified)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
// This ensures the material changes are saved immediately,
|
||||
Debug.Log($"Material Pipeline Handlers have updated {modifiedCount} material asset(s).", this);
|
||||
|
||||
// Invoking `AssetDatabase.SaveAssets` ensures the material changes are saved immediately,
|
||||
// otherwise they won't be saved until the next domain reload.
|
||||
AssetDatabase.SaveAssets();
|
||||
// Calls to AssetDatabase.SaveAssets are restricted during asset importing,
|
||||
// so schedule it for the next Editor frame.
|
||||
m_SaveAssetsPending = true;
|
||||
EditorApplication.delayCall -= OnDelayCall;
|
||||
EditorApplication.delayCall += OnDelayCall;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
void OnDelayCall()
|
||||
{
|
||||
m_SaveAssetsPending = false;
|
||||
AssetDatabase.SaveAssets();
|
||||
}
|
||||
#endif
|
||||
|
||||
static void MarkMaterialModified(Material material)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
Binary file not shown.
Reference in New Issue
Block a user