private void OnDrawGizmos() { if (!Application.isPlaying || !m_akaiController.IsGrounded()) { return; } Gizmos.color = Color.red; Gizmos.DrawWireSphere(m_leftFootTransform.position, m_footRadius); Gizmos.DrawWireSphere(m_rightFootTransform.position, m_footRadius); Gizmos.color = Color.blue; Gizmos.DrawWireSphere(m_leftFootTarPos, m_footRadius); Gizmos.DrawWireSphere(m_rightFootTarPos, m_footRadius); }
// Update is called once per frame void FixedUpdate() { if (m_akaiController.IsGrounded()) { Vector3 tarPos = m_akaiController.GroundAt().point + m_groundOffset; m_cameraBoom.transform.position = new Vector3(Mathf.Lerp(m_cameraBoom.transform.position.x, tarPos.x, 10.0f * Time.deltaTime), Mathf.Lerp(m_cameraBoom.transform.position.y, tarPos.y, 5.0f * Time.deltaTime), Mathf.Lerp(m_cameraBoom.transform.position.z, tarPos.z, 10.0f * Time.deltaTime)); //m_cameraBoom.transform.position = Vector3.Lerp(m_cameraBoom.transform.position, m_akaiController.GroundAt().point + m_groundOffset, 0.65f); //m_camera.transform.rotation = Quaternion.LookRotation((m_cameraBoom.transform.position - m_camera.transform.position).normalized); //m_cameraBoom.transform.position = m_akaiController.GroundAt().point + m_groundOffset; } else { m_cameraBoom.transform.position = transform.position; //m_camera.transform.rotation = Quaternion.LookRotation((transform.position - m_camera.transform.position).normalized); } if (m_move.magnitude <= 0.001f && !m_waitForInputDelay) { StartCoroutine(WaitForInputDelay()); } else if (m_move.magnitude > 0.001f) { m_autoRotate = false; m_cameraBoom.transform.rotation *= Quaternion.Euler(0.0f, m_panSpeed * m_move.x * Time.deltaTime, 0.0f); // * Quaternion.Euler(m_tiltSpeed * m_move.y, 0.0f, 0.0f) m_cameraBoom.transform.rotation = Quaternion.Euler(m_maxTiltAngle * m_move.y, m_cameraBoom.transform.rotation.eulerAngles.y, 0.0f); } if (m_autoRotate) { m_cameraBoom.transform.rotation = Quaternion.RotateTowards(m_cameraBoom.transform.rotation, transform.rotation, 1.25f); } }