void Update() { if (state == SecondCameraState.Still) { this.GetComponent <Camera>().enabled = true; Vector3 targetPos = referencePoint.position; Vector3 targetLookAtPos = referencePoint.position + referencePoint.forward; //transform.position = Vector3.SmoothDamp(transform.position, targetPos, ref velocity_p, 1 / moveSpeed); transform.position = targetPos; //Quaternion euler1 = transform.rotation; transform.LookAt(targetLookAtPos); //Quaternion euler2 = transform.rotation; //transform.rotation = Quaternion.Slerp(euler1, euler2, Time.deltaTime * rotateSpeed); } else if (state == SecondCameraState.Swing) { this.GetComponent <Camera>().enabled = true; transform.position = target.position; transform.LookAt(target_LookAt); swingTimer += Time.deltaTime; if (swingTimer < swingLastingTime) { target_LookAt += transform.InverseTransformVector(new Vector3(Time.deltaTime * swingSpeed, 0f, 0f)); } else { state = SecondCameraState.none; } } else { swingTimer = 0.0f; this.GetComponent <Camera>().enabled = false; transform.position = MainCamera.transform.position; transform.rotation = MainCamera.transform.rotation; } }
public void Swing() { state = SecondCameraState.Swing; MainCamera.GetComponent <Camera>().enabled = true; }
public void Still() { state = SecondCameraState.Still; MainCamera.GetComponent <Camera>().enabled = false; }
void Start() { MainCamera = GameObject.FindGameObjectWithTag(Tags.Camera); state = SecondCameraState.none; }