更新S2交互
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af75f19d3679faf4e863522a9b494796
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 740f51a1ac4b42088297287229057627, type: 3}
|
||||
m_Name: Fist Bump
|
||||
m_EditorClassIdentifier:
|
||||
m_HandShape: {fileID: 11400000, guid: 60daa8e83ed1163488562d11f4d9e5be, type: 2}
|
||||
m_RelativeOrientation:
|
||||
m_UserConditions:
|
||||
- m_HandAxis: 2
|
||||
m_AlignmentCondition: 1
|
||||
m_ReferenceDirection: 0
|
||||
m_AngleTolerance: 60
|
||||
m_IgnorePositionY: 0
|
||||
m_TargetConditions: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b21a490579f14243ac2c65d702d0621
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 740f51a1ac4b42088297287229057627, type: 3}
|
||||
m_Name: Grab
|
||||
m_EditorClassIdentifier:
|
||||
m_HandShape: {fileID: 11400000, guid: 1b87b102d6f63a7458a7c10e6951b6cb, type: 2}
|
||||
m_RelativeOrientation:
|
||||
m_UserConditions:
|
||||
- m_HandAxis: 2
|
||||
m_AlignmentCondition: 1
|
||||
m_ReferenceDirection: 0
|
||||
m_AngleTolerance: 60
|
||||
m_IgnorePositionY: 0
|
||||
m_TargetConditions: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 201e5d377563ef14ba2af87226046e90
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 740f51a1ac4b42088297287229057627, type: 3}
|
||||
m_Name: Open Palm Up
|
||||
m_EditorClassIdentifier:
|
||||
m_HandShape: {fileID: 11400000, guid: f8cb17f8ab5fc8c4083750c7e3a19f97, type: 2}
|
||||
m_RelativeOrientation:
|
||||
m_UserConditions:
|
||||
- m_HandAxis: 0
|
||||
m_AlignmentCondition: 0
|
||||
m_ReferenceDirection: 0
|
||||
m_AngleTolerance: 60
|
||||
m_IgnorePositionY: 0
|
||||
m_TargetConditions: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e7b5bfc4e711f9049b4ad03ade500a21
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 740f51a1ac4b42088297287229057627, type: 3}
|
||||
m_Name: Point At
|
||||
m_EditorClassIdentifier:
|
||||
m_HandShape: {fileID: 11400000, guid: 19f67bcc69361634a82c70dcaa26700b, type: 2}
|
||||
m_RelativeOrientation:
|
||||
m_UserConditions: []
|
||||
m_TargetConditions:
|
||||
- m_HandAxis: 2
|
||||
m_AlignmentCondition: 0
|
||||
m_ReferenceDirection: 0
|
||||
m_AngleTolerance: 30
|
||||
m_IgnorePositionY: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8ecb1b2f675de454c8d5a427d3311887
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 740f51a1ac4b42088297287229057627, type: 3}
|
||||
m_Name: Shaka
|
||||
m_EditorClassIdentifier:
|
||||
m_HandShape: {fileID: 11400000, guid: b1b759cfdab277e42805ae0212c3c9ad, type: 2}
|
||||
m_RelativeOrientation:
|
||||
m_UserConditions:
|
||||
- m_HandAxis: 0
|
||||
m_AlignmentCondition: 0
|
||||
m_ReferenceDirection: 1
|
||||
m_AngleTolerance: 60
|
||||
m_IgnorePositionY: 0
|
||||
m_TargetConditions: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a3a0d45621f98a4daebb7304139c969
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 740f51a1ac4b42088297287229057627, type: 3}
|
||||
m_Name: Thumbs Down
|
||||
m_EditorClassIdentifier:
|
||||
m_HandShape: {fileID: 11400000, guid: e863a2a22d6dda740bd9ee2298b3afd5, type: 2}
|
||||
m_RelativeOrientation:
|
||||
m_UserConditions:
|
||||
- m_HandAxis: 1
|
||||
m_AlignmentCondition: 2
|
||||
m_ReferenceDirection: 0
|
||||
m_AngleTolerance: 60
|
||||
m_IgnorePositionY: 0
|
||||
m_TargetConditions: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c3992a46bbdfb1c4d9446ec269f778bd
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 740f51a1ac4b42088297287229057627, type: 3}
|
||||
m_Name: Thumbs Up
|
||||
m_EditorClassIdentifier:
|
||||
m_HandShape: {fileID: 11400000, guid: e863a2a22d6dda740bd9ee2298b3afd5, type: 2}
|
||||
m_RelativeOrientation:
|
||||
m_UserConditions:
|
||||
- m_HandAxis: 1
|
||||
m_AlignmentCondition: 0
|
||||
m_ReferenceDirection: 0
|
||||
m_AngleTolerance: 60
|
||||
m_IgnorePositionY: 0
|
||||
m_TargetConditions: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7fdd2afa44a436446bdb55fa7872a77d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c8e7a8585681b184fb3d6e25af65357b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,45 @@
|
||||
%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: d5fb3781030442f2bcc893f0dbffabc5, type: 3}
|
||||
m_Name: Fist Hand Shape
|
||||
m_EditorClassIdentifier:
|
||||
m_FingerShapeConditions:
|
||||
- m_FingerID: 1
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 2
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 3
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 4
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.25
|
||||
m_LowerTolerance: 0.25
|
||||
- m_FingerID: 0
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.375
|
||||
m_LowerTolerance: 0.375
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 60daa8e83ed1163488562d11f4d9e5be
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,45 @@
|
||||
%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: d5fb3781030442f2bcc893f0dbffabc5, type: 3}
|
||||
m_Name: Grab Hand Shape
|
||||
m_EditorClassIdentifier:
|
||||
m_FingerShapeConditions:
|
||||
- m_FingerID: 1
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0.5
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 2
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0.5
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 3
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0.5
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 4
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0.5
|
||||
m_UpperTolerance: 0.25
|
||||
m_LowerTolerance: 0.25
|
||||
- m_FingerID: 0
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0.5
|
||||
m_UpperTolerance: 0.375
|
||||
m_LowerTolerance: 0.375
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b87b102d6f63a7458a7c10e6951b6cb
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,45 @@
|
||||
%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: d5fb3781030442f2bcc893f0dbffabc5, type: 3}
|
||||
m_Name: Open Hand Shape
|
||||
m_EditorClassIdentifier:
|
||||
m_FingerShapeConditions:
|
||||
- m_FingerID: 1
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0
|
||||
m_UpperTolerance: 0.35
|
||||
m_LowerTolerance: 0.25
|
||||
- m_FingerID: 0
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0
|
||||
m_UpperTolerance: 0.4
|
||||
m_LowerTolerance: 0.4
|
||||
- m_FingerID: 2
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0
|
||||
m_UpperTolerance: 0.35
|
||||
m_LowerTolerance: 0.25
|
||||
- m_FingerID: 3
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0
|
||||
m_UpperTolerance: 0.35
|
||||
m_LowerTolerance: 0.25
|
||||
- m_FingerID: 4
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0
|
||||
m_UpperTolerance: 0.25
|
||||
m_LowerTolerance: 0.25
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f8cb17f8ab5fc8c4083750c7e3a19f97
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,33 @@
|
||||
%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: d5fb3781030442f2bcc893f0dbffabc5, type: 3}
|
||||
m_Name: Point Hand Shape
|
||||
m_EditorClassIdentifier:
|
||||
m_FingerShapeConditions:
|
||||
- m_FingerID: 1
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 2
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.25
|
||||
m_LowerTolerance: 0.25
|
||||
- m_FingerID: 4
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.25
|
||||
m_LowerTolerance: 0.25
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 19f67bcc69361634a82c70dcaa26700b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,45 @@
|
||||
%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: d5fb3781030442f2bcc893f0dbffabc5, type: 3}
|
||||
m_Name: Shaka Hand Shape
|
||||
m_EditorClassIdentifier:
|
||||
m_FingerShapeConditions:
|
||||
- m_FingerID: 0
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0
|
||||
m_UpperTolerance: 0.3
|
||||
m_LowerTolerance: 0.2
|
||||
- m_FingerID: 1
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.25
|
||||
m_LowerTolerance: 0.3
|
||||
- m_FingerID: 2
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.2
|
||||
m_LowerTolerance: 0.3
|
||||
- m_FingerID: 3
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.2
|
||||
m_LowerTolerance: 0.4
|
||||
- m_FingerID: 4
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0
|
||||
m_UpperTolerance: 0.4
|
||||
m_LowerTolerance: 0.3
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b1b759cfdab277e42805ae0212c3c9ad
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,49 @@
|
||||
%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: d5fb3781030442f2bcc893f0dbffabc5, type: 3}
|
||||
m_Name: Thumb Signal Hand Shape
|
||||
m_EditorClassIdentifier:
|
||||
m_FingerShapeConditions:
|
||||
- m_FingerID: 0
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 0
|
||||
m_UpperTolerance: 0.25
|
||||
m_LowerTolerance: 0.25
|
||||
- m_ShapeType: 4
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.3
|
||||
m_LowerTolerance: 0.45
|
||||
- m_FingerID: 1
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 2
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 3
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
- m_FingerID: 4
|
||||
m_Targets:
|
||||
- m_ShapeType: 0
|
||||
m_Desired: 1
|
||||
m_UpperTolerance: 0.15
|
||||
m_LowerTolerance: 0.15
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e863a2a22d6dda740bd9ee2298b3afd5
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 010d15186773f8648a234b32a9bd5d80
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 12e7c6e2a052ca344a4b1b5616e1597c
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e3ee4ae600696e40ad82498994cf7d1
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,377 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &2319095610764871500
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2181607952993184513}
|
||||
- component: {fileID: 4435408798641879191}
|
||||
- component: {fileID: 6871347918481038607}
|
||||
m_Layer: 0
|
||||
m_Name: Indicator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2181607952993184513
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2319095610764871500}
|
||||
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: 3662803955522979439}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -4, y: -4}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4435408798641879191
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2319095610764871500}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6871347918481038607
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2319095610764871500}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0.627451, b: 1, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &4117751816822153035
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1602988461934174155}
|
||||
- component: {fileID: 5520537601663164524}
|
||||
- component: {fileID: 9052970309832165488}
|
||||
m_Layer: 0
|
||||
m_Name: Label
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1602988461934174155
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4117751816822153035}
|
||||
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: 3662803955522979439}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -8, y: -8}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &5520537601663164524
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4117751816822153035}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &9052970309832165488
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4117751816822153035}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Gesture Detected
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 10
|
||||
m_fontSizeBase: 10
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &4828996058944263158
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3662803955522979439}
|
||||
- component: {fileID: 7593680076342196466}
|
||||
- component: {fileID: 8480597535480702689}
|
||||
m_Layer: 0
|
||||
m_Name: Gesture Detector
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3662803955522979439
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4828996058944263158}
|
||||
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: 2181607952993184513}
|
||||
- {fileID: 1602988461934174155}
|
||||
m_Father: {fileID: 7876530574118629640}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -0, y: -0}
|
||||
m_SizeDelta: {x: 120, y: 20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7593680076342196466
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4828996058944263158}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &8480597535480702689
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4828996058944263158}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 0.7490196}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &7644492260154923005
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7876530574118629640}
|
||||
- component: {fileID: 7588585092044444718}
|
||||
m_Layer: 0
|
||||
m_Name: One Hand Static Gesture
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &7876530574118629640
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7644492260154923005}
|
||||
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: 3662803955522979439}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 168, y: 66}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &7588585092044444718
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7644492260154923005}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf93899325d5df74eb9176e097ee3d4f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HandTrackingEvents: {fileID: 0}
|
||||
m_HandShapeOrPose: {fileID: 0}
|
||||
m_TargetRelativeOrientation:
|
||||
m_HandOrientationConditions: []
|
||||
m_GesturePerformed:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 6871347918481038607}
|
||||
m_TargetAssemblyTypeName: UnityEngine.Behaviour, UnityEngine
|
||||
m_MethodName: set_enabled
|
||||
m_Mode: 6
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 1
|
||||
m_CallState: 2
|
||||
m_GestureEnded:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 6871347918481038607}
|
||||
m_TargetAssemblyTypeName: UnityEngine.Behaviour, UnityEngine
|
||||
m_MethodName: set_enabled
|
||||
m_Mode: 6
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
m_MinimumHoldTime: 0.2
|
||||
m_GestureDetectionInterval: 0.1
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc258ea53fad48f44a7a0b57c12be62e
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa11dbc1054979a498c98c61ccb253a0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,183 @@
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.XR.Hands.Gestures;
|
||||
|
||||
namespace UnityEngine.XR.Hands.Samples.GestureSample
|
||||
{
|
||||
/// <summary>
|
||||
/// A gesture that detects when a hand is held in a static shape and orientation for a minimum amount of time.
|
||||
/// </summary>
|
||||
public class StaticHandGesture : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
[Tooltip("The hand tracking events component to subscribe to receive updated joint data to be used for gesture detection.")]
|
||||
XRHandTrackingEvents m_HandTrackingEvents;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("The hand shape or pose that must be detected for the gesture to be performed.")]
|
||||
ScriptableObject m_HandShapeOrPose;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("The target Transform to user for target conditions in the hand shape or pose.")]
|
||||
Transform m_TargetTransform;
|
||||
|
||||
//[SerializeField]
|
||||
//[Tooltip("The image component that draws the background for gesture icons.")]
|
||||
//Image m_Background;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("The event fired when the gesture is performed.")]
|
||||
UnityEvent m_GesturePerformed;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("The event fired when the gesture is ended.")]
|
||||
UnityEvent m_GestureEnded;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("The minimum amount of time the hand must be held in the required shape and orientation for the gesture to be performed.")]
|
||||
float m_MinimumHoldTime = 0.2f;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("The interval at which the gesture detection is performed.")]
|
||||
float m_GestureDetectionInterval = 0.1f;
|
||||
|
||||
[SerializeField]
|
||||
[Tooltip("The static gestures associated with this gestures handedness.")]
|
||||
StaticHandGesture[] m_StaticGestures;
|
||||
|
||||
XRHandShape m_HandShape;
|
||||
XRHandPose m_HandPose;
|
||||
bool m_WasDetected;
|
||||
bool m_PerformedTriggered;
|
||||
float m_TimeOfLastConditionCheck;
|
||||
float m_HoldStartTime;
|
||||
Color m_BackgroundDefaultColor;
|
||||
Color m_BackgroundHiglightColor = new Color(0f, 0.627451f, 1f);
|
||||
|
||||
/// <summary>
|
||||
/// The hand tracking events component to subscribe to receive updated joint data to be used for gesture detection.
|
||||
/// </summary>
|
||||
public XRHandTrackingEvents handTrackingEvents
|
||||
{
|
||||
get => m_HandTrackingEvents;
|
||||
set => m_HandTrackingEvents = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The hand shape or pose that must be detected for the gesture to be performed.
|
||||
/// </summary>
|
||||
public ScriptableObject handShapeOrPose
|
||||
{
|
||||
get => m_HandShapeOrPose;
|
||||
set => m_HandShapeOrPose = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The target Transform to user for target conditions in the hand shape or pose.
|
||||
/// </summary>
|
||||
public Transform targetTransform
|
||||
{
|
||||
get => m_TargetTransform;
|
||||
set => m_TargetTransform = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The image component that draws the background for gesture icons.
|
||||
/// </summary>
|
||||
// public Image background
|
||||
// {
|
||||
// //get => m_Background;
|
||||
// //set => m_Background = value;
|
||||
// }
|
||||
|
||||
/// <summary>
|
||||
/// The event fired when the gesture is performed.
|
||||
/// </summary>
|
||||
public UnityEvent gesturePerformed
|
||||
{
|
||||
get => m_GesturePerformed;
|
||||
set => m_GesturePerformed = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The event fired when the gesture is ended.
|
||||
/// </summary>
|
||||
public UnityEvent gestureEnded
|
||||
{
|
||||
get => m_GestureEnded;
|
||||
set => m_GestureEnded = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The minimum amount of time the hand must be held in the required shape and orientation for the gesture to be performed.
|
||||
/// </summary>
|
||||
public float minimumHoldTime
|
||||
{
|
||||
get => m_MinimumHoldTime;
|
||||
set => m_MinimumHoldTime = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The interval at which the gesture detection is performed.
|
||||
/// </summary>
|
||||
public float gestureDetectionInterval
|
||||
{
|
||||
get => m_GestureDetectionInterval;
|
||||
set => m_GestureDetectionInterval = value;
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
//m_BackgroundDefaultColor = m_Background.color;
|
||||
}
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
m_HandTrackingEvents.jointsUpdated.AddListener(OnJointsUpdated);
|
||||
|
||||
m_HandShape = m_HandShapeOrPose as XRHandShape;
|
||||
m_HandPose = m_HandShapeOrPose as XRHandPose;
|
||||
if (m_HandPose != null && m_HandPose.relativeOrientation != null)
|
||||
m_HandPose.relativeOrientation.targetTransform = m_TargetTransform;
|
||||
}
|
||||
|
||||
void OnDisable() => m_HandTrackingEvents.jointsUpdated.RemoveListener(OnJointsUpdated);
|
||||
|
||||
void OnJointsUpdated(XRHandJointsUpdatedEventArgs eventArgs)
|
||||
{
|
||||
if (!isActiveAndEnabled || Time.timeSinceLevelLoad < m_TimeOfLastConditionCheck + m_GestureDetectionInterval)
|
||||
return;
|
||||
|
||||
var detected =
|
||||
m_HandTrackingEvents.handIsTracked &&
|
||||
m_HandShape != null && m_HandShape.CheckConditions(eventArgs) ||
|
||||
m_HandPose != null && m_HandPose.CheckConditions(eventArgs);
|
||||
|
||||
if (!m_WasDetected && detected)
|
||||
{
|
||||
m_HoldStartTime = Time.timeSinceLevelLoad;
|
||||
}
|
||||
else if (m_WasDetected && !detected)
|
||||
{
|
||||
m_PerformedTriggered = false;
|
||||
m_GestureEnded?.Invoke();
|
||||
//m_Background.color = m_BackgroundDefaultColor;
|
||||
}
|
||||
|
||||
m_WasDetected = detected;
|
||||
|
||||
if (!m_PerformedTriggered && detected)
|
||||
{
|
||||
var holdTimer = Time.timeSinceLevelLoad - m_HoldStartTime;
|
||||
if (holdTimer > m_MinimumHoldTime)
|
||||
{
|
||||
m_GesturePerformed?.Invoke();
|
||||
m_PerformedTriggered = true;
|
||||
//m_Background.color = m_BackgroundHiglightColor;
|
||||
}
|
||||
}
|
||||
|
||||
m_TimeOfLastConditionCheck = Time.timeSinceLevelLoad;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf93899325d5df74eb9176e097ee3d4f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user