Transitions and Waypoints (ru)
Last updated
Last updated
Давайте создадим переход к этому дереву! Сначала начнем с самого простого - телепортации.
Сначала создайте зону перехода, перейдите в папку ZONES/ и перетащите файл transition_zone.tscn на сцену.
Затем перейдите в папку HELPERS/ и перетащите файл transition_target.tscn на уровень.
Этот хелпер будет нашей точкой спавна, когда мы будем использовать зону перехода. Давайте установим параметры transition_zone внутри инспектора в Keys.
Основная точка перехода имеет:
last_point_is_end - используется только с путевыми точками, последняя точка будет такой же точкой спавна, как и target_object
name - необходимо всегда иметь уникальное имя для скриптов
target_object - имя нашего хелпера, на позицию которого будет телепортироваться игрок *не может быть пустым
waypoints - воспроизведите анимацию ходьбы между точками, а затем в последней точке телепортирует игрока в конечную позицию хелпера *если пусто - только телепортирует в цель, без анимации хотьбы по точкам
Давайте переименуем наш хелпер в "tree_target".
Установите то же имя для target_object в transition_zone в Keys.
Давайте проверим. Мы телепортировались к хелперу и посмотрели в ту же сторону, куда смотрит стрелка.
Но давайте усложним задачу - создадим несколько путевых точек.
Нажмите правую кнопку мыши на корневом узле уровня и выберите Add Child Node...
Выполните поиск Path3D.
Нажмите кнопку Create (Создать).
Не перемещайте его из нулевого положения XYZ.
Когда Path3D выбран, вы увидите, что на панели инструментов в правом верхнем углу появились новые инструменты.
Первый - выбрать точку
Второй - выбрать контрольную точку
Третья - Добавить точку
Четвертая - Удалить точку
Пятая - Закрыть кривую
Создайте первую точку с помощью третьей кнопки на панели инструментов (зеленый знак плюс с зеленой точкой). Также не забудьте переключиться на вид сверху.
И поставьте первую точку.
Затем перейдите в инспектор и откройте параметр Curve (Кривая). Выберите группу Points (Точки).
Установите Y на 1,7, чтобы следующие новые точки были на той же высоте.
Теперь нарисуйте новую точку и поместите последнюю рядом с хелпером.
Итак, давайте назовем наш Path3D уникальным именем и поместим это имя в transition_zone в Keys в waypoints.
Проверим! Смотрите, теперь игрок идет по этим путевым точкам.
Эй, давайте удалим хелпера и попробуем сделать последнюю точку пути нашей спавн точкой!
Сохраните название путевых точек, но удалите target_object и включите last_point_is_end.
Теперь при проходке по путевым точкам игрок остановится на последней точке.
Теперь давайте сделаем триггер перехода с функцией смены уровня! Сделать это можно несколькими способами - вручную или с помощью префаба. Давайте поговорим о ручном варианте.
Выберите зону перехода на текущем уровне и измените ее "id" с "transition" на "transition_to_level", а также добавьте новый строковый ключ "level" со строковым значением ID нужного уровня. Например, давайте установим уровень "intro" из res://assets/levels/
Как видите, после того как мы достигли последней точки маршрута, загружается новый уровень.
С префабом делаем аналогично как с обычной точкой перехода, просто вписываем нужный ID в "level"
Внимание! Я рекомендую блокировать комнаты между собой, чтобы игрок не мог использовать триггеры через стены.