// Update is called once per frame void Update() { Vector3 playerPosition = PlayerController.Instance.playerObject.transform.position; Vector3 centerPosition = VectorUtilities.GetFlatVector3AtHeight(EnvironmentController.Instance.levelCenter.position, playerPosition.y); SetCameraPosition(playerPosition, centerPosition); SetCameraRotation(playerPosition, centerPosition); }
private void ConstrainDistanceFromLevelCenter() { Vector3 flatLevelCenterPosition = VectorUtilities.GetFlatVector3AtHeight(EnvironmentController.Instance.levelCenter.position, transform.position.y); Vector3 radiusVector = transform.position - flatLevelCenterPosition; Vector3 translationVector = flatLevelCenterPosition + Vector3.Normalize(radiusVector) * EnvironmentController.Instance.distanceFromLevelCenter; transform.position = new Vector3(translationVector.x, transform.position.y, translationVector.z); }