private void Update()
    {
        _log.Append("LocalHeadPos", transform.localPosition);
        _log.Append("GlobalHeadPos", transform.position);
        _log.Append("HeadRot", transform.rotation.eulerAngles);
        _log.Append("PlayspacePos", transform.parent.position);


        _log.CommitLine();
    }
 private void Update()
 {
     UpdateArc();
     if (SteamVR_Actions.default_Teleport[SteamVR_Input_Sources.RightHand].stateDown && _isArcTargetValid)
     {
         _log.Append("isTeleporting", true);
         _teleporter.Teleport(_teleportMarker.transform.position);
     }
     _log.CommitLine();
 }
示例#3
0
    private void OnTutorialComplete()
    {
        foreach (Animator animator in _doorAnimators)
        {
            animator.SetTrigger("openTrigger");
        }
        _audioSource.clip = _sounds.DoorOpen;
        _audioSource.Play();

        TutorialSign.OnTutorialComplete -= OnTutorialComplete;

        _log.Append("tutorialComplete", true);
        _log.CommitLine();
        StartCoroutine(EndTutorial());
    }
    private void CheckFov()
    {
        foreach (HiddenItem item in _allItems)
        {
            if (item.Found)
            {
                continue;
            }

            if (InViewOf(item.transform.position, _playerCam))
            {
                Debug.Log(item.ItemType + " visible to player");
                _log.Append(item.ItemType + "_inPlayerFov", true);
            }
            if (_magManager.IsMagnifying && InViewOf(item.transform.position, _magRectCam))
            {
                Debug.Log(item.ItemType + " visible through rect");
                _log.Append(item.ItemType + "_inRectFov", true);
            }
        }
    }
示例#5
0
    private void Update()
    {
        if (_leftHand != null)
        {
            _log.Append("LAlive", true);
            _log.Append("LPos", _leftHand.position);
            _log.Append("LRot", _leftHand.rotation.eulerAngles);
            LogButtonPresses('L', SteamVR_Input_Sources.LeftHand);
        }
        if (_rightHand != null)
        {
            _log.Append("RAlive", true);
            _log.Append("RPos", _rightHand.position);
            _log.Append("RRot", _rightHand.rotation.eulerAngles);
            LogButtonPresses('R', SteamVR_Input_Sources.RightHand);
        }

        _log.CommitLine();
    }
    private void Complete()
    {
        if (s_NextSign == NUMBER_OF_SIGNS)
        {
            OnTutorialComplete();
        }
        s_NextSign++;
        _fadeEffect.FadeWithEmission();
        enabled = false;

        _log.Append("complete", true);
        _log.CommitLine();
        Destroy(gameObject, 2f);
    }
示例#7
0
    private void ResetZoom(bool toWorldGaze)
    {
        _frameIndex         = 0;
        _inertialFrameIndex = 0;
        LastGazePos         = _player.position;
        _oldAverageDist     = 0f;

        for (int i = 0; i < _numFramesToSample; i++)
        {
            _sampledPoints[i] = toWorldGaze ? _gazeTracker.GazePos : _gazeDot.position;
        }

        Vector3 eyeBallsPos      = TobiiXR.EyeTrackingData.GazeRay.Origin;
        float   gazeDistEstimate = Vector3.Distance(eyeBallsPos, _gazeTracker.GazePos) / 2f;

        for (int i = 0; i < _numInertialFramesToSample; i++)
        {
            _sampledDistances[i] = toWorldGaze ? gazeDistEstimate : 0f;
        }

        _oldAverageDist = toWorldGaze ? gazeDistEstimate : 0f;

        _log.Append("didReset", true);
    }
示例#8
0
    private void Update()
    {
        if (!_magManager.IsMagnifying)
        {
            return;
        }

        // Set + adjust position once per frame
        SetMarkerPosition();
        // If marker still collides after adjustment, target cannot be teleported to
        bool isTargetValid = IsTeleportTargetValid();

        _dotImage.SetValid(isTargetValid);

        _log.Append("targetValid", isTargetValid);

        SteamVR_Action_Boolean_Source triggerDown = SteamVR_Actions.default_GrabPinch[SteamVR_Input_Sources.RightHand];

        if (triggerDown.stateDown && !_teleporter.IsTeleporting)
        {
            if (isTargetValid)
            {
                _isHoldingTrigger = true;
                _holdDownTime     = 0f;

                SetTeleportTarget();
                _teleportMarker.SetAlpha(1f, 1f);
            }
            else
            {
                _teleportCandidate = null;
                _teleportMarker.SetAlpha(0f, 0f);
                _log.CommitLine();
                return;
            }
        }
        if (triggerDown.stateUp)
        {
            _isHoldingTrigger  = false;
            _teleportCandidate = null;
            _teleportMarker.SetAlpha(0f, 0f);
        }

        if (_isHoldingTrigger)
        {
            _holdDownTime += Time.deltaTime;
            _dotImage.SetProgress(_holdDownTime / _activationTime);
            if (_holdDownTime >= _activationTime)
            {
                _isHoldingTrigger = false;
                _log.Append("isTeleporting", true);

                // Start teleport
                _teleporter.Teleport(_teleportCandidate.Value);
                OnGazeTeleport(_teleportCandidate.Value);
                _teleportCandidate = null;
            }
        }
        else
        {
            _teleportMarker.SetAlpha(0f, 0f);
            _dotImage.SetProgress(1f);
        }
        _log.CommitLine();
    }