Поведение камеры как в Alien Shooter

В принципе не сложный, но достаточно интересный вариант отслеживания позиции персонажа. Суть здесь в том, что отслеживается не только позиция игрока, а еще и позиция курсора. На основе двух этих опорных точек, создается новая точка, и уже за ней будет следовать наша камера. Такой способ получается удобней, в шутерах от третьего лица, с видом сверху. Если в обычных вариантах предлагается намертво закрепить камеру за позицией персонажа, или же добавить при этом небольшое смещение в одну из сторон. Тут у нас камера сама будет регулировать смещение в зависимости от ситуации.


Плюс тут добавлена возможность увеличения/уменьшения, колесиком мышки.

Подготовка:
Создаем пустой объект, назовем его CameraControl. Затем, камеру сцены, делаем дочерней этому объекту. Сбрасываем параметры камеры, позиции и вращения. Потом добавляем вращение по оси Х, например 80 градусов.

Далее, вешаем скрипт на объект CameraControl.

Главное не забывать указать трансформ персонажа.

Скачать скрипты и демо проект:
https://www.patreon.com/posts/povedenie-kamery-23174165

Комментариев 15

Офлайн
Norman 6 марта 2019
Arik,
ну координаты же, я бы посоветовал упаковать камеру изменениями в пустой GameObject и двигать вместо камеры его, тогда все будет как надо
Офлайн
AlexMcKing 2 ноября 2017
Ребят как реализовать такую камеру? https://hkar.ru/RsWL
Офлайн
siriusspark 25 апреля 2017
Кстати, о кораблях. Если не трудно, можно написать небольшой урок по контроллеру для космического корабля, управляемого мышью? Хотелось бы понять как реализовать управление вот в таком стиле: https://youtu.be/Ma_ZdAtkKow. Заранее благодарен.
Офлайн
Light 22 апреля 2017
MACTEP_SCHEFFFF, что за Survival Shooter?
Офлайн
MACTEP_SCHEFFFF 22 апреля 2017
Такая проблема, пока изучаю Unity занимаюсь насилованием Survival Shooter, хотел заменить там ГГ и тип камеры как тут описан, но дело в том что камеру я заменил все норм но игрок не следит за курсором, точнее, следит, но частично, модель поворачивается только влево и вправо по одно оси, на 180 градусов, ни в какую не хочет крутится на все 360, в чем проблема может быть?
Офлайн
hellotar 10 декабря 2016
hellotar,
Все, спасибо, разобрался. нужно просто было нормализовать скорость и все)
Офлайн
hellotar 10 декабря 2016
Спасибо. Замечательный скрипт. Но есть маленькая проблема. Камера движется немного медленней персонажа и в течении 15-20 секунд полета (у меня корабль в космосе за персонажа выступает) в одну сторону корабль плавно уходит за границу экрана. smooth можно выставить выше, намного выше, и тогда камера успевает за персонажем, но она теряет плавность. Персонаж у меня двигается, через AddForce. Что в данной ситуации можно сделать?
Офлайн
ABredin 7 ноября 2016
У меня пишет ошибку в 59-ой строке...
Персонажа указал, не понимаю в чем причина, попытался загуглить, не нашел ответа, если не трудно, помогите(
Офлайн
Light 31 августа 2016
Обновление проекта!

- Добавлена возможность вращать камеру.
- Добавлено сглаживание вращения.
- Добавлен контроллер персонажа.
- Вращение персонажа, перенесено в его контроллер.
- Добавлен демо проект для скачивания.
Офлайн
Gashinboy 30 августа 2016
Здравствуйте, а как в этот скрипт добавить поворот камеры с помощью клавиш, Q и E?
Офлайн
Arik 9 июня 2016
спасибо
Офлайн
Light 8 июня 2016
Arik, для начала добавить переменную:

public float smoothRotation = 3;

Затем, заменить строку:

player.rotation = Quaternion.LookRotation(lookPos);

На:

Quaternion playerRotation = Quaternion.LookRotation(lookPos);
player.rotation = Quaternion.Lerp(player.rotation, playerRotation, smoothRotation * Time.deltaTime);
Офлайн
Arik 7 июня 2016
Вопрос такой: Если мне надо, что бы обьект поворачивался не резко за мышкой, а с замедлением. Куда что надо прописать? Запутался.
Офлайн
Light 18 мая 2016
Arik,
Это надо смотреть сцену, как именно камера расположена и прочее.
Офлайн
Arik 17 мая 2016
Сделал по этому примеру свой обзор. Но у меня камера не в виде сверху, а как бы в наклоне не большом. В итоге обьект иногда смотрит в курсор, а иногда как бы отстает или опережает его. В чем может быть косяк?
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Яндекс.Метрика