1 Commits

Author SHA1 Message Date
Sean
fa1969a087 version 2.4.1 2024-07-18 14:29:33 +08:00
7 changed files with 91 additions and 24 deletions

View File

@@ -359,10 +359,10 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
#if UNITY_STANDALONE #if UNITY_STANDALONE
private static void SubmitLayer() private static void SubmitLayer()
{ {
XR_HTC_passthrough.Interop.GetOriginEndFrameLayerList(out List<IntPtr> layerList);//GetOriginEndFrameLayers
foreach(var passthrough in passthrough2IsUnderLay.Keys) foreach(var passthrough in passthrough2IsUnderLay.Keys)
{ {
//Get and submit layer list //Get and submit layer list
XR_HTC_passthrough.Interop.GetOriginEndFrameLayerList(out List<IntPtr> layerList);//GetOriginEndFrameLayers
if (layerList.Count != 0) if (layerList.Count != 0)
{ {
Marshal.StructureToPtr(passthrough2Layer[passthrough], passthrough2LayerPtr[passthrough], false); Marshal.StructureToPtr(passthrough2Layer[passthrough], passthrough2LayerPtr[passthrough], false);
@@ -370,9 +370,9 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
layerList.Insert(0, passthrough2LayerPtr[passthrough]); layerList.Insert(0, passthrough2LayerPtr[passthrough]);
else else
layerList.Insert(1, passthrough2LayerPtr[passthrough]); layerList.Insert(1, passthrough2LayerPtr[passthrough]);
XR_HTC_passthrough.Interop.SubmitLayers(layerList);
} }
} }
XR_HTC_passthrough.Interop.SubmitLayers(layerList);
} }
#endif #endif
@@ -393,21 +393,23 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
ERROR("HTC_Passthrough feature instance not found."); ERROR("HTC_Passthrough feature instance not found.");
return false; return false;
} }
if (!passthroughFeature.PassthroughIDList.Contains(passthroughID))
if (!passthroughFeature.PassthroughIDList.Contains(passthroughID)) {
{ ERROR("Passthrough to be destroyed not found");
ERROR("Passthrough to be destroyed not found"); return false;
return false; }
}
#if UNITY_STANDALONE #if UNITY_STANDALONE
XrPassthroughHTC passthrough = (XrPassthroughHTC)(ulong)passthroughID; XrPassthroughHTC passthrough = passthrough2Layer[passthroughID].passthrough;
passthrough2Layer.Remove(passthroughID); XR_HTC_passthrough.xrDestroyPassthroughHTC(passthrough);
Marshal.FreeHGlobal(passthrough2LayerPtr[passthroughID]);
passthrough2LayerPtr.Remove(passthroughID);
passthrough2IsUnderLay.Remove(passthroughID); passthrough2IsUnderLay.Remove(passthroughID);
Marshal.FreeHGlobal(passthrough2meshTransformInfoPtr[passthroughID]); SubmitLayer();
passthrough2Layer.Remove(passthroughID);
if(passthrough2LayerPtr.ContainsKey(passthroughID)) Marshal.FreeHGlobal(passthrough2LayerPtr[passthroughID]);
passthrough2LayerPtr.Remove(passthroughID);
if(passthrough2meshTransformInfoPtr.ContainsKey(passthroughID)) Marshal.FreeHGlobal(passthrough2meshTransformInfoPtr[passthroughID]);
passthrough2meshTransformInfoPtr.Remove(passthroughID); passthrough2meshTransformInfoPtr.Remove(passthroughID);
passthrough2meshTransform.Remove(passthroughID); passthrough2meshTransform.Remove(passthroughID);
return true; return true;
#endif #endif
#if UNITY_ANDROID #if UNITY_ANDROID

View File

@@ -527,7 +527,10 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
XrResult res = xrCreatePassthroughHTC(m_XrSession, createInfo, out passthrough); XrResult res = xrCreatePassthroughHTC(m_XrSession, createInfo, out passthrough);
if (res == XrResult.XR_SUCCESS) if (res == XrResult.XR_SUCCESS)
{
passthroughList.Add(passthrough); passthroughList.Add(passthrough);
passthroughIDList.Add(((int)(ulong)passthrough));
}
else else
ERROR("CreatePassthroughHTC() "+res); ERROR("CreatePassthroughHTC() "+res);
return res; return res;
@@ -541,6 +544,7 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
if (res == XrResult.XR_SUCCESS) if (res == XrResult.XR_SUCCESS)
{ {
passthroughList.Remove(passthrough); passthroughList.Remove(passthrough);
passthroughIDList.Remove(((int)(ulong)passthrough));
} }
return res; return res;
} }

View File

@@ -348,6 +348,7 @@ MeshRenderer:
m_CastShadows: 1 m_CastShadows: 1
m_ReceiveShadows: 1 m_ReceiveShadows: 1
m_DynamicOccludee: 1 m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1 m_MotionVectors: 1
m_LightProbeUsage: 1 m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1 m_ReflectionProbeUsage: 1
@@ -396,6 +397,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 6.042} m_LocalPosition: {x: 0, y: 0, z: 6.042}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 5 m_RootOrder: 5
@@ -433,6 +435,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 1713029778} m_Father: {fileID: 1713029778}
m_RootOrder: 1 m_RootOrder: 1
@@ -477,7 +480,12 @@ MonoBehaviour:
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: 'Press B to switch to Overlay. m_Text: 'Press B to switch to Overlay.
Press A to switch to Underlay.' Press A to switch to Underlay.
Press
GripR to create passthrough.
Press GripL to destroy passthrough.'
--- !u!222 &563979743 --- !u!222 &563979743
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -513,6 +521,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 3 m_RootOrder: 3
@@ -618,6 +627,7 @@ Transform:
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 4 m_RootOrder: 4
@@ -789,6 +799,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 3.05} m_LocalPosition: {x: 0, y: 0, z: 3.05}
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001} m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1792614228} - {fileID: 1792614228}
- {fileID: 563979741} - {fileID: 563979741}
@@ -828,6 +839,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 1713029778} m_Father: {fileID: 1713029778}
m_RootOrder: 0 m_RootOrder: 0
@@ -905,6 +917,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_MoveRepeatDelay: 0.5 m_MoveRepeatDelay: 0.5
m_MoveRepeatRate: 0.1 m_MoveRepeatRate: 0.1
m_XRTrackingOrigin: {fileID: 486770172} m_XRTrackingOrigin: {fileID: 486770172}
@@ -921,6 +934,7 @@ MonoBehaviour:
m_TrackedDeviceOrientationAction: {fileID: -8081773802841398021, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3} m_TrackedDeviceOrientationAction: {fileID: -8081773802841398021, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
m_DeselectOnBackgroundClick: 1 m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0 m_PointerBehavior: 0
m_CursorLockBehavior: 0
--- !u!114 &1934135425 --- !u!114 &1934135425
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -946,6 +960,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 2 m_RootOrder: 2

View File

@@ -150,6 +150,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 227549055} - {fileID: 227549055}
- {fileID: 1897936060} - {fileID: 1897936060}
@@ -159,7 +160,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 1000, y: 135} m_AnchoredPosition: {x: 1000, y: 75}
m_SizeDelta: {x: 2000, y: 120} m_SizeDelta: {x: 2000, y: 120}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &18497396 --- !u!114 &18497396
@@ -509,6 +510,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 18497395} m_Father: {fileID: 18497395}
m_RootOrder: 0 m_RootOrder: 0
@@ -586,6 +588,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0.618, z: 2.226} m_LocalPosition: {x: 0, y: 0.618, z: 2.226}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 4 m_RootOrder: 4
@@ -618,6 +621,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 1561711923} m_Father: {fileID: 1561711923}
m_RootOrder: 0 m_RootOrder: 0
@@ -691,6 +695,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1623327190} - {fileID: 1623327190}
m_Father: {fileID: 1897936060} m_Father: {fileID: 1897936060}
@@ -734,6 +739,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 1713029778} m_Father: {fileID: 1713029778}
m_RootOrder: 1 m_RootOrder: 1
@@ -783,7 +789,12 @@ MonoBehaviour:
Press Press
X to switch to World Lock Pose. X to switch to World Lock Pose.
Press Y to switch to Head Lock Pose.' Press Y to switch to Head Lock Pose.
Press
GripR to create passthrough.
Press GripL to destroy passthrough.'
--- !u!222 &563979743 --- !u!222 &563979743
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -825,6 +836,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 18497395} m_Father: {fileID: 18497395}
m_RootOrder: 2 m_RootOrder: 2
@@ -903,6 +915,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 3 m_RootOrder: 3
@@ -1119,6 +1132,7 @@ Transform:
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 6 m_RootOrder: 6
@@ -1208,6 +1222,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 1897936060} m_Father: {fileID: 1897936060}
m_RootOrder: 0 m_RootOrder: 0
@@ -1281,6 +1296,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 255383794} - {fileID: 255383794}
m_Father: {fileID: 1897936060} m_Father: {fileID: 1897936060}
@@ -1319,6 +1335,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 461691196} m_Father: {fileID: 461691196}
m_RootOrder: 0 m_RootOrder: 0
@@ -1476,6 +1493,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 3.05} m_LocalPosition: {x: 0, y: 0, z: 3.05}
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001} m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1792614228} - {fileID: 1792614228}
- {fileID: 563979741} - {fileID: 563979741}
@@ -1516,6 +1534,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 1713029778} m_Father: {fileID: 1713029778}
m_RootOrder: 0 m_RootOrder: 0
@@ -1590,6 +1609,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 5, y: 5, z: 5} m_LocalScale: {x: 5, y: 5, z: 5}
m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1315847422} - {fileID: 1315847422}
- {fileID: 1561711923} - {fileID: 1561711923}
@@ -1696,6 +1716,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3} m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_MoveRepeatDelay: 0.5 m_MoveRepeatDelay: 0.5
m_MoveRepeatRate: 0.1 m_MoveRepeatRate: 0.1
m_XRTrackingOrigin: {fileID: 486770172} m_XRTrackingOrigin: {fileID: 486770172}
@@ -1712,6 +1733,7 @@ MonoBehaviour:
m_TrackedDeviceOrientationAction: {fileID: -8081773802841398021, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3} m_TrackedDeviceOrientationAction: {fileID: -8081773802841398021, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
m_DeselectOnBackgroundClick: 1 m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0 m_PointerBehavior: 0
m_CursorLockBehavior: 0
--- !u!114 &1934135425 --- !u!114 &1934135425
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1737,6 +1759,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 2 m_RootOrder: 2

View File

@@ -16,10 +16,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
private void Update() private void Update()
{ {
if (activePassthroughID == 0)
{
StartPassthrough();
}
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.B)) //Set Passthrough as Overlay if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.B)) //Set Passthrough as Overlay
{ {
@@ -29,6 +26,21 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
{ {
SetPassthroughToUnderlay(); SetPassthroughToUnderlay();
} }
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.GripR))
{
if (activePassthroughID == 0)
{
StartPassthrough();
}
}
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.GripL))
{
if(activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.DestroyPassthrough(activePassthroughID);
activePassthroughID = 0;
}
}
} }
public void SetPassthroughToOverlay() public void SetPassthroughToOverlay()

View File

@@ -55,11 +55,22 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
if (activePassthroughID != 0) SetPassthroughMesh(); if (activePassthroughID != 0) SetPassthroughMesh();
} }
if (passthroughMesh != null && passthroughMeshTransform != null) if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.GripR))
{ {
if (activePassthroughID == 0) if (passthroughMesh != null && passthroughMeshTransform != null)
{ {
StartPassthrough(); if (activePassthroughID == 0)
{
StartPassthrough();
}
}
}
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.GripL))
{
if (activePassthroughID != 0)
{
CompositionLayerPassthroughAPI.DestroyPassthrough(activePassthroughID);
activePassthroughID = 0;
} }
} }
} }

View File

@@ -1,7 +1,7 @@
{ {
"name": "com.htc.upm.vive.openxr", "name": "com.htc.upm.vive.openxr",
"displayName": "VIVE OpenXR Plugin", "displayName": "VIVE OpenXR Plugin",
"version": "2.4.0", "version": "2.4.1",
"unity": "2020.3", "unity": "2020.3",
"description": "The \"VIVE OpenXR Plugin\" package enables your application to run on VIVE devices. \nThis package is a bridge between VIVE devides and Unity OpenXR.\nThis package complements Unity's \"OpenXR Plugin\" package, and enables you to use extra features, as listed in the following.\n\n- Controller Input\n- Hand Tracking\n- Wrist Tracking\n- Eye Gaze\n- CompositionLayer\n- Facial Tracking\n\n\nYou can view the documentation for additional information.", "description": "The \"VIVE OpenXR Plugin\" package enables your application to run on VIVE devices. \nThis package is a bridge between VIVE devides and Unity OpenXR.\nThis package complements Unity's \"OpenXR Plugin\" package, and enables you to use extra features, as listed in the following.\n\n- Controller Input\n- Hand Tracking\n- Wrist Tracking\n- Eye Gaze\n- CompositionLayer\n- Facial Tracking\n\n\nYou can view the documentation for additional information.",
"keywords": [ "keywords": [