protected virtual void SetupColliders()
        {
            createColliders = false;
            Collider[] foundColliders = VRTK_SharedMethods.GetCollidersInGameObjects(new GameObject[] { gameObject }, true, true);
            if (foundColliders.Length == 0)
            {
                Object defaultColliderPrefab = Resources.Load(VRTK_SDK_Bridge.GetControllerDefaultColliderPath(controllerReference.hand));
                if (defaultColliderPrefab == null)
                {
                    VRTK_Logger.Error(VRTK_Logger.GetCommonMessage(VRTK_Logger.CommonMessageKeys.SDK_OBJECT_NOT_FOUND, "default collider prefab", "Controller SDK"));
                    return;
                }
                createColliders         = true;
                customColliderContainer = Instantiate(defaultColliderPrefab) as GameObject;
                customColliderContainer.transform.SetParent(transform);
                customColliderContainer.transform.localPosition = Vector3.zero;
                customColliderContainer.transform.localRotation = Quaternion.identity;
                customColliderContainer.transform.localScale    = Vector3.one;
                customColliderContainer.name = VRTK_SharedMethods.GenerateVRTKObjectName(true, "Controller", "TrackedCollidersContainer");
                foundColliders = VRTK_SharedMethods.GetCollidersInGameObjects(new GameObject[] { gameObject }, true, true);
            }
            trackedColliders = foundColliders;

            Collider[] touchColliders = interactTouch.ControllerColliders();

            for (int touchColliderIndex = 0; touchColliderIndex < touchColliders.Length; touchColliderIndex++)
            {
                for (int trackedColliderIndex = 0; trackedColliderIndex < trackedColliders.Length; trackedColliderIndex++)
                {
                    Physics.IgnoreCollision(touchColliders[touchColliderIndex], trackedColliders[trackedColliderIndex], true);
                }
            }
        }
Esempio n. 2
0
        protected virtual void CreateTouchCollider()
        {
            SDK_BaseController.ControllerHand controllerHand = VRTK_DeviceFinder.GetControllerHand(gameObject);
            Object defaultColliderPrefab = Resources.Load(VRTK_SDK_Bridge.GetControllerDefaultColliderPath(controllerHand));

            if (customColliderContainer == null)
            {
                if (defaultColliderPrefab == null)
                {
                    VRTK_Logger.Error(VRTK_Logger.GetCommonMessage(VRTK_Logger.CommonMessageKeys.SDK_OBJECT_NOT_FOUND, "default collider prefab", "Controller SDK"));
                    return;
                }
                controllerCollisionDetector = Instantiate(defaultColliderPrefab, transform.position, transform.rotation) as GameObject;
                controllerCollisionDetector.transform.SetParent(transform);
                controllerCollisionDetector.transform.localScale = transform.localScale;
                controllerCollisionDetector.name = VRTK_SharedMethods.GenerateVRTKObjectName(true, "Controller", "CollidersContainer");
                destroyColliderOnDisable         = true;
            }
            else
            {
                if (CustomRigidBodyIsChild())
                {
                    controllerCollisionDetector = customColliderContainer;
                    destroyColliderOnDisable    = false;
                }
                else
                {
                    controllerCollisionDetector = Instantiate(customColliderContainer, transform.position, transform.rotation) as GameObject;
                    controllerCollisionDetector.transform.SetParent(transform);
                    controllerCollisionDetector.transform.localScale = transform.localScale;
                    destroyColliderOnDisable = true;
                }
            }
            controllerCollisionDetector.AddComponent <VRTK_PlayerObject>().objectType = VRTK_PlayerObject.ObjectTypes.Collider;
        }
Esempio n. 3
0
        protected virtual void Awake()
        {
            destroyColliderOnDisable = false;
            var controllerHand = VRTK_DeviceFinder.GetControllerHand(gameObject);

            defaultColliderPrefab = Resources.Load(VRTK_SDK_Bridge.GetControllerDefaultColliderPath(controllerHand));
        }
Esempio n. 4
0
 private void Awake()
 {
     controllerEvents  = GetComponent <VRTK_ControllerEvents>();
     controllerActions = GetComponent <VRTK_ControllerActions>();
     VRTK_PlayerObject.SetPlayerObject(gameObject, VRTK_PlayerObject.ObjectTypes.Controller);
     destroyColliderOnDisable = false;
     defaultColliderPrefab    = Resources.Load(VRTK_SDK_Bridge.GetControllerDefaultColliderPath());
 }
Esempio n. 5
0
        protected virtual void Awake()
        {
            controllerEvents  = GetComponent <VRTK_ControllerEvents>();
            controllerActions = GetComponent <VRTK_ControllerActions>();
            VRTK_PlayerObject.SetPlayerObject(gameObject, VRTK_PlayerObject.ObjectTypes.Controller);
            destroyColliderOnDisable = false;
            var controllerHand = VRTK_DeviceFinder.GetControllerHand(gameObject);

            defaultColliderPrefab = Resources.Load(VRTK_SDK_Bridge.GetControllerDefaultColliderPath(controllerHand));
        }
Esempio n. 6
0
 // Token: 0x060015EA RID: 5610 RVA: 0x000779C8 File Offset: 0x00075BC8
 protected virtual void OnEnable()
 {
     this.destroyColliderOnDisable = false;
     SDK_BaseController.ControllerHand controllerHand = VRTK_DeviceFinder.GetControllerHand(base.gameObject);
     this.defaultColliderPrefab = Resources.Load(VRTK_SDK_Bridge.GetControllerDefaultColliderPath(controllerHand));
     VRTK_PlayerObject.SetPlayerObject(base.gameObject, VRTK_PlayerObject.ObjectTypes.Controller);
     this.triggerRumble = false;
     this.CreateTouchCollider();
     this.CreateTouchRigidBody();
 }