[Cinemachine] Как реализовать осмотр объекта с шагом 90*

Общие вопросы о Unity3D

[Cinemachine] Как реализовать осмотр объекта с шагом 90*

Сообщение Od1Um 03 окт 2022, 18:39

Добрый день!

Приступил к изучению Cinemachine.
Инструмент понравился, но подробного гайда на все случаи жизни не нашел. Если есть - поделитесь, пожалуйста.

Задача:
Есть объект. Нужно, чтобы камера перемещалась по его горизонтальной орбите с заданным шагом (90*).
Сначала камера смотрит прямо. Если игрок нажимает стрелку влево, то камера пролетает по орбите и уже смотрит на объект слева и т.д.
При этом, желательно оставить возможность игроку слегка отклонять камеру в каждой позиции. Т.е. я смотрю прямо, но с зажатой кнопкой могу ее чуть чуть вверх-вниз и вправо-влево по орбите передвигать, осматривая объект.

Как правильнее и оптимально это реализовать?
Я использую камеру CinemachineFreeLook, там есть почти все необходимые настройки. Но я не нашел, есть ли возможность задать этот самый шаг.

Вижу следующие пути решения:
1. Написать собственный контроллер камеры, изменяя такие параметры как:
Синтаксис:
Используется csharp
this.freeLookCamera.m_YAxisRecentering.m_enabled
this.freeLookCamera.m_RecenterToTargetHeading.m_enabled
this.freeLookCamera.m_Heading.m_Bias
 

Но, выглядит это как-то громоздко. Обертка над оберткой

2. Использовать 4 виртуальные камеры (на каждую сторону) и переключаться между ними.
Но на сколько это правильное решение? Не повлияет ли на быстродейстиве?

Буду рад советам.
Od1Um
UNец
 
Сообщения: 41
Зарегистрирован: 22 мар 2017, 17:54

Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5