Exemplo n.º 1
1
 public Camera(Rectangle viewportRect)
 {
     speed = 4f;
     zoom = 1f;
     viewportRectangle = viewportRect;
     mode = CameraMode.Follow;
 }
Exemplo n.º 2
0
    /// <summary>
    /// Move to first person mode.
    /// </summary>
    /// <param name="shooter"></param>
    public void TransitionToFirstPerson(Shooter shooter)
    {
        // Already in this state, return.
        if (m_currentMode == CameraMode.FirstPerson)
        {
            return;
        }

        // Get the destination
        m_lastOrthoPosition = transform.position;
        m_lastOrthoRotation = transform.rotation;
        m_desiredPosition   = shooter.CameraSocket.position;
        m_desiredRotation   = shooter.CameraSocket.rotation;

        // Toggle it to Perspective
        GetComponent <MatrixBlender>().BlendToMatrix(m_perspective, CameraLerpTime, MatrixLerpEase, false);
        //GetComponent<Camera>().projectionMatrix = Matrix4x4.Perspective(FOV, 16f/9f, zNear, zFar);

        // Hide the 3rd person canvas.
        GameManager.Instance.GameCanvas.ThirdPersonTutorial.gameObject.SetActive(false);

        // Change the state machine state
        m_currentMode      = CameraMode.FirstPerson;
        m_firstPersonState = new GameCameraFirstPersonState();
        m_firstPersonState.SetShooter(shooter);
        m_stateMachine.ChangeState(m_firstPersonState);

        // Move the camera
        StartCoroutine(LerpCameraToRotation(() =>
        {
            // Show the First Person Canvas.
            GameManager.Instance.GameCanvas.FirstPersonCanvas.gameObject.SetActive(true);
        }));
    }
Exemplo n.º 3
0
    /// <summary>
    /// Move to third person mode.
    /// </summary>
    public void TransitionToThirdPerson()
    {
        // Already in this state, return.
        if (m_currentMode == CameraMode.ThirdPerson)
        {
            return;
        }

        // Get the destination
        m_desiredPosition = m_lastOrthoPosition;
        m_desiredRotation = m_lastOrthoRotation;

        // Change the state machine state
        m_currentMode = CameraMode.ThirdPerson;
        m_stateMachine.ChangeState(new GameCameraThirdPersonState());

        // Hide the First Person Canvas.
        GameManager.Instance.GameCanvas.FirstPersonCanvas.gameObject.SetActive(false);

        // Toggle it to Orthographic
        GetComponent <MatrixBlender>().BlendToMatrix(m_startingOrthoProjectionMatrix, CameraLerpTime, MatrixLerpEase, true);

        // Move the camera
        StartCoroutine(LerpCameraToRotation(() =>
        {
            // Show the 3rd person canvas.
            if (GameManager.Instance.TurnCount < 2)
            {
                GameManager.Instance.GameCanvas.ThirdPersonTutorial.gameObject.SetActive(true);
            }
        }));
    }
Exemplo n.º 4
0
    // Update once a frame.
    #region Update
    void Update()
    {
        switch (camMode)
        {
        case CameraMode.free:
            FreeCamera();
            break;

        case CameraMode.thirdperson:
            ThirdPerson();
            break;

        default:
            Debug.Log("IMPOSSIBLE!!");
            break;
        }

        // Toggle cameramode
        if (Input.GetKeyDown(KeyCode.F6))
        {
            if ((int)camMode != 2)
            {
                camMode++;
            }
            else
            {
                camMode = CameraMode.free;
            }
        }
    }
Exemplo n.º 5
0
    public bool GetDeviceName(CameraMode mode)
    {
        if (mode == CameraMode.Front)
        {
            int i = 0;
            for (i = 0; i != WebCamTexture.devices.Length; i++)
            {
                if (WebCamTexture.devices [i].isFrontFacing)
                {
                    this.deviceName = WebCamTexture.devices [i].name;
                    break;
                }
            }
            if (i == WebCamTexture.devices.Length)
            {
                return(false);
            }
        }
        else
        {
            if (WebCamTexture.devices.Length < 1)
            {
                return(false);
            }
            this.deviceName = WebCamTexture.devices [0].name;
        }

        return(true);
    }
Exemplo n.º 6
0
    // Update is called once per frame
    void Update()
    {
        // プレイヤーに追随して移動
        transform.position = Vector3.Lerp(transform.position, m_Target.position, m_Speed * Time.deltaTime);

        switch (m_Mode)
        {
        case CameraMode.Normal:
            Normal();
            break;

        case CameraMode.Bomb:
            Bomb();
            break;

        default:
            break;
        }

        if (Input.GetButton("Bomb_Hold"))
        {
            m_Mode = CameraMode.Bomb;
        }
        else
        {
            m_Mode = CameraMode.Normal;
        }
    }
Exemplo n.º 7
0
        public void FirstPersonMode(Vector3 position, Quaternion rotation)
        {
            PointerLock.SetMode(PointerLock.Mode.FIRST_PERSON);

            var gridSelection = FindObjectOfType <GridSelection>();

            if (gridSelection)
            {
                gridSelection.gameObject.SetActive(false);
            }

            this.CameraMode = CameraMode.StreetView;

            Vector3    oldPosition = currentCamera.transform.position;
            Quaternion oldRotation = currentCamera.transform.rotation;

            oldGodViewRotation = currentCamera.transform.rotation;
            currentCamera.SetActive(false);
            currentCamera = streetView.EnableFPSCam();
            currentCamera.transform.position = oldPosition;
            currentCamera.transform.rotation = oldRotation;
            CurrentCameraControls            = currentCamera.GetComponent <ICameraControls>();
            ActiveCamera         = currentCamera.GetComponent <Camera>();
            CurrentCameraExtends = currentCamera.GetComponent <ICameraExtents>();
            OnFirstPersonModeEvent?.Invoke();
            TransitionCamera(currentCamera.transform, position, rotation);
        }
Exemplo n.º 8
0
    public virtual void SetCameraMode(
        CameraMode cameraMode,
        Vector3 newForwardDirection
        )
    {
        this.cameraMode = cameraMode;

        if (cameraMode.Equals(CameraMode.THIRD_PERSON))
        {
            cameraAngleFromTarget    = thirdPersonCameraAngleFromTarget;
            cameraDistanceFromTarget = thirdPersonCameraDistanceFromTarget;
        }

        else if (cameraMode.Equals(CameraMode.SIDE_SCROLLING_XY))
        {
            cameraAngleFromTarget    = xySideScrollingCameraAngleFromTarget;
            cameraDistanceFromTarget = xySsideScrollingCameraDistanceFromTarget;
        }

        else if (cameraMode.Equals(CameraMode.SIDE_SCROLLING_ZY))
        {
            cameraAngleFromTarget    = zySideScrollingCameraAngleFromTarget;
            cameraDistanceFromTarget = zySideScrollingCameraDistanceFromTarget;
        }

        SetCameraAngleFromTarget(cameraAngleFromTarget);
        SetCameraDistanceFromTarget(cameraDistanceFromTarget);
    }
Exemplo n.º 9
0
 public void InjectMousePressed(MouseEvent arg, MouseButtonID id)
 {
     if (id == MouseButtonID.MB_Left)
     {
         cameraMode = CameraMode.Follow;
         //Choose a character to follow
         if (currentAgentId != -1)
         {
             camera = map.GetAgentById(currentAgentId).DetachCamera();
         }
         if (currentAgentId == -1)
         {
             currentAgentId = 0;
         }
         else if (currentAgentId != map.Agents.Count - 1)
         {
             currentAgentId++;
         }
         else
         {
             currentAgentId = 0;
         }
         var agent = map.GetAgentById(currentAgentId);
         if (agent != null)
         {
             agent.AttachCamera(camera);
         }
     }
 }
Exemplo n.º 10
0
        public void Update(float timeSinceLastFrame)
        {
            if ((map.Agents == null ||
                 map.Agents.Count == 0) &&
                cameraMode != CameraMode.Manual)
            {
                cameraMode = CameraMode.Free;
            }
            switch (cameraMode)
            {
            case CameraMode.Free:
                MoveCamera();
                break;

            case CameraMode.Follow:
                var agent = map.GetAgentById(currentAgentId);
                if (agent != null)
                {
                    agent.UpdateCamera(timeSinceLastFrame);
                }
                break;

            case CameraMode.Manual:
                break;
            }
            GameManager.Instance.trayMgr.refreshCursor();
        }
Exemplo n.º 11
0
    // Update is called once per frame
    void Update()
    {
        // 原点の正面向きベクトルを取得
        forward = m_Origin.transform.forward;
        // y成分を無視する
        forward.y = 0;
        // 正規化する
        forward.Normalize();

        switch (m_Mode)
        {
        case CameraMode.Normal:
            Normal();
            break;

        case CameraMode.Bomb:
            Bomb();
            break;

        default:
            break;
        }

        if (Input.GetButton("Bomb_Hold"))
        {
            m_Mode = CameraMode.Bomb;
        }
        else
        {
            m_Mode = CameraMode.Normal;
        }
    }
Exemplo n.º 12
0
        private void createFigure(int figureType)
        {
            clearScenes();
            figure = new Polyhedron();
            switch (figureType)
            {
            case 0:
                figure.make_hexahedron();
                break;

            case 1:
                figure.make_tetrahedron();
                break;

            case 2:
                figure.make_octahedron();
                break;

            case 3:
                figure.make_dodecahedron();
                break;

            case 4:
                figure.make_icosahedron();
                break;
            }
            CameraMode oldMode = camera == null ? CameraMode.Simple : camera.mode;

            camera = new Camera(new Polyhedron(figure), pictureBox3, fill_color, light_x, light_y, light_z);
            camera.setMode(oldMode);
            camera.Apply(Transformation.Identity());
            figure.show(g, pr);
            camera.show(camera_g, old_fig);
        }
Exemplo n.º 13
0
 public void switchCamPos()
 {
     zoom          = !zoom;
     transitioning = true;
     if (!zoom)
     {
         cursor = Instantiate(spawnObjects[0], new Vector3(terrain.terrainData.size.x / 2, 0.5f, terrain.terrainData.size.z / 2), Quaternion.identity);
         Color col = cursor.GetComponent <Renderer>().material.color;
         col.a = 0.5f;
         cursor.GetComponent <Renderer>().material.color = col;
         cursor.GetComponent <Rigidbody>().isKinematic   = false;
         cursor.GetComponent <Rigidbody>().useGravity    = false;
         cursor.GetComponent <Collider>().isTrigger      = true;
         cursor.tag    = "Cursor";
         realCursorPos = cursor.transform.position;
         modifyFieldButton.transform.Find("Text").gameObject.GetComponent <Text>().text = "Back to robot";
         Cursor.lockState = CursorLockMode.Locked;
         Cursor.visible   = false;
         camMode          = CameraMode.ZoomedOut;
     }
     else
     {
         prevZoomOutPos = transform.position;
         Destroy(cursor);
         modifyFieldButton.transform.Find("Text").gameObject.GetComponent <Text>().text = "Place Obstacles";
         setCameraMode(0);
     }
 }
Exemplo n.º 14
0
 public override void Update(GameTime gameTime)
 {
     KeyboardManager KManager = (KeyboardManager)Game.Services.GetService(typeof(KeyboardManager));
     if (KManager.IsKeyPressed(Keys.M))
     {
         Mode = (CameraMode)(((int)Mode + 1) % 2);
     }
     float X = KManager.IsKeyDown(Keys.Right) ? 1 : 0;
     X -= KManager.IsKeyDown(Keys.Left) ? 1 : 0;
     float Z = KManager.IsKeyDown(Keys.Down) ? 1 : 0;
     Z -= KManager.IsKeyDown(Keys.Up) ? 1 : 0;
     Vector3 move = new Vector3(X, 0, Z);
     if (move.Length() > 0)
     {
         world_.Translation += move;
     }
     view_ = Matrix.CreateLookAt(world_.Translation, world_.Forward + world_.Translation, world_.Up);
     switch (Mode)
     {
         case CameraMode.PROJECTIVE:
             projection_ = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Game.GraphicsDevice.Viewport.AspectRatio, 0.1f, 100);
             break;
         case CameraMode.ORTHOGONAL:
             projection_ = Matrix.CreateOrthographic(Game.GraphicsDevice.Viewport.Width/20, Game.GraphicsDevice.Viewport.Height/20, 0.1f, 100);
             break;
     }
     base.Update(gameTime);
 }
Exemplo n.º 15
0
 public virtual void SetCameraMode(
     CameraMode cameraMode,
     Vector3 newForwardDirection
     )
 {
     // do nothing
 }
Exemplo n.º 16
0
 public void IncreaseView()
 {
     if (CameraMode == CameraMode.FirstPerson)
         CameraMode = CameraMode.Overhead;
     else
         CameraMode ++;
 }
Exemplo n.º 17
0
        /// <summary>
        /// Changes the camera mode for a view.
        /// </summary>
        /// <param name="viewIndex">index of the view.</param>
        /// <param name="cameraMode">New camera mode.</param>
        public void ChangeCameraModeForView(ViewIndex viewIndex, CameraMode cameraMode)
        {
            Debug.Assert(ActiveViews[(int)viewIndex] != null);
            var view = ActiveViews[(int)viewIndex];

            view.ChangeCameraModeForView(cameraMode);
        }
Exemplo n.º 18
0
 public Camera(Rectangle viewportRect)
 {
     speed             = 4f;
     zoom              = 1f;
     viewportRectangle = viewportRect;
     mode              = CameraMode.Follow;
 }
Exemplo n.º 19
0
 public void UseEditCamera()
 {
     editCam.gameObject.SetActive(true);
       boofyCam.gameObject.SetActive(false);
       editCam.orthographicSize = editCameraSize;
       cameraMode = CameraMode.kEdit;
 }
Exemplo n.º 20
0
    public void setCameraMode(string mode)
    {
        transitioning = true;
        CameraMode cameraMode = CameraMode.Free;

        switch (mode)
        {
        case "Free":
            cameraMode = CameraMode.Free;
            break;

        case "FirstPerson":
            cameraMode = CameraMode.FirstPerson;
            break;

        case "LockToRobotForward":
            cameraMode = CameraMode.LockToRobotForward;
            break;

        case "ZoomedOut":
            cameraMode = CameraMode.ZoomedOut;
            break;

        case "TopDown":
            cameraMode = CameraMode.TopDown;
            break;

        default:
            break;
        }
        camMode = cameraMode;
    }
Exemplo n.º 21
0
 public void setFocus(GameObject targetObject)
 {
     if(mode != CameraMode.Move)
         previousMode = mode;
     mode = CameraMode.Move;
     moveTarget = targetObject;
 }
Exemplo n.º 22
0
 public Camera(CameraMode cameraMode, Vector3 position, float aspectRatio)
 {
     _cameraMode = cameraMode;
     Position    = position;
     AspectRatio = aspectRatio;
     UpdateVectors();
 }
Exemplo n.º 23
0
 public void newTargetView(Transform newTransform)
 {
     cameraMode = CameraMode.ToTarget;
     targetPosition = newTransform.position + Vector3.up * 2;
     targetOffset = newTransform.forward * 3 + newTransform.up * 3 + newTransform.right * 3;
     isTransforming = true;
 }
Exemplo n.º 24
0
 public Camera(Rectangle viewportRectangle)
 {
     _speed = DefaultSpeed;
     Zoom = DefaultZoom;
     _viewportRectangle = viewportRectangle;
     _mode = CameraMode.Follow;
 }
Exemplo n.º 25
0
 public void DecreaseView()
 {
     if (CameraMode == CameraMode.Overhead)
         CameraMode = CameraMode.FirstPerson;
     else
         CameraMode --;
 }
 public CombinedCamera(Tank target, CameraMode initialMode, Vector3 initialPosition)
 {
     this.mode = initialMode;
     this.tank = target;
     this.focus = target.getPosition();
     this.position = initialPosition;
 }
Exemplo n.º 27
0
 public Camera(Game game, Matrix world)
     : base(game)
 {
     world_ = world;
     Mode = CameraMode.PROJECTIVE;
     string shit = CameraMode.PROJECTIVE.ToString();
 }
Exemplo n.º 28
0
    // Update is called once per frame
    void Update()
    {
        // zer0sum: will zoom to 3rd person cam if 1st person scrolls out
        if (m_curCameraMode == CameraMode.FirstPerson)
        {
            if (!f_p_c)
            {
                f_p_cZoomDelta = Input.GetAxis("Mouse ScrollWheel");
                f_p_c          = true;
            }
            else
            {
                if (f_p_cZoomDelta != Input.GetAxis("Mouse ScrollWheel"))
                {
                    m_curCameraMode = CameraMode.ThirdPersonLocked;
                    ChangeCamera();
                    f_p_c = false;
                }
            }
        }

        if (Input.GetKeyDown(KeyCode.F9))
        {
            m_curCameraMode++;

            if (m_curCameraMode >= CameraMode.MAX)
            {
                m_curCameraMode = CameraMode.FirstPerson;
            }
            //FirstPersonCamera.gameObject.SetActive(!FirstPersonCamera.gameObject.activeSelf);
            //ThirdPersonCamera.gameObject.SetActive(!ThirdPersonCamera.gameObject.activeSelf);

            ChangeCamera();
        }

        if (Input.GetKeyDown(KeyCode.F10))
        {
            int  desktopWidth  = Screen.currentResolution.width;
            int  desktopHeight = Screen.currentResolution.height;
            bool curState      = Screen.fullScreen;

            if (curState == false)
            {
                Screen.SetResolution(desktopWidth, desktopHeight, true);
            }
            else
            {
                Screen.fullScreen = false;
            }
        }

        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (Screen.fullScreen)
            {
                Screen.fullScreen = false;
            }
        }
    }
Exemplo n.º 29
0
    void Update()
    {
        if (LBootApp.Running || this.root == null)
        {
            return;
        }
        mayResetParams();


        if (isShowCollider != showColliderBox)
        {
            GameObject    walls   = GameObject.Find("/scenery/fightBoundary");
            BoxCollider[] renders = walls.GetComponentsInChildren <BoxCollider>(false);

            foreach (BoxCollider bc in renders)
            {
                MeshRenderer mr = bc.gameObject.GetComponent <MeshRenderer>();
                if (mr)
                {
                    mr.enabled = showColliderBox;
                }
            }

            isShowCollider = showColliderBox;
        }
        checkPlayerMove();

        if (curCameraMode != cameraMode)
        {
            InitCamera();
            go.transform.rotation = Quaternion.Euler(0, 90, 0);
            curCameraMode         = cameraMode;
        }

        if (cameraMode == CameraMode.City)
        {
            checkCameraMove();
            checkCameraRayCastConflict();
            this.transform.LookAt(LookAtPos);
        }
        else
        {
            updateCombatCamera();
            if (playerHead)
            {
                var cameraLookAtPos = go.transform.position;
                cameraLookAtPos.y = cameraLookAtPos.y + playerHeadHeight;
                this.transform.LookAt(cameraLookAtPos);
            }
            else
            {
                this.transform.LookAt(LookAtPos);
            }
        }



//		Debug.Log(LayerMask.NameToLayer("Player"));
    }
    void LateUpdate()
    {
        // Change camera mode
        if (Input.GetAxis("Camera Mode") > 0.1f)
        {
            if (!toggle)
            {
                int newModeInt = (int)cameraMode + 1;
                if (newModeInt > 2)
                {
                    newModeInt = 0;
                }
                cameraMode = (CameraMode)newModeInt;
            }
            toggle = true;
        }
        else
        {
            toggle = false;
        }

        // Perform camera mode
        switch (cameraMode)
        {
        case CameraMode.FPV:
            transform.position = rigidbody.position + rigidbody.transform.up * 0.65f;
            transform.rotation = rigidbody.rotation;
            break;

        case CameraMode.Orbit:

            yawRotation   += Mathf.Clamp(60 * Input.GetAxis("Look X") * Time.deltaTime, -180, 180);
            pitchRotation += Mathf.Clamp(60 * Input.GetAxis("Look Y") * Time.deltaTime, -89, 89);

            if (Mathf.Abs(Input.GetAxis("Look X")) < 0.05f && Mathf.Abs(Input.GetAxis("Look Y")) < 0.05f)
            {
                yawRotation   = Mathf.Lerp(yawRotation, 0, Time.deltaTime);
                pitchRotation = Mathf.Lerp(pitchRotation, 0, Time.deltaTime);
            }

            Vector3 forwardAxis = -rigidbody.velocity.normalized;
            Vector3 rightAxis   = Vector3.Cross(forwardAxis, Vector3.up);

            Vector3 cameraOffset = Quaternion.AngleAxis(pitchRotation, rightAxis) * forwardAxis;
            cameraOffset = Quaternion.AngleAxis(yawRotation, Vector3.up) * cameraOffset;

            deltaPosition      = Vector3.Lerp(deltaPosition, distance * cameraOffset, Time.deltaTime);
            transform.position = rigidbody.position + deltaPosition;
            transform.LookAt(airplane);
            break;

        case CameraMode.Static:
            transform.LookAt(airplane);
            break;

        default:
            break;
        }
    }
Exemplo n.º 31
0
        Matrix ViewMatrix(CameraMode cameraMode, Camera camera /*,  cameraPosition, cameraTarget,upAxis */)
        {
//            camera.cameraPosition = cameraPosition ?? new DenseVector(new[] {0.0, 0.0, 0.0});
//            camera.cameraTarget = cameraTarget ?? new DenseVector(new[] {0.0, 0.0, 0.0});
//            camera.upAxis = upAxis ?? new DenseVector(new[] {0.0, 0.0, 1.0});

            return(camera.LookAt());
        }
Exemplo n.º 32
0
 public Camera(Rectangle viewportRectangle)
 {
     //TODO: hardcoded speed and zoom
     Speed = 40f;
     zoom  = 1f;
     this.viewportRectangle = viewportRectangle;
     this.mode = CameraMode.Follow;
 }
Exemplo n.º 33
0
        private void SetUpCamera()
        {
            cameraPosition = new Vector3(0.0f, 50.0f, 50.0f);
            cameraFocusOn  = new Vector3(0.0f, 50.0f, 50.0f);
            cameraUp       = Vector3.Up;

            mode = CameraMode.Simple;
        }
 private void OnCameraModeChanged(CameraMode cameraMode1, CameraMode newMode)
 {
     if (newMode == CameraMode.Sniper)
     {
         _lastPoint          = Mouse.GetPosition(this.CaptureBorder);
         _isfirstSniperFrame = true;
     }
 }
Exemplo n.º 35
0
    public void SetCameraMode(CameraMode mode)
    {
        SingleCamera.enabled = mode == CameraMode.Single;

        for(int i = 0; i < SideBySideCamera.Length;i++){
            SideBySideCamera[i].enabled = mode == CameraMode.SideBySide;
        }
    }
Exemplo n.º 36
0
 public Camera(Rectangle viewportRect, Vector2 position)
 {
     speed = 4f;
     zoom = 1f;
     viewportRectangle = viewportRect;
     Position = position;
     mode = CameraMode.Follow;
 }
Exemplo n.º 37
0
 public void ToggleLockOn( GameObject t )
 {
     if( mode is CameraMode.LockedOn ) {
       mode = mode.Switch( new CameraMode.Free() );
     } else {
       mode = mode.Switch( new CameraMode.LockedOn( t ) );
     }
 }
Exemplo n.º 38
0
 //call this to pan out and away from boat at end of level
 public void PanOut()
 {
     lerpTimer = Time.time;
     isPanningOut = true;
     startPosition = transform.position;
     panAwayPosition = new Vector3(transform.position.x + -50f, transform.position.y + 100f, transform.position.z + -50f);
     thisCameraMode = CameraMode.lerpToDestination;
 }
 /// <summary>
 /// Initialize manager.
 /// </summary>
 public void Initialize()
 {
     EventSystem  = EventSystem.current;
     GameManager  = GameManager.GetManager();
     WorldManager = WorldManager.GetManager();
     World        = WorldManager.World;
     CameraMode   = CameraMode.Free;
 }
Exemplo n.º 40
0
 public Camera(Rectangle viewportRect, Vector2 position)
 {
     speed             = 4f;
     zoom              = 1f;
     viewportRectangle = viewportRect;
     Position          = position;
     mode              = CameraMode.Follow;
 }
Exemplo n.º 41
0
 public SerializableKeyFrame(FreeCameraKeyFrame fk)
 {
     this.cameraMode = CameraMode.Free;
     this.position   = new SerializableVector3(fk.position);
     this.rotation   = new SerializableQuaternion(fk.rotation);
     this.fov        = fk.fov;
     this.time       = fk.time;
 }
Exemplo n.º 42
0
    public void SwitchToOverheadMode()
    {
        CameraMode = CameraMode.Overhead;

        Camera.main.transform.parent        = OverheadStartPosition;
        Camera.main.transform.localPosition = new Vector3();
        Camera.main.transform.rotation      = new Quaternion();
    }
Exemplo n.º 43
0
 public CameraHandler(GameMap map, CameraMode cameraMode = CameraMode.Free)
 {
     this.map        = map;
     camera          = map.Camera;
     this.cameraMode = cameraMode;
     oldMode         = cameraMode;
     currentAgentId  = -1;
 }
Exemplo n.º 44
0
 public Camera(Rectangle viewportRectangle, Vector2 position)
 {
     _speed = DefaultSpeed;
     Zoom = DefaultZoom;
     _position = position;
     _viewportRectangle = viewportRectangle;
     _mode = CameraMode.Follow;
 }
Exemplo n.º 45
0
 // select next camera mode, used by OpenSteerDemo
 public void SelectNextMode()
 {
     Mode = SuccessorMode(Mode);
     if (Mode >= CameraMode.EndMode)
     {
         Mode = SuccessorMode(CameraMode.StartMode);
     }
 }
Exemplo n.º 46
0
    // Update is called once per frame
    void Update()
    {
        float lerpVal = Time.deltaTime*0.1f*60f;

        if(Input.GetKeyDown(KeyCode.Return))
        {
            CurrentCameraMode = CameraMode.Game;
            _CurrentCamPos = transform.position;
            _CurrentTargetPos = _LookAtPos;
        }
        // Menu camera
        if(CurrentCameraMode == CameraMode.Menu)
        {
            if(_CamPosIndex < _CamPosList.Count-1)
            {
                if(_CamPosList[_CamPosIndex+1] && Mathf.Abs(_CamPosList[_CamPosIndex+1].position.x - transform.position.x) < 0.25f)
                {
                    Debug.Log("close enough");
                    ++_CamPosIndex;
                }

                transform.position = Vector3.Lerp(transform.position, _CamPosList[_CamPosIndex+1].position, lerpVal/10);

                    _LookAtPos = transform.position;
                    _LookAtPos.y -= 1.0f;
                    transform.LookAt(_LookAtPos);

            }
            else if(_CamPosIndex == _CamPosList.Count - 1)
                {
                    _LookAtPos = Vector3.Lerp(_LookAtPos, EndTarget.position, lerpVal/20);
                    transform.LookAt(_LookAtPos);
                }
        }
        // Game camera
        else if(CurrentCameraMode == CameraMode.Game)
        {
            if(!_PlayerDied)
            {
                CalcDesiredPos();
            }

            if(Input.GetKeyDown(KeyCode.Space))
            {
                _DesiredCamDist = CamDistFar;
            }
            if(Input.GetKeyUp(KeyCode.Space))
            {
                _DesiredCamDist = CamDist;
            }
            _CurrentCamPos = Vector3.Lerp(_CurrentCamPos,_DesiredCamPos,lerpVal);
            _CurrentTargetPos = Vector3.Lerp(_CurrentTargetPos,_DesiredTargetPos,lerpVal);
            _CurrentCamDist = Mathf.Lerp(_CurrentCamDist,_DesiredCamDist,lerpVal);

            CalcLookat();
        }
    }
Exemplo n.º 47
0
 public Camera(Rectangle viewport, Configuration.Controls controls, Vector2 position, CameraMode mode = CameraMode.Follow)
 {
     _controls = controls;
     Speed = 4.0f;
     _zoom = 1.0f;
     _viewport = viewport;
     Position = position;
     _mode = mode;
 }
Exemplo n.º 48
0
 /// <summary>
 /// Defines a chasing camera around the target (or the first ship to come).
 /// </summary>
 /// <param name="mode">Camera mode (cockpit or external).</param>
 /// <param name="target">Target ship name.</param>
 public OrbCamera(CameraMode mode, string target = "")
 {
     Mode = mode;
     Target = target;
     Pos = new Vector3(0, 5, 2);
     TrackMode = CameraTrackMode.TargetRelative;
     GroundLocation = new double[] { 0, 0, 0 };
     GroundDirection = new double[] { 0, 0 };
     FieldOfView = 60.0;
 }
Exemplo n.º 49
0
 public Camera()
 {
     x = 0;
     y = 0;
     mode = CameraMode.Manual;
     _following = null;
     bounded = true;
     bounds = new CameraBounds();
     bounds.inherit_from_map();
 }
Exemplo n.º 50
0
    void Start()
    {
        camera = GetComponentInChildren<Camera>();
        Assert.IsNotNull( camera );

        // TODO: Make this based on settings
        mode = new CameraMode.Free();

        offset = FindOffset();
    }
Exemplo n.º 51
0
	void Update ()
	{
        if (isDead ())
		{
			Debug.Log ("Player died!");

            animator.SetBool("dead", true);
        }

		if (currentCameraMode == CameraMode.Third)
		{
			if (FirstPerson.activeInHierarchy)
				FirstPerson.SetActive (false);
			if (!ThirdPerson.activeInHierarchy)
				ThirdPerson.SetActive (true);

			Cursor.visible = true;
			Cursor.lockState = CursorLockMode.None;

			if (Input.GetKeyDown (KeyCode.Space))
			{
				currentCameraMode = CameraMode.First;
			}
		} else if (currentCameraMode == CameraMode.First)
		{
			if (!FirstPerson.activeInHierarchy)
				FirstPerson.SetActive (true);
			if (ThirdPerson.activeInHierarchy)
				ThirdPerson.SetActive (false);

			Cursor.visible = false;
			Cursor.lockState = CursorLockMode.Locked;

			if (Input.GetKeyDown (KeyCode.Space))
			{
				currentCameraMode = CameraMode.Third;
			}
			if (Input.GetMouseButtonDown (0))
			{
				currentCameraMode = CameraMode.Arrow;
				FirstPerson.SetActive (false);
				Transform vert = FirstPerson.transform.FindChild ("VerticalAnchor");
				GameObject arrow = Instantiate (ArrowMode, arrowSpawn.transform.position, arrowSpawn.transform.rotation) as GameObject;
			}
		} else
		{
			if (FirstPerson.activeInHierarchy)
				FirstPerson.SetActive (false);
			if (ThirdPerson.activeInHierarchy)
				ThirdPerson.SetActive (false);

			Cursor.visible = false;
			Cursor.lockState = CursorLockMode.Locked;
		}
	}
Exemplo n.º 52
0
 /// <summary>
 /// Defines a camera - with the mode and the track method.
 /// </summary>
 /// <param name="mode">Camera mode.</param>
 /// <param name="tmode">Camera track mode.</param>
 /// <param name="target">Target ship.</param>
 /// <param name="refbody">Reference body (for Target[from|to] and Ground track modes).</param>
 public OrbCamera(CameraMode mode, CameraTrackMode tmode, string target = "", string refbody = "")
 {
     Mode = mode;
     Target = target;
     RefBody = refbody;
     Pos = new Vector3(0, 5, 2);
     TrackMode = tmode;
     GroundLocation = new double[] { 0, 0, 0 };
     GroundDirection = new double[] { 0, 0 };
     FieldOfView = 60.0;
 }
        /**
         * HandleInput: switch camera modes and activate tweaning between them
         */
        public void handleInput(KeyboardState currentKeyboardState)
        {
            // SWITCH camera
            if (currentKeyboardState.IsKeyDown(Keys.D1))
            {
                this.mode = CameraMode.FirstPerson;
                posTweanActive = true;                      // reactivate tweaning
                focTweanActive = true;
            }

            if (currentKeyboardState.IsKeyDown(Keys.D2))
            {
                this.mode = CameraMode.ThirdPerson;
                posTweanActive = true;                      // reactivate tweaning
                focTweanActive = true;
            }

            if (currentKeyboardState.IsKeyDown(Keys.D3))
            {
                this.mode = CameraMode.Orbitting;
                this.orbitAngle = tank.orientationAngle;    // orbit must start at the 3rd person angle
                posTweanActive = true;                      // reactivate tweaning
                focTweanActive = true;
            }

            // Height and distance of camera
            if (currentKeyboardState.IsKeyDown(Keys.L))
            {
                distance = MathHelper.Clamp(distance + C_DELTADISTANCE, C_MINDISTANCE, C_MAXDISTANCE);
            }
            if (currentKeyboardState.IsKeyDown(Keys.O))
            {
                distance = MathHelper.Clamp(distance - C_DELTADISTANCE, C_MINDISTANCE, C_MAXDISTANCE);
            }

            if (currentKeyboardState.IsKeyDown(Keys.I))
            {
                height = MathHelper.Clamp(height + C_DELTAHEIGHT, C_MINHEIGHT, C_MAXHEIGHT);
            }
            if (currentKeyboardState.IsKeyDown(Keys.K))
            {
                height = MathHelper.Clamp(height - C_DELTAHEIGHT, C_MINHEIGHT, C_MAXHEIGHT);
            }

            if (currentKeyboardState.IsKeyDown(Keys.U))
            {
                looseness = MathHelper.Clamp(looseness + 0.005f, 0.05f, 0.9f);
            }
            if (currentKeyboardState.IsKeyDown(Keys.J))
            {
                looseness = MathHelper.Clamp(looseness - 0.005f, 0.05f, 0.9f);
            }
        }
Exemplo n.º 54
0
        public OrbitCameraController(CameraMode camMode)
        {
            _view = Matrix4.CreateFromAxisAngle(new Vector3(0.0f, 1.0f, 0.0f), 0.9f);

            _viewWithOffset = Matrix4.Identity;

            _cameraDistance = InitialCameraDistance;

            _right = Vector3.UnitX;
            _up = Vector3.UnitY;
            _front = Vector3.UnitZ;

            SetOrbitOrConstrainedMode(camMode, true);           
        }
Exemplo n.º 55
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Camera"/> class.
 /// </summary>
 /// <param name="position">The position.</param>
 /// <param name="yaw">The yaw.</param>
 /// <param name="pitch">The pitch.</param>
 /// <param name="roll">The roll.</param>
 /// <param name="fov">The fov.</param>
 /// <param name="aspect">The aspect.</param>
 /// <param name="nearClipPlane">The near clip plane.</param>
 /// <param name="farClipPlane">The far clip plane.</param>
 public Camera(Vector3 position, float yaw, float pitch, float roll, float fov, float width, float height, float aspect, float nearClipPlane, float farClipPlane)
 {
     Matrix.RotationYawPitchRoll(yaw, pitch, roll, out worldToCamera);
     this.position = position;
     this.orthographicSize = 1; // default value for orthographic
     this.mode = CameraMode.Free;
     this.fieldOfView = fov;
     this.Width = width;
     this.Height = height;
     this.aspect = aspect;
     this.nearClipPlane = nearClipPlane;
     this.farClipPlane = farClipPlane;
     UpdateWorldToCamera();
     UpdateProjection();
 }
Exemplo n.º 56
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Camera"/> class.
 /// </summary>
 /// <param name="position">The position.</param>
 /// <param name="target">The target.</param>
 /// <param name="fov">The fov.</param>
 /// <param name="aspect">The aspect.</param>
 /// <param name="nearClipPlane">The near clip plane.</param>
 /// <param name="farClipPlane">The far clip plane.</param>
 public Camera(Vector3 position, Vector3 target, float fov, float width, float height, float aspect, float nearClipPlane, float farClipPlane)
 {
     this.orthographicSize = 1; // default value for orthographic
     this.mode = CameraMode.Target;
     this.position = position;
     this.target = target;
     this.fieldOfView = fov;
     this.Width = width;
     this.Height = height;
     this.aspect = aspect;
     this.nearClipPlane = nearClipPlane;
     this.farClipPlane = farClipPlane;
     UpdateWorldToCamera();
     UpdateProjection();
 }
Exemplo n.º 57
0
	// Update once a frame.
	#region Update
	void Update()
	{
		switch(camMode)
		{
			case CameraMode.free:
				FreeCamera();
				break;
			case CameraMode.thirdperson:
				ThirdPerson();
				break;
			default:
				Debug.Log("IMPOSSIBLE!!");
			break;
		}
		
		// Toggle cameramode
		if(Input.GetKeyDown(KeyCode.F6))
		{
			if((int)camMode!=2)
				camMode++;
			else
				camMode=CameraMode.free;
		}
	}
Exemplo n.º 58
0
 public void ToggleCameraMode()
 {
     if (mode == CameraMode.Follow)
         mode = CameraMode.Free;
     else if (mode == CameraMode.Free)
         mode = CameraMode.Follow;
 }
Exemplo n.º 59
0
		// the mode that comes after the given mode (used by selectNextMode)
		protected CameraMode SuccessorMode(CameraMode cm)
		{
			return (CameraMode)(((int)cm) + 1);
		}
Exemplo n.º 60
0
		// select next camera mode, used by OpenSteerDemo
		public void SelectNextMode()
		{
			Mode = SuccessorMode(Mode);
			if (Mode >= CameraMode.EndMode) Mode = SuccessorMode(CameraMode.StartMode);
		}