From 030eaf0dfc60858cadb39bf6a30b77de8cc011e8 Mon Sep 17 00:00:00 2001 From: tverona1 Date: Sun, 3 May 2020 13:41:00 -0700 Subject: [PATCH] further tweak to oculus integration fix --- Assets/Oculus/VR/Scripts/Util/OVRMesh.cs | 7 ++-- .../Oculus/VR/Scripts/Util/OVRMeshRenderer.cs | 7 ++-- Assets/Oculus/VR/Scripts/Util/OVRSkeleton.cs | 2 +- .../VR/Scripts/Util/OVRSkeletonRenderer.cs | 32 +++++++++++++------ 4 files changed, 30 insertions(+), 18 deletions(-) diff --git a/Assets/Oculus/VR/Scripts/Util/OVRMesh.cs b/Assets/Oculus/VR/Scripts/Util/OVRMesh.cs index 60654d2..2ae83bd 100644 --- a/Assets/Oculus/VR/Scripts/Util/OVRMesh.cs +++ b/Assets/Oculus/VR/Scripts/Util/OVRMesh.cs @@ -66,7 +66,10 @@ public class OVRMesh : MonoBehaviour private void Initialize(MeshType meshType) { - _mesh = new Mesh(); + if (null == _mesh) + { + _mesh = new Mesh(); + } var ovrpMesh = new OVRPlugin.Mesh(); if (OVRPlugin.GetMesh((OVRPlugin.MeshType)_meshType, out ovrpMesh)) @@ -122,7 +125,7 @@ public class OVRMesh : MonoBehaviour private void Update() { - if (OVRInput.IsControllerConnected(OVRInput.Controller.Hands) && !IsInitialized) + if (!IsInitialized && OVRInput.IsControllerConnected(OVRInput.Controller.Hands)) { if (_meshType != MeshType.None) { diff --git a/Assets/Oculus/VR/Scripts/Util/OVRMeshRenderer.cs b/Assets/Oculus/VR/Scripts/Util/OVRMeshRenderer.cs index 5629131..7c8ad55 100644 --- a/Assets/Oculus/VR/Scripts/Util/OVRMeshRenderer.cs +++ b/Assets/Oculus/VR/Scripts/Util/OVRMeshRenderer.cs @@ -171,12 +171,9 @@ public class OVRMeshRenderer : MonoBehaviour } } } - else + else if (OVRInput.IsControllerConnected(OVRInput.Controller.Hands)) { - if (OVRInput.IsControllerConnected(OVRInput.Controller.Hands)) - { - Initialize(); - } + Initialize(); } } } diff --git a/Assets/Oculus/VR/Scripts/Util/OVRSkeleton.cs b/Assets/Oculus/VR/Scripts/Util/OVRSkeleton.cs index d71e9a5..b392bb0 100644 --- a/Assets/Oculus/VR/Scripts/Util/OVRSkeleton.cs +++ b/Assets/Oculus/VR/Scripts/Util/OVRSkeleton.cs @@ -292,7 +292,7 @@ public class OVRSkeleton : MonoBehaviour private void Update() { - if (OVRInput.IsControllerConnected(OVRInput.Controller.Hands) && !IsInitialized) + if (!IsInitialized && OVRInput.IsControllerConnected(OVRInput.Controller.Hands)) { if (_skeletonType != SkeletonType.None) { diff --git a/Assets/Oculus/VR/Scripts/Util/OVRSkeletonRenderer.cs b/Assets/Oculus/VR/Scripts/Util/OVRSkeletonRenderer.cs index e6b8522..0e5d82f 100644 --- a/Assets/Oculus/VR/Scripts/Util/OVRSkeletonRenderer.cs +++ b/Assets/Oculus/VR/Scripts/Util/OVRSkeletonRenderer.cs @@ -236,11 +236,26 @@ public class OVRSkeletonRenderer : MonoBehaviour private void Initialize() { - _boneVisualizations = new List(); - _capsuleVisualizations = new List(); - _ovrSkeleton = GetComponent(); - _skeletonGO = new GameObject("SkeletonRenderer"); - _skeletonGO.transform.SetParent(transform, false); + if (null == _boneVisualizations) + { + _boneVisualizations = new List(); + } + + if (null == _capsuleVisualizations) + { + _capsuleVisualizations = new List(); + } + + if (null == _ovrSkeleton) + { + _ovrSkeleton = GetComponent(); + } + + if (null == _skeletonGO) + { + _skeletonGO = new GameObject("SkeletonRenderer"); + _skeletonGO.transform.SetParent(transform, false); + } if (_skeletonMaterial == null) { @@ -331,12 +346,9 @@ public class OVRSkeletonRenderer : MonoBehaviour _capsuleVisualizations[i].Update(_scale, shouldRender, ShouldUseSystemGestureMaterial, _confidenceBehavior, _systemGestureBehavior); } } - else + else if (OVRInput.IsControllerConnected(OVRInput.Controller.Hands)) { - if (OVRInput.IsControllerConnected(OVRInput.Controller.Hands) && !IsInitialized) - { - Initialize(); - } + Initialize(); } }