Бинарный Балагур
Гений
(84518)
5 месяцев назад
using Cinemachine;
using UnityEngine;
public class DisableCameraRotation : MonoBehaviour
{
public CinemachineVirtualCamera virtualCamera; // Перетащите сюда вашу виртуальную камеру
void Update()
{
// Получаем текущую конфигурацию Body
CinemachineComposer composer = virtualCamera.GetCinemachineComponent<CinemachineComposer>();
// Отключаем вращение по оси X и Y
composer.m_TrackedObjectOffset.x = 0;
composer.m_TrackedObjectOffset.y = 0;
}
}
Объяснение:
1. Импорт: Сначала мы импортируем необходимые пространства имен: Cinemachine для работы с камерой Cinemachine и UnityEngine для общих функций Unity.
2. Получение компонента: В скрипте мы получаем компонент CinemachineComposer из вашей виртуальной камеры. Этот компонент отвечает за позиционирование и вращение камеры.
3. Отключение вращения: Мы устанавливаем значения m_TrackedObjectOffset.x и m_TrackedObjectOffset.y в 0. Это предотвращает вращение камеры по горизонтали и вертикали.
Как использовать:
1. Создайте новый скрипт C# и вставьте туда этот код.
2. Перетащите этот скрипт на любой объект в вашей сцене (например, на саму виртуальную камеру).
3. Перетащите вашу виртуальную камеру Cinemachine в поле virtualCamera в инспекторе скрипта.
Теперь при запуске игры камера Cinemachine не будет вращаться.
Важно:
• Убедитесь, что ваша виртуальная камера использует режим Body - 3rd Person Follow, так как этот скрипт изменяет настройки CinemachineComposer.
• Этот скрипт отключает вращение камеры только по осям X и Y. Если вам нужно отключить вращение по другим осям, вам нужно будет изменить соответствующие параметры в CinemachineComposer.