Я пытаюсь повернуть камеру вокруг персонажа в определенном направлении, к которому он должен повернуться. Например, я хочу, чтобы моя камера вращалась вокруг моего персонажа и прекращала вращение, когда она обращена к передней оси другого объекта.
Поэтому я решил, что мне нужно сочетание между RotateAround () и LookRotation ().
RotateAround (), чтобы повернуть камеру вокруг персонажа, и LookRotation (), чтобы заставить камеру смотреть на этот объект, а также.
Проблема в том, что я не хочу, чтобы моя камера двигалась или поворачивалась от моего персонажа.
Я попробовал пару вещей, наиболее продуманным из которых было следующее:
private void RotateCamera()
{
Quaternion currentCameraRotation = _camera.transform.rotation;
Quaternion futureCameraRotation = Quaternion.LookRotation(_hitObstacleStartingPoint.transform.forward);
float rotationAngle;
Vector3 rotationAxis;
Quaternion.FromToRotation(currentCameraRotation.eulerAngles, futureCameraRotation.eulerAngles).ToAngleAxis(out rotationAngle, out rotationAxis);
_camera.transform.RotateAround(_character.transform.position, _camera.transform.up, rotationAngle);
}
Но это закончилось тем, что моя камера вращалась повсюду ..
Заранее спасибо!
РЕДАКТИРОВАТЬ: Я прошу прощения за мое ужасное объяснение.
Вот маленький рисунок.