мечтал о ПЛАВНОЙ камере - это для ТЕБЯ + поворот и зум • Lerp • Unity • видеоурок
Вставка
- Опубліковано 25 лип 2024
- Здравствуй!
Спасибо, что заглянул сюда.
В видео показано как легко сделать плавное перемещение, вращение и приближение камеры в юнити. По желанию можно увеличить, уменьшить или вовсе выключить плавность. Плавная камера в играх - приятная деталь, которая может и незаметна, но сильно влияет на игру в целом.
У меня не было цели дословно все рассказывать
и показывать, тыкать везде пальцем, что-куда
и откуда-зачем, поэтому получилось коротенькое
видео.
Можно назвать его "пробежкой по коду"
(если посмотреть видео, можно понять почему так).
О некоторых вещах (ключевых) я все же рассказал
подробно. Например, о математической функции Lerp.
Для видео я попытался слегка обобщить скрипт,
чтобы Вам было легче использовать его в своих
проектах.
Ссылки нет.
Не забудь оставить комментарий с предложениями или критикой, это сильно поможет!
0:00 Начало
0:31 Подготовка сцены
0:48 Скрипт
3:56 Что такое Lerp?
6:36 Применение скрипта
6:58 Использование Lerp
ПЛАВНАЯ КАМЕРА в Unity + УПРАВЛЕНИЕ | ПЛАВНОЕ ПЕРЕДВИЖЕНИЕ ОБЪЕКТА | Lerp
#unity #lerp #gamedev - Ігри
где ссылка ?
Где ссылка?
Хорошее видео. То что мне как раз и не хватало
Спасибо за комментарий. Приятно видеть тебя здесь.
Dude, you so cool, не забрасывай канал, видео у тебя хорошие, но почему так мало просмотров я не понимаю
Ого, спасибо, дружище. Приятно слышать. Насчет хороших видео - согласен только с этим)
А как сделать то же самое, но для управление через телефон?
Смотря, что за игра, и что вам действительно надо. Без дополнительных элементов интерфейса вряд ли получится повторить точь-в-точь. Перемещение должно работать и так, или можно его сделать вообще автоматическим, чтобы камера сама следовала за персонажем, например, или перемещалась туда, куда вы нажмёте и так далее. Вращение я бы сделал через элемент интерфейса. Хотя можно и наоборот - перемещение сделать через интерфейс, а вращение, как в видео (опять же, зависит от игры и от того, что вам надо). Приближение, если делать по видео, лучше всего подойдёт вариант с созданием дополнительного элемента интерфейса, но это плохой вариант, конечно. Как сделать типичное приближение на телефоне через разницу в расстоянии двух пальцев на экране, я догадываюсь, но прям так сразу написать не могу. Если надо конкретно это, советую поискать готовое решение, или на ютубе, или в ассетах юнити. Это тысячи раз уже сделали за нас и я бы не стал тратить время на создание велосипеда.
Почему бы не использовать: IPointerDownHandler, IPointerUpHandler ?
Скрипт из видео не решение, а лишь модель. Если вам нужны эти интерфейсы для реализации своей идеи - используйте их, конечно. Я же не воспользовался данными интерфейсами, потому что они являются частью EventSystem и используются зачастую при работе с UI элементами. Да и к тому же они, вроде бы, используют рейкасты, что будет лишний раз нагружать систему. Может я чего-то не понимаю. В таком случае, буду ждать вашего ответа.
Спасибо за комментарий с критикой! :)
@@kudarova Тогда "OnMouseDown()" и "OnMouseUp()" можно использовать.
Я просто привык использовать интерфейсы, ибо они более гибкие и обрабатывают как тапы с смартфона, так и клики мышки.
Это прекрасно, если вы знаете о разных способах реализации одного и того же элемента. Но я мало что могу сказать, потому что не являюсь профессионалом. Кстати, по-моему Input.GetMouseButtonDown() тоже определяется как тап на мобильных устройствах. Я, правда, давно это уже использовал. Но может вам это будет интересно, так что можете как-то проверить, работает оно или не нет.
И еще. "OnMouseDown()" и другие подобные методы рассчитаны на взаимодействие с объектами, у которых имеется коллайдер. Беря пример из видео, там этого всего просто не надо. Здесь необходимо рассматривать примеры по-конкретнее, а не просто какую-то там камеру, не пойми откуда взятую, не пойми зачем нужную. Поэтому я и сказал в первом комментарии, что это просто модель, или же можно назвать ее "примером логики". Если собираетесь ее использовать, переделайте под себя.