Esempio n. 1
0
    public override void Update()
    {
        var boneTransform = _anchor.bone.transform;

        {
            _leftHandControl.control.rotation = _anchor.bone.rotation;
            _leftHandControl.control.Rotate(HandsAdjustments.OVRLeftRotate, Space.Self);
            _leftComparePointPosition         = _anchor.GetInGameWorldPosition();
            _leftComparePointPosition        -= boneTransform.right * (_anchor.inGameSize.x / 2f + _handsDistance / 2f) * context.scaleChangeReceiver.scale;
            _leftComparePointPosition        += boneTransform.up * _handsOffsetY * context.scaleChangeReceiver.scale;
            _leftHandControl.control.position = _leftComparePointPosition;
            _leftHandControl.control.Translate(Quaternion.Inverse(Quaternion.Euler(HandsAdjustments.OVRLeftRotate)) * HandsAdjustments.OVRLeftOffset * context.scaleChangeReceiver.scale, Space.Self);
            _leftHandControl.control.RotateAround(_leftComparePointPosition, _leftHandControl.control.up, _handRotate);
            // _leftHandControl.control.Translate(_anchor.bone.up * _handsOffsetY, Space.World);
        }

        {
            _rightHandControl.control.rotation = _anchor.bone.rotation;
            _rightHandControl.control.Rotate(HandsAdjustments.OVRRightRotate, Space.Self);
            _rightComparePointPosition         = _anchor.GetInGameWorldPosition();
            _rightComparePointPosition        += boneTransform.right * (_anchor.inGameSize.x / 2f + _handsDistance / 2f) * context.scaleChangeReceiver.scale;
            _rightComparePointPosition        += boneTransform.up * _handsOffsetY * context.scaleChangeReceiver.scale;
            _rightHandControl.control.position = _rightComparePointPosition;
            _rightHandControl.control.Translate(Quaternion.Inverse(Quaternion.Euler(HandsAdjustments.OVRRightRotate)) * HandsAdjustments.OVRRightOffset * context.scaleChangeReceiver.scale, Space.Self);
            _rightHandControl.control.RotateAround(_rightComparePointPosition, _rightHandControl.control.up, -_handRotate);
            // _rightHandControl.control.Translate(_anchor.bone.up * _handsOffsetY, Space.World);
        }
    }
    public void Update()
    {
        // VisualCuesHelper.Cross(Color.green).transform.position = _anchor.GetInGameWorldPosition() + (-_anchor.RigidBody.transform.right * (_anchor.InGameSize.x / 2f + _context.handsDistance / 2f));
        // TODO: Cancel out the hand size, whatever that is. Figure out if we should compute it or just hardcode it.
        _leftHandControl.control.position    = _anchor.GetInGameWorldPosition() + (-_anchor.rigidBody.transform.right * (_anchor.inGameSize.x / 2f + _context.handsDistance / 2f));
        _leftHandControl.control.eulerAngles = _anchor.rigidBody.rotation.eulerAngles;
        _leftHandControl.control.Rotate(new Vector3(0, 0, 90));

        _rightHandControl.control.position    = _anchor.GetInGameWorldPosition() + (_anchor.rigidBody.transform.right * (_anchor.inGameSize.x / 2f + _context.handsDistance / 2f));
        _rightHandControl.control.eulerAngles = _anchor.rigidBody.rotation.eulerAngles;
        _rightHandControl.control.Rotate(new Vector3(0, 0, -90));
    }
    public override void Update()
    {
        var boneTransform = _anchor.bone.transform;

        _rightHandControl.control.rotation = _anchor.bone.rotation;
        _rightHandControl.control.Rotate(HandsAdjustments.OVRRightRotate, Space.Self);
        _rightComparePointPosition         = _anchor.GetInGameWorldPosition();
        _rightComparePointPosition        += boneTransform.forward * (_anchor.inGameSize.z / 2f + _handsDistance / 2f) * context.scaleChangeReceiver.scale;
        _rightComparePointPosition        += boneTransform.up * _handsOffsetY * context.scaleChangeReceiver.scale;
        _rightHandControl.control.position = _rightComparePointPosition;
        _rightHandControl.control.Translate(Quaternion.Inverse(Quaternion.Euler(HandsAdjustments.OVRRightRotate)) * HandsAdjustments.OVRRightOffset * context.scaleChangeReceiver.scale, Space.Self);
        // ReSharper disable once Unity.InefficientPropertyAccess
        _rightHandControl.control.RotateAround(_rightComparePointPosition, boneTransform.up, -90);
        _rightHandControl.control.RotateAround(_rightComparePointPosition, boneTransform.forward, _handRotate);
    }