Example #1
0
        void Start()
        {
            rigid                  = GetComponent <Rigidbody>();
            offset                 = GetComponent <ControllerOffsetHelper>();
            offsetTransform        = new GameObject("OffsetHelper").transform;
            offsetTransform.parent = transform;

            if (HandAnchor)
            {
                transform.parent       = HandAnchor;
                offsetTransform.parent = HandAnchor;

                if (ResetHandAnchorPosition)
                {
                    transform.localPosition    = offsetPosition;
                    transform.localEulerAngles = offsetRotation;
                }
            }

            if (grabber == null)
            {
                grabber = GetComponentInChildren <Grabber>();
            }

            input = InputBridge.Instance;
        }
Example #2
0
        void Start()
        {
            rigid                  = GetComponent <Rigidbody>();
            offset                 = GetComponent <ControllerOffsetHelper>();
            offsetTransform        = new GameObject("OffsetHelper").transform;
            offsetTransform.parent = transform;

            if (HandAnchor)
            {
                transform.parent       = HandAnchor;
                offsetTransform.parent = HandAnchor;

                if (ResetHandAnchorPosition)
                {
                    transform.localPosition    = offsetPosition;
                    transform.localEulerAngles = offsetRotation;
                }
            }

            if (grabber == null)
            {
                grabber = GetComponentInChildren <Grabber>();
            }

            input = InputBridge.Instance;

            if (SmoothMovement && HandAnchor != null)
            {
                // Only change interpolation settings if no Rigidbody is found on this gameobject
                if (rigid == null)
                {
                    rigid               = gameObject.AddComponent <Rigidbody>();
                    rigid.isKinematic   = true;
                    rigid.interpolation = RigidbodyInterpolation.Interpolate;
                    rigid.useGravity    = false;
                }
            }
        }
Example #3
0
        void Start()
        {
            rigid                  = GetComponent <Rigidbody>();
            offset                 = GetComponent <ControllerOffsetHelper>();
            offsetTransform        = new GameObject("OffsetHelper").transform;
            offsetTransform.parent = transform;

            if (HandAnchor)
            {
                transform.parent       = HandAnchor;
                offsetTransform.parent = HandAnchor;

                if (ResetHandAnchorPosition)
                {
                    transform.localPosition    = offsetPosition;
                    transform.localEulerAngles = offsetRotation;
                }
            }

            if (grabber == null)
            {
                grabber = GetComponentInChildren <Grabber>();
            }

            // Subscribe to grab / release events
            if (grabber != null)
            {
                grabber.onAfterGrabEvent.AddListener(OnGrabberGrabbed);
                grabber.onReleaseEvent.AddListener(OnGrabberReleased);
            }

            // Try getting child animator
            SetHandAnimator();

            input = InputBridge.Instance;
        }