diff --git a/Assets/SteamVR_Unity_Toolkit/Scripts/VRTK_InteractTouch.cs b/Assets/SteamVR_Unity_Toolkit/Scripts/VRTK_InteractTouch.cs index b05e653ec..d1f33d1b6 100644 --- a/Assets/SteamVR_Unity_Toolkit/Scripts/VRTK_InteractTouch.cs +++ b/Assets/SteamVR_Unity_Toolkit/Scripts/VRTK_InteractTouch.cs @@ -39,6 +39,7 @@ public class VRTK_InteractTouch : MonoBehaviour private bool customRigidBody; private bool customColliderCollection; private Rigidbody touchRigidBody; + private Object defaultColliderPrefab; public virtual void OnControllerTouchInteractableObject(ObjectInteractEventArgs e) { @@ -139,6 +140,7 @@ private void Awake() Utilities.SetPlayerObject(gameObject, VRTK_PlayerObject.ObjectTypes.Controller); customRigidBody = false; customColliderCollection = false; + defaultColliderPrefab = Resources.Load("ControllerColliders/HTCVive"); } private void OnEnable() @@ -290,14 +292,15 @@ private void DestroyTouchRigidBody() private void CreateTouchCollider() { - controllerCollisionDetector = customRigidbodyObject; - customColliderCollection = true; if (customRigidbodyObject == null) { - var colliderGO = Instantiate(Resources.Load("ControllerColliders/HTCVive") as GameObject, transform.position, transform.rotation) as GameObject; - colliderGO.transform.SetParent(transform); - colliderGO.name = "ControllerColliders"; - controllerCollisionDetector = colliderGO; + controllerCollisionDetector = Instantiate(defaultColliderPrefab, transform.position, transform.rotation) as GameObject; + controllerCollisionDetector.transform.SetParent(transform); + controllerCollisionDetector.name = "ControllerColliders"; + customColliderCollection = false; + } else + { + controllerCollisionDetector = Instantiate(customRigidbodyObject, transform.position, transform.rotation) as GameObject; customColliderCollection = true; } }