Canvas и cinemachine в unity
Создаю игру по типу мортал комбата в unity, кагда создаю канвас выбираю Screen Space - Camera, чтобы картинка растягивалась на весь экран. Затем на этом канвасе создаю персонажа, кнопки, джостик, здоровье. Затем создаю объект,который всегда находится ровно посередине между игроком и ботом. И когда хочу добавить cinemachine на этот объект, cinemachine благополучно двигается, но затем двигается камера, а в следствие и сам канвас. И получается,что картинка не двигается. Пробывал выбрать канвас overlay, но картинка не растягивается на весь экран. Что мне делать? ☹️
Проблема, с которой вы сталкиваетесь, связана с тем, что при использовании компонента Cinemachine в Unity для управления камерой, изменение позиции камеры также влияет на положение и размер канваса. Это происходит потому, что режим Screen Space - Camera привязывает канвас к определенной камере.
Чтобы решить эту проблему, я рекомендую вам следовать этим шагам:
Создайте пустой объект в сцене и разместите его между игроком и ботом, как вы это делали раньше.
Прикрепите компонент Cinemachine Target Group к этому пустому объекту. В компоненте Target Group вы можете добавить игрока и бота в список объектов.
Создайте дополнительную камеру в вашей сцене и разместите ее в удобном для вас месте.
Примените компонент Cinemachine Virtual Camera к этой дополнительной камере.
В компоненте Virtual Camera выберите созданный ранее Cinemachine Target Group в качестве объекта для отслеживания.
Настройте параметры камеры в компоненте Virtual Camera (например, поля зрения, расстояние и т. д.) так, чтобы они соответствовали вашим потребностям.
Теперь когда вы будете двигать пустой объект между игроком и ботом, ваши персонажи останутся на канвасе, а камера будет следовать за пустым объектом с помощью Cinemachine. Это позволит сохранить растягивание картинки на весь экран.
Надеюсь, это поможет вам решить проблему! Если у вас возникнут еще вопросы, не стесняйтесь задавать их.
Удали cinemachine