public Camera(Rectangle viewportRect) { speed = 4f; zoom = 1f; viewportRectangle = viewportRect; mode = CameraMode.Follow; }
/// <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); })); }
/// <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); } })); }
// 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; } } }
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); }
// 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; } }
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); }
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); }
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); } } }
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(); }
// 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; } }
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); }
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); } }
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); }
public virtual void SetCameraMode( CameraMode cameraMode, Vector3 newForwardDirection ) { // do nothing }
public void IncreaseView() { if (CameraMode == CameraMode.FirstPerson) CameraMode = CameraMode.Overhead; else CameraMode ++; }
/// <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); }
public Camera(Rectangle viewportRect) { speed = 4f; zoom = 1f; viewportRectangle = viewportRect; mode = CameraMode.Follow; }
public void UseEditCamera() { editCam.gameObject.SetActive(true); boofyCam.gameObject.SetActive(false); editCam.orthographicSize = editCameraSize; cameraMode = CameraMode.kEdit; }
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; }
public void setFocus(GameObject targetObject) { if(mode != CameraMode.Move) previousMode = mode; mode = CameraMode.Move; moveTarget = targetObject; }
public Camera(CameraMode cameraMode, Vector3 position, float aspectRatio) { _cameraMode = cameraMode; Position = position; AspectRatio = aspectRatio; UpdateVectors(); }
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; }
public Camera(Rectangle viewportRectangle) { _speed = DefaultSpeed; Zoom = DefaultZoom; _viewportRectangle = viewportRectangle; _mode = CameraMode.Follow; }
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; }
public Camera(Game game, Matrix world) : base(game) { world_ = world; Mode = CameraMode.PROJECTIVE; string shit = CameraMode.PROJECTIVE.ToString(); }
// 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; } } }
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; } }
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()); }
public Camera(Rectangle viewportRectangle) { //TODO: hardcoded speed and zoom Speed = 40f; zoom = 1f; this.viewportRectangle = viewportRectangle; this.mode = CameraMode.Follow; }
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; } }
public void SetCameraMode(CameraMode mode) { SingleCamera.enabled = mode == CameraMode.Single; for(int i = 0; i < SideBySideCamera.Length;i++){ SideBySideCamera[i].enabled = mode == CameraMode.SideBySide; } }
public Camera(Rectangle viewportRect, Vector2 position) { speed = 4f; zoom = 1f; viewportRectangle = viewportRect; Position = position; mode = CameraMode.Follow; }
public void ToggleLockOn( GameObject t ) { if( mode is CameraMode.LockedOn ) { mode = mode.Switch( new CameraMode.Free() ); } else { mode = mode.Switch( new CameraMode.LockedOn( t ) ); } }
//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; }
public Camera(Rectangle viewportRect, Vector2 position) { speed = 4f; zoom = 1f; viewportRectangle = viewportRect; Position = position; mode = CameraMode.Follow; }
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; }
public void SwitchToOverheadMode() { CameraMode = CameraMode.Overhead; Camera.main.transform.parent = OverheadStartPosition; Camera.main.transform.localPosition = new Vector3(); Camera.main.transform.rotation = new Quaternion(); }
public CameraHandler(GameMap map, CameraMode cameraMode = CameraMode.Free) { this.map = map; camera = map.Camera; this.cameraMode = cameraMode; oldMode = cameraMode; currentAgentId = -1; }
public Camera(Rectangle viewportRectangle, Vector2 position) { _speed = DefaultSpeed; Zoom = DefaultZoom; _position = position; _viewportRectangle = viewportRectangle; _mode = CameraMode.Follow; }
// select next camera mode, used by OpenSteerDemo public void SelectNextMode() { Mode = SuccessorMode(Mode); if (Mode >= CameraMode.EndMode) { Mode = SuccessorMode(CameraMode.StartMode); } }
// 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(); } }
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; }
/// <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; }
public Camera() { x = 0; y = 0; mode = CameraMode.Manual; _following = null; bounded = true; bounds = new CameraBounds(); bounds.inherit_from_map(); }
void Start() { camera = GetComponentInChildren<Camera>(); Assert.IsNotNull( camera ); // TODO: Make this based on settings mode = new CameraMode.Free(); offset = FindOffset(); }
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; } }
/// <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); } }
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); }
/// <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(); }
/// <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(); }
// 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; } }
public void ToggleCameraMode() { if (mode == CameraMode.Follow) mode = CameraMode.Free; else if (mode == CameraMode.Free) mode = CameraMode.Follow; }
// the mode that comes after the given mode (used by selectNextMode) protected CameraMode SuccessorMode(CameraMode cm) { return (CameraMode)(((int)cm) + 1); }
// select next camera mode, used by OpenSteerDemo public void SelectNextMode() { Mode = SuccessorMode(Mode); if (Mode >= CameraMode.EndMode) Mode = SuccessorMode(CameraMode.StartMode); }