Приступил к изучению Cinemachine.
Инструмент понравился, но подробного гайда на все случаи жизни не нашел. Если есть - поделитесь, пожалуйста.
Задача:
Есть объект. Нужно, чтобы камера перемещалась по его горизонтальной орбите с заданным шагом (90*).
Сначала камера смотрит прямо. Если игрок нажимает стрелку влево, то камера пролетает по орбите и уже смотрит на объект слева и т.д.
При этом, желательно оставить возможность игроку слегка отклонять камеру в каждой позиции. Т.е. я смотрю прямо, но с зажатой кнопкой могу ее чуть чуть вверх-вниз и вправо-влево по орбите передвигать, осматривая объект.
Как правильнее и оптимально это реализовать?
Я использую камеру CinemachineFreeLook, там есть почти все необходимые настройки. Но я не нашел, есть ли возможность задать этот самый шаг.
Вижу следующие пути решения:
1. Написать собственный контроллер камеры, изменяя такие параметры как:
Синтаксис:
Используется csharp
this.freeLookCamera.m_YAxisRecentering.m_enabled
this.freeLookCamera.m_RecenterToTargetHeading.m_enabled
this.freeLookCamera.m_Heading.m_Bias
this.freeLookCamera.m_RecenterToTargetHeading.m_enabled
this.freeLookCamera.m_Heading.m_Bias
Но, выглядит это как-то громоздко. Обертка над оберткой
2. Использовать 4 виртуальные камеры (на каждую сторону) и переключаться между ними.
Но на сколько это правильное решение? Не повлияет ли на быстродейстиве?
Буду рад советам.