Здравствуйте! В этой статье мы научим Камеру следить за Персонажем и научимся переходить с одной сцены на другую.
Добавляем скрипт к Камере и пишем следующий код:
Если интересно, что такое ref.
- В первой строчке мы объявляем переменную target типа Transform. Ей мы будем передавать Transform (положение, Rotate (угол поворота) и масштабирование) нашего Персонажа в самом редакторе Unity.
- Во второй мы объявляем насколько гладко будет движение Камеры.
- В третьей мы объявляем вектор Камеры, но т.к. она сама по себе не движется, то вектор нулевой.
- В четвертой мы объявляем точку, к которой будет стремиться Камера. В нашем случае это те же X и Y, но только "выше" (или "ниже", если смотреть на координаты).
- В пятой мы меняем положение камеры с помощью метода SmoothDamp
Теперь не забудьте сохранить скрипт и в Unity в Target добавить нашего Персонажа. Давайте заценим результат:
Чтобы это исправить нужно сделать парочку действий:
Добавить камере Pixel Perfect Camera и поставить галочку у Pixel Snapping:
Теперь можно подумать над расширением локации и создании новых. Но как переходить между ними?
Для этого сначала нам создать Prefab'ы Персонажа и Камеры. Для этого создадим отдельную папку Prefab и из окна Иерархии перенести нужные нам объекты в эту папку.
Далее создаём новую Сцену и открываем её, далее попробуйте по памяти создать игровой уровень, где будет земля с небом. Затем удалите встроенную в сцену Камеру и добавьте Префабы Персонажа и Камеры.
Теперь осталось добавить "порталы" в другие сцены. Для этого или создаем карту тайлов и, соответственно, добавляем Тайлы или просто переносим спрайт "портала" (я использую карту тайлов).
Добавляем Тайлам все те же Composite'ы, что и земле. Только поставим галочку:
Далее добавляем скрипт и пишем следующий код:
- Здесь используется встроенный в Unity метод OnTriggerEnter, т.е. он срабатывает, если мы вошли в объект. В скобочках указывается то, что пришло во взаимодействие.
- Дальше проверяется имя объекта, который вошел в Триггер.
- Если имя совпадает, то мы подгружаем нужную нам сцену.
Теперь Вы можете бегать по сценам!
В следующей статье мы добавим врагов.