public bool isNotBirdWatching() { bool rc = false; BirdsEyeCamera bec = (BirdsEyeCamera)GameObject.FindObjectOfType(typeof(BirdsEyeCamera)); if (bec) { rc = bec.isNotAiming(); } return(rc); }
void rotateTransCam(float dt) { BallScript ballScript = (BallScript)GameObject.FindObjectOfType(typeof(BallScript)); Camera camera0 = Camera.main; if (ballScript && camera0) { Quaternion quat = ballScript.transform.rotation; Vector3 pos = ballScript.getPos(); Vector3 cameraPos = pos + quat * cameraOffset; Vector3 targetPos = pos + quat * targetOffset; float clampTime = m_time / rotateTowardsTime; m_time += dt; if (clampTime > 1) { clampTime = 1; } if (clampTime >= 1) { BirdsEyeCamera bec = (BirdsEyeCamera)GameObject.FindObjectOfType(typeof(BirdsEyeCamera)); if (bec) { bec.clearTime(); } } Vector3 vec = Vector3.Lerp(m_cameraPos, cameraPos, clampTime); Vector3 dir = (targetPos - transform.position).normalized; Quaternion lookRotation = Quaternion.LookRotation(dir); camera0.transform.position = vec; transform.rotation = Quaternion.Slerp(m_cameraRot, lookRotation, clampTime); //camera0.transform.LookAt( targetPos ); } }