Ограничивающие рамки могут быть полезны, но в этом случае вы захотите узнать центр ограничивающей рамки, если у вашего актера нет правильного центра (который можно решить, используя компонент сцены как root в иерархии актера), чтобы у вас была хорошая точка привязки для фокусировки.
Затем вам потребуется угол и расстояние, чтобы установить новое местоположение камеры. Возьмите свой новый круг в качестве центра (либо путем вычисления центра ограничительной рамки, либо с помощью GetActorLocation
), затем вы установите трансформацию камеры в определенной точке пространства, вычисляя местоположение с помощью синуса и косинуса из предоставленного угол.
Если вы используете SetActorLocation
или Мировое преобразование напрямую, камера будет прыгать. Чтобы смягчить это, проверьте текущее местоположение камеры, вычислите новое и создайте сплайн, используя эти две точки в пространстве. Таким образом, вы можете плавно перемещать камеру с помощью переменной скорости, GetWorldDeltaSeconds
и GetLocationAndRotationAlongSpline
.