// Update is called once per frame void LateUpdate() { switch (m_state) { case Feature.Move: ProgressiveMovement.Move(ref m_cameraData, trackPos); break; case Feature.Track: { if (m_player != null) { PositionTracking.Tracking(ref m_cameraData, m_player.transform.position); } break; } case Feature.ZoomAmount: Zooming.ZoomInOutAmount(ref m_cameraData); break; case Feature.ZoomTime: Zooming.ZoomInOutTime(ref m_cameraData); break; case Feature.ZoomPosition: Zooming.ZoomInOutPosition(ref m_cameraData, trackPos); break; default: break; } transform.position = m_cameraData.GetPosition(); }
private void Start() { _camera = GetComponent <Camera>(); myposition = transform; _camera.orthographic = true; _camera.orthographicSize = cameraSize; // Checking for modules if (GetComponent <DeadZone>() != null) { deadZoneAvailable = true; deadZone = GetComponent <DeadZone>(); } if (GetComponent <CameraLimiters>() != null) { boundToLimitsAvailable = true; limiter = GetComponent <CameraLimiters>(); } if (GetComponent <Zooming>() != null) { zoomer = GetComponent <Zooming>(); } }
// Use this for initialization void Start() { _zoom = Zooming.NotZoomed; _camera = GetComponent <Camera>(); _defaultTransform = new CameraPosition(transform); _defaultFov = _camera.fieldOfView; _hit = new RaycastHit(); }
// Use this for initialization void Start() { _zoom = Zooming.NotZoomed; _camera = GetComponent<Camera>(); _defaultTransform = new CameraPosition(transform); _defaultFov = _camera.fieldOfView; _hit = new RaycastHit(); }
// Start is called before the first frame update void Start() { if (current == null) { current = this; } else { Destroy(this); return; } main = Camera.main; }
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { base.OnPropertyChanged(e); switch (e.Property.Name) { case "Scale": Zooming?.Invoke(this, new ZoomEventArgs() { OldScale = (double)e.OldValue, NewScale = (double)e.NewValue }); break; case "OffsetX": case "OffsetY": Panning?.Invoke(this, EventArgs.Empty); break; } }
private void DiaoController_RotationChanged(RadialController sender, RadialControllerRotationChangedEventArgs args) { var selectedTool = _diaoController.Menu.GetSelectedMenuItem(); if (selectedTool == DiaoToolOpacity) { OpacityChanging?.Invoke(sender, args); } if (selectedTool == DiaoToolUndoRedo) { UndoRedo?.Invoke(sender, args); } if (selectedTool == DiaoToolZoom) { Zooming?.Invoke(sender, args); } if (selectedTool == DiaoToolAlignmentGrid) { AlignmentGridChanging?.Invoke(sender, args); } }
// Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) { _draging = true; } if (Input.GetMouseButtonUp(0)) { _draging = false; } Ray ray = _camera.ScreenPointToRay(Input.mousePosition); if (_draging) { _isHit = _draging = Physics.Raycast(ray, out _hit, 100) && _hit.transform.tag == "Zoomable"; } switch (_zoom) { case Zooming.NotZoomed: if (Input.GetMouseButtonDown(0)) { if (_isHit) { var temp = new GameObject(); temp.transform.position = _hit.transform.up * 2.2f + _hit.transform.position; temp.transform.LookAt(_hit.transform); _zoomTransform = new CameraPosition(temp.transform); _zoom = Zooming.ZoomingIn; _lerp = 0; } } break; case Zooming.ZoomingIn: _lerp += Time.deltaTime / Duration; transform.position = Vector3.Lerp(_defaultTransform.Position, _zoomTransform.Position, _lerp); transform.forward = Vector3.Lerp(_defaultTransform.Forward, _zoomTransform.Forward, _lerp); if (_lerp >= 1) { _zoom = Zooming.Zoomed; } break; case Zooming.ZoomingOut: _lerp += Time.deltaTime / Duration; transform.position = Vector3.Slerp(_zoomTransform.Position, _defaultTransform.Position, _lerp); transform.forward = Vector3.Slerp(_zoomTransform.Forward, _defaultTransform.Forward, _lerp); _camera.fieldOfView = Mathf.Lerp(_zoomFov, _defaultFov, _lerp); if (_lerp >= 1) { _zoom = Zooming.NotZoomed; } break; case Zooming.Zoomed: if (_draging) { if (_isHit) { if (Input.GetMouseButtonDown(0)) { _prevPoint = _hit.point; } var delta = _prevPoint - _hit.point; _camera.transform.position += new Vector3(delta.x, 0, delta.z); } break; } if (Input.GetAxis("Mouse ScrollWheel") < 0) { _camera.fieldOfView = Mathf.Min(_camera.fieldOfView + 2, 80); } if (Input.GetAxis("Mouse ScrollWheel") > 0) { _camera.fieldOfView = Mathf.Max(_camera.fieldOfView - 2, 5); } if (Input.GetMouseButtonDown(1)) { _zoomTransform = new CameraPosition(transform); _zoomFov = _camera.fieldOfView; _zoom = Zooming.ZoomingOut; _lerp = 0; } break; default: throw new ArgumentOutOfRangeException(); } ray = _camera.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out _hit, 100)) { _prevPoint = _hit.point; } }
// Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) _draging = true; if (Input.GetMouseButtonUp(0)) _draging = false; Ray ray = _camera.ScreenPointToRay(Input.mousePosition); if (_draging) _isHit = _draging = Physics.Raycast(ray, out _hit, 100) && _hit.transform.tag == "Zoomable"; switch (_zoom) { case Zooming.NotZoomed: if (Input.GetMouseButtonDown(0)) { if (_isHit) { var temp = new GameObject(); temp.transform.position = _hit.transform.up * 2.2f + _hit.transform.position; temp.transform.LookAt(_hit.transform); _zoomTransform = new CameraPosition(temp.transform); _zoom = Zooming.ZoomingIn; _lerp = 0; } } break; case Zooming.ZoomingIn: _lerp += Time.deltaTime / Duration; transform.position = Vector3.Lerp(_defaultTransform.Position, _zoomTransform.Position, _lerp); transform.forward = Vector3.Lerp(_defaultTransform.Forward, _zoomTransform.Forward, _lerp); if (_lerp >= 1) _zoom = Zooming.Zoomed; break; case Zooming.ZoomingOut: _lerp += Time.deltaTime / Duration; transform.position = Vector3.Slerp(_zoomTransform.Position, _defaultTransform.Position, _lerp); transform.forward = Vector3.Slerp(_zoomTransform.Forward, _defaultTransform.Forward, _lerp); _camera.fieldOfView = Mathf.Lerp(_zoomFov, _defaultFov, _lerp); if (_lerp >= 1) _zoom = Zooming.NotZoomed; break; case Zooming.Zoomed: if (_draging) { if (_isHit) { if (Input.GetMouseButtonDown(0)) { _prevPoint = _hit.point; } var delta = _prevPoint - _hit.point; _camera.transform.position += new Vector3(delta.x, 0, delta.z); } break; } if (Input.GetAxis("Mouse ScrollWheel") < 0) _camera.fieldOfView = Mathf.Min(_camera.fieldOfView + 2, 80); if (Input.GetAxis("Mouse ScrollWheel") > 0) _camera.fieldOfView = Mathf.Max(_camera.fieldOfView - 2, 5); if (Input.GetMouseButtonDown(1)) { _zoomTransform = new CameraPosition(transform); _zoomFov = _camera.fieldOfView; _zoom = Zooming.ZoomingOut; _lerp = 0; } break; default: throw new ArgumentOutOfRangeException(); } ray = _camera.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out _hit, 100)) { _prevPoint = _hit.point; } }