Skip to content

Commit 87968f2

Browse files
committed
updated to support SRWorks v0.8
added support for latest SRWorks, removed runtime errors, fixed issue with starting depth service, fixed issue with prefab by reverting to Unity 2017.2 (forward compatible to 2018)
1 parent 5889557 commit 87968f2

File tree

8 files changed

+312
-233
lines changed

8 files changed

+312
-233
lines changed

Assets/DemoScene/HandScene.unity

Lines changed: 210 additions & 159 deletions
Large diffs are not rendered by default.

Assets/ViveSRWorksHand/Prefabs/DepthMask.prefab

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ Prefab:
88
m_TransformParent: {fileID: 0}
99
m_Modifications: []
1010
m_RemovedComponents: []
11-
m_SourcePrefab: {fileID: 0}
11+
m_ParentPrefab: {fileID: 0}
1212
m_RootGameObject: {fileID: 1854828209721920}
13-
m_IsPrefabAsset: 1
13+
m_IsPrefabParent: 0
1414
--- !u!1 &1854828209721920
1515
GameObject:
1616
m_ObjectHideFlags: 0
17-
m_CorrespondingSourceObject: {fileID: 0}
17+
m_PrefabParentObject: {fileID: 0}
1818
m_PrefabInternal: {fileID: 100100000}
19-
serializedVersion: 6
19+
serializedVersion: 5
2020
m_Component:
2121
- component: {fileID: 4754392168165110}
2222
- component: {fileID: 33128831506864518}
@@ -31,7 +31,7 @@ GameObject:
3131
--- !u!4 &4754392168165110
3232
Transform:
3333
m_ObjectHideFlags: 1
34-
m_CorrespondingSourceObject: {fileID: 0}
34+
m_PrefabParentObject: {fileID: 0}
3535
m_PrefabInternal: {fileID: 100100000}
3636
m_GameObject: {fileID: 1854828209721920}
3737
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
@@ -44,7 +44,7 @@ Transform:
4444
--- !u!23 &23610675285627666
4545
MeshRenderer:
4646
m_ObjectHideFlags: 1
47-
m_CorrespondingSourceObject: {fileID: 0}
47+
m_PrefabParentObject: {fileID: 0}
4848
m_PrefabInternal: {fileID: 100100000}
4949
m_GameObject: {fileID: 1854828209721920}
5050
m_Enabled: 1
@@ -54,7 +54,6 @@ MeshRenderer:
5454
m_MotionVectors: 1
5555
m_LightProbeUsage: 1
5656
m_ReflectionProbeUsage: 1
57-
m_RenderingLayerMask: 4294967295
5857
m_Materials:
5958
- {fileID: 2100000, guid: 4bb8bf6460d9cb24aa02a1340d61a9ac, type: 2}
6059
m_StaticBatchInfo:
@@ -79,7 +78,7 @@ MeshRenderer:
7978
--- !u!33 &33128831506864518
8079
MeshFilter:
8180
m_ObjectHideFlags: 1
82-
m_CorrespondingSourceObject: {fileID: 0}
81+
m_PrefabParentObject: {fileID: 0}
8382
m_PrefabInternal: {fileID: 100100000}
8483
m_GameObject: {fileID: 1854828209721920}
8584
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}

Assets/ViveSRWorksHand/Prefabs/HandRacketCollisionObj.prefab

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,56 +8,55 @@ Prefab:
88
m_TransformParent: {fileID: 0}
99
m_Modifications: []
1010
m_RemovedComponents: []
11-
m_SourcePrefab: {fileID: 0}
12-
m_RootGameObject: {fileID: 1882735829299744}
13-
m_IsPrefabAsset: 1
14-
--- !u!1 &1882735829299744
11+
m_ParentPrefab: {fileID: 0}
12+
m_RootGameObject: {fileID: 1163590719579758}
13+
m_IsPrefabParent: 1
14+
--- !u!1 &1163590719579758
1515
GameObject:
1616
m_ObjectHideFlags: 0
17-
m_CorrespondingSourceObject: {fileID: 0}
17+
m_PrefabParentObject: {fileID: 0}
1818
m_PrefabInternal: {fileID: 100100000}
19-
serializedVersion: 6
19+
serializedVersion: 5
2020
m_Component:
21-
- component: {fileID: 4833455301436080}
22-
- component: {fileID: 33105142426243162}
23-
- component: {fileID: 135788862007994988}
24-
- component: {fileID: 23390873631666034}
25-
- component: {fileID: 114567861273101286}
26-
- component: {fileID: 114152034589186478}
27-
m_Layer: 8
21+
- component: {fileID: 4268336702793526}
22+
- component: {fileID: 33828842715923924}
23+
- component: {fileID: 135931790246375864}
24+
- component: {fileID: 23888207796196254}
25+
- component: {fileID: 114990384989883582}
26+
- component: {fileID: 114592397292101090}
27+
m_Layer: 0
2828
m_Name: HandRacketCollisionObj
2929
m_TagString: Untagged
3030
m_Icon: {fileID: 0}
3131
m_NavMeshLayer: 0
3232
m_StaticEditorFlags: 0
3333
m_IsActive: 1
34-
--- !u!4 &4833455301436080
34+
--- !u!4 &4268336702793526
3535
Transform:
3636
m_ObjectHideFlags: 1
37-
m_CorrespondingSourceObject: {fileID: 0}
37+
m_PrefabParentObject: {fileID: 0}
3838
m_PrefabInternal: {fileID: 100100000}
39-
m_GameObject: {fileID: 1882735829299744}
39+
m_GameObject: {fileID: 1163590719579758}
4040
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
4141
m_LocalPosition: {x: 1.5453217, y: 2.6748576, z: 0.6738696}
4242
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
4343
m_Children: []
4444
m_Father: {fileID: 0}
4545
m_RootOrder: 0
4646
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
47-
--- !u!23 &23390873631666034
47+
--- !u!23 &23888207796196254
4848
MeshRenderer:
4949
m_ObjectHideFlags: 1
50-
m_CorrespondingSourceObject: {fileID: 0}
50+
m_PrefabParentObject: {fileID: 0}
5151
m_PrefabInternal: {fileID: 100100000}
52-
m_GameObject: {fileID: 1882735829299744}
52+
m_GameObject: {fileID: 1163590719579758}
5353
m_Enabled: 0
5454
m_CastShadows: 1
5555
m_ReceiveShadows: 1
5656
m_DynamicOccludee: 1
5757
m_MotionVectors: 1
5858
m_LightProbeUsage: 1
5959
m_ReflectionProbeUsage: 1
60-
m_RenderingLayerMask: 4294967295
6160
m_Materials:
6261
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
6362
m_StaticBatchInfo:
@@ -79,19 +78,19 @@ MeshRenderer:
7978
m_SortingLayerID: 0
8079
m_SortingLayer: 0
8180
m_SortingOrder: 0
82-
--- !u!33 &33105142426243162
81+
--- !u!33 &33828842715923924
8382
MeshFilter:
8483
m_ObjectHideFlags: 1
85-
m_CorrespondingSourceObject: {fileID: 0}
84+
m_PrefabParentObject: {fileID: 0}
8685
m_PrefabInternal: {fileID: 100100000}
87-
m_GameObject: {fileID: 1882735829299744}
86+
m_GameObject: {fileID: 1163590719579758}
8887
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
89-
--- !u!114 &114152034589186478
88+
--- !u!114 &114592397292101090
9089
MonoBehaviour:
9190
m_ObjectHideFlags: 1
92-
m_CorrespondingSourceObject: {fileID: 0}
91+
m_PrefabParentObject: {fileID: 0}
9392
m_PrefabInternal: {fileID: 100100000}
94-
m_GameObject: {fileID: 1882735829299744}
93+
m_GameObject: {fileID: 1163590719579758}
9594
m_Enabled: 1
9695
m_EditorHideFlags: 0
9796
m_Script: {fileID: 11500000, guid: 3546a1c6401f9254f906461ff1f615a5, type: 3}
@@ -104,26 +103,26 @@ MonoBehaviour:
104103
RacketFollowHand: {fileID: 0}
105104
PlayerBase: {fileID: 0}
106105
IsBallRigidbody: 0
107-
--- !u!114 &114567861273101286
106+
--- !u!114 &114990384989883582
108107
MonoBehaviour:
109108
m_ObjectHideFlags: 1
110-
m_CorrespondingSourceObject: {fileID: 0}
109+
m_PrefabParentObject: {fileID: 0}
111110
m_PrefabInternal: {fileID: 100100000}
112-
m_GameObject: {fileID: 1882735829299744}
111+
m_GameObject: {fileID: 1163590719579758}
113112
m_Enabled: 1
114113
m_EditorHideFlags: 0
115114
m_Script: {fileID: 11500000, guid: 79370d21936d76b44910c29c302dc4a3, type: 3}
116115
m_Name:
117116
m_EditorClassIdentifier:
118-
--- !u!135 &135788862007994988
117+
--- !u!135 &135931790246375864
119118
SphereCollider:
120119
m_ObjectHideFlags: 1
121-
m_CorrespondingSourceObject: {fileID: 0}
120+
m_PrefabParentObject: {fileID: 0}
122121
m_PrefabInternal: {fileID: 100100000}
123-
m_GameObject: {fileID: 1882735829299744}
122+
m_GameObject: {fileID: 1163590719579758}
124123
m_Material: {fileID: 0}
125124
m_IsTrigger: 0
126125
m_Enabled: 1
127126
serializedVersion: 2
128-
m_Radius: 0.05
127+
m_Radius: 0.5
129128
m_Center: {x: 0, y: 0, z: 0}

Assets/ViveSRWorksHand/Prefabs/HandRacketCollisionObj.prefab.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/ViveSRWorksHand/Prefabs/SRWorksHand.prefab

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,70 +8,70 @@ Prefab:
88
m_TransformParent: {fileID: 0}
99
m_Modifications: []
1010
m_RemovedComponents: []
11-
m_SourcePrefab: {fileID: 0}
12-
m_RootGameObject: {fileID: 1877808808078960}
13-
m_IsPrefabAsset: 1
14-
--- !u!1 &1877808808078960
11+
m_ParentPrefab: {fileID: 0}
12+
m_RootGameObject: {fileID: 1325028295477620}
13+
m_IsPrefabParent: 1
14+
--- !u!1 &1325028295477620
1515
GameObject:
1616
m_ObjectHideFlags: 0
17-
m_CorrespondingSourceObject: {fileID: 0}
17+
m_PrefabParentObject: {fileID: 0}
1818
m_PrefabInternal: {fileID: 100100000}
19-
serializedVersion: 6
19+
serializedVersion: 5
2020
m_Component:
21-
- component: {fileID: 4463904598622950}
22-
- component: {fileID: 114701040911515854}
23-
- component: {fileID: 114402506440998430}
21+
- component: {fileID: 4372407139801650}
22+
- component: {fileID: 114453581304663162}
23+
- component: {fileID: 114084852135292966}
2424
m_Layer: 0
2525
m_Name: SRWorksHand
2626
m_TagString: Untagged
2727
m_Icon: {fileID: 0}
2828
m_NavMeshLayer: 0
2929
m_StaticEditorFlags: 0
3030
m_IsActive: 1
31-
--- !u!4 &4463904598622950
31+
--- !u!4 &4372407139801650
3232
Transform:
3333
m_ObjectHideFlags: 1
34-
m_CorrespondingSourceObject: {fileID: 0}
34+
m_PrefabParentObject: {fileID: 0}
3535
m_PrefabInternal: {fileID: 100100000}
36-
m_GameObject: {fileID: 1877808808078960}
36+
m_GameObject: {fileID: 1325028295477620}
3737
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
3838
m_LocalPosition: {x: 0, y: 0, z: 0}
3939
m_LocalScale: {x: 1, y: 1, z: 1}
4040
m_Children: []
4141
m_Father: {fileID: 0}
4242
m_RootOrder: 0
4343
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
44-
--- !u!114 &114402506440998430
44+
--- !u!114 &114084852135292966
4545
MonoBehaviour:
4646
m_ObjectHideFlags: 1
47-
m_CorrespondingSourceObject: {fileID: 0}
47+
m_PrefabParentObject: {fileID: 0}
4848
m_PrefabInternal: {fileID: 100100000}
49-
m_GameObject: {fileID: 1877808808078960}
49+
m_GameObject: {fileID: 1325028295477620}
5050
m_Enabled: 1
5151
m_EditorHideFlags: 0
5252
m_Script: {fileID: 11500000, guid: 49051db3cbcaf7448a77d3c0386917ff, type: 3}
5353
m_Name:
5454
m_EditorClassIdentifier:
55-
showHandMesh: 0
55+
showHandMesh: 1
5656
handSizeRange: 0.15
5757
DebugShow: 0
5858
handMaterial: {fileID: 2100000, guid: c3e9333e75968484f894d1f93d7f4024, type: 2}
59-
viveSR: {fileID: 0}
59+
viveSR: {fileID: 114030089609639150, guid: 043c7faf0fdcecd499d4424a614b2482, type: 2}
6060
eye: {fileID: 0}
6161
dynamicHandDisDivided: 0.2
6262
_OutNear: {x: 0, y: 0, z: 0}
6363
_OutFar: {x: 0, y: 0, z: 0}
64-
--- !u!114 &114701040911515854
64+
--- !u!114 &114453581304663162
6565
MonoBehaviour:
6666
m_ObjectHideFlags: 1
67-
m_CorrespondingSourceObject: {fileID: 0}
67+
m_PrefabParentObject: {fileID: 0}
6868
m_PrefabInternal: {fileID: 100100000}
69-
m_GameObject: {fileID: 1877808808078960}
69+
m_GameObject: {fileID: 1325028295477620}
7070
m_Enabled: 1
7171
m_EditorHideFlags: 0
7272
m_Script: {fileID: 11500000, guid: 79d8999e97457ad44afbb90831b1b675, type: 3}
7373
m_Name:
7474
m_EditorClassIdentifier:
7575
handRacketMover: {fileID: 0}
76-
depthMask: {fileID: 0}
76+
depthMask: {fileID: 1854828209721920, guid: 44796e0087354784594379b0f3844f6e, type: 2}
7777
enableDepthMask: 1

Assets/ViveSRWorksHand/Prefabs/SRWorksHand.prefab.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/ViveSRWorksHand/Scripts/SRHandManager.cs

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public class SRHandManager : MySingleton<SRHandManager>
66
{
77
public GameObject handRacketMover;
88
public GameObject depthMask;
9+
private GameObject depthMaskR;
910
public bool enableDepthMask;
1011
private bool prevDepthMaskEnabled;
1112
private SRWorksHand srWorksHand;
@@ -14,12 +15,29 @@ void Start()
1415
{
1516
srWorksHand = gameObject.GetComponent<SRWorksHand>();
1617

17-
// add depth mask for occlusion
18-
GameObject anchor = GameObject.Find("Anchor (Left)");//SRWorkHand.Instance.viveSR.transform.Find("Anchor (Left)");
19-
GameObject quad = Instantiate(depthMask);//GameObject.CreatePrimitive(PrimitiveType.Quad);
20-
quad.transform.parent = anchor.transform;
21-
quad.name = "DepthMask";
22-
quad.SetActive(true);
18+
if (srWorksHand.showHandMesh)
19+
enableDepthMask = false;
20+
21+
// get depth mask for occlusion
22+
GameObject root = GameObject.Find("Anchor (Left)");
23+
Transform trans = root.transform.Find("DepthMask (left)");
24+
GameObject depthObjectTest = null;
25+
if (trans != null)
26+
depthObjectTest = trans.gameObject;
27+
if(depthObjectTest == null)
28+
{
29+
GameObject quad = Instantiate(depthMask);
30+
quad.transform.parent = root.transform;
31+
quad.name = "DepthMask";
32+
quad.SetActive(true);
33+
}
34+
else
35+
{
36+
depthMask.SetActive(true);
37+
root = GameObject.Find("Anchor (Right)");
38+
depthMaskR = root.transform.Find("DepthMask (right)").gameObject;
39+
depthMaskR.SetActive(true);
40+
}
2341

2442
StartLoadReconstructData();
2543
}
@@ -37,11 +55,16 @@ IEnumerator _waitReconstructMeshLoadDone()
3755

3856
//Set touch hand
3957
SRWorksHand.Instance.SetDetectHand(null, handRacketMover, null);
40-
SRWorksHand.GetDynamicHand().gameObject.layer = LayerMask.NameToLayer("HandTouch");
4158

4259
//enable depth mask
4360
if (enableDepthMask)
61+
{
4462
ViveSR_DualCameraImageRenderer.UpdateDepthMaterial = true;
63+
} else
64+
{
65+
SRWorksHand.GetDynamicHand().gameObject.layer = LayerMask.NameToLayer("HandTouch");
66+
}
67+
4568
}
4669
private void LateUpdate()
4770
{
@@ -50,6 +73,11 @@ private void LateUpdate()
5073
ViveSR_DualCameraImageRenderer.UpdateDepthMaterial = true;
5174
} else {
5275
ViveSR_DualCameraImageRenderer.UpdateDepthMaterial = false;
76+
if (srWorksHand.showHandMesh)
77+
{
78+
SRWorksHand.Instance.SetDetectHand(null, handRacketMover, null);
79+
// SRWorksHand.GetDynamicHand().gameObject.layer = LayerMask.NameToLayer("HandTouch");
80+
}
5381
}
5482
prevDepthMaskEnabled = enableDepthMask;
5583
}

Assets/ViveSRWorksHand/Scripts/SRWorksHand.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ public class SRWorksHand : MySingleton<SRWorksHand>
2020
static bool isEnableDepth;
2121
public static void OpenDynamicHandCollider()
2222
{
23-
if (isEnableDepth)
24-
return;
23+
Debug.LogWarning("OpenDynamicHandCollider");
24+
// if (isEnableDepth)
25+
// return;
2526
isEnableDepth = true;
2627
ViveSR_DualCameraImageCapture.EnableDepthProcess(true);
2728
ViveSR_DualCameraDepthCollider.UpdateDepthCollider = true;
@@ -90,7 +91,8 @@ static Mesh GetDynamicHandMesh()
9091
if (_dynamicHandMesh == null)
9192
{
9293
Transform handCollider = GetDynamicHand();
93-
_dynamicHandMesh = handCollider.GetComponent<MeshFilter>().mesh;
94+
if(handCollider!=null)
95+
_dynamicHandMesh = handCollider.GetComponent<MeshFilter>().mesh;
9496
}
9597
return _dynamicHandMesh;
9698
}

0 commit comments

Comments
 (0)