private void LateUpdate() { // position = rotation * new Vector3(0.0F, 0.5f, -distance) + target.transform.position; // transform.position = Vector3.Lerp(transform.position, position, 0.8f); if (scene.name == "Player2D" || scene.name == "Player2DVR") { if (screenRotaEnale == true) { // Debug.Log("screenRotaEnale"); CameraRotate(); } else if (screenRotaEnale == false) { // Debug.Log("CanvasEnable"); canvasStatus = CanvasStatus.CanvasEnable; } } else { CameraRotate(); } SetCanvasEventTrue(); }
void CameraRotate() { if (Input.touchCount == 1) { if (Input.GetTouch(0).phase == TouchPhase.Moved) { canvasStatus = CanvasStatus.CanvasDisable; if (!EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)) { a = Input.GetTouch(0).deltaPosition; x += a.x * xSpeed * Time.deltaTime; y += a.y * xSpeed * Time.deltaTime; if (y > 5) { y = 5; } if (y < -35) { y = -35; } rotation = Quaternion.Euler(y, x, 0); transform.rotation = rotation; // position = rotation * new Vector3(0.0F, 0.5f, -distance) + target.transform.position; //transform.position = Vector3.Lerp(transform.position, position, 0.8f); } } else { canvasStatus = CanvasStatus.CanvasEnable; } } }
void SetCanvasEventTrue() { switch (canvasStatus) { case CanvasStatus.Default: break; case CanvasStatus.CanvasEnable: for (int i = 0; i < canvasList.Count; i++) { graphicRaycasterList[i].enabled = true; } canvasStatus = CanvasStatus.Default; break; case CanvasStatus.CanvasDisable: for (int i = 0; i < canvasList.Count; i++) { graphicRaycasterList[i].enabled = false; } canvasStatus = CanvasStatus.Default; break; default: break; } }
public void SetStatus(CanvasStatus status) { this.Status = status; }