Starting up (ru)
Last updated
Last updated
Пожалуйста, этот учебник требует минимальных знаний о движке Godot и его иерархии нодов. Поэтому, если вы не знаете, как использовать Godot, сначала посмотрите несколько уроков на YouTube.
Откройте проект с открытым исходным кодом PITO в редакторе Godot.
Найдите папку с именем "level_editor" внутри res://
С этой папкой вы будете работать при создании запакованных уровней для игры.
В нем есть разные папки с названиями:
ai/
helpers/
MUST_HAVE/
sprites/
static_objects/
usable_triggers/
zones/
AI - содержит шаблоны нейтральных NPC и вражеских NPC
HELPERS - содержит объекты видимые только в редакторе, такие как target_point для зоны перехода, которые будут скрыты при запуске игры.
MUST_HAVE - Папка, содержащая обязательные ноды уровня, иначе игра не запустится без них.
SPRITES - Содержит 2D спрайты для 3D-сцен (например искры света и деревья).
STATIC_OBJECTS - Содержит статичные 3D-объекты, такие как бочки, коробки, автомобили и т.д.
USABLE_TRIGGERS - содержит 3D-триггеры с коллайдерами, чтобы игроки могли взаимодействовать с ними.
ZONES - содержит 3D-области (например, зону радиации, зону вражеских глаз)
Не забывайте, что мы работаем с уровнями только в режиме 3D!
Создайте новую сцену, используя [Scene/New Scene] (1) или нажав знак [ + ] (2) рядом с игровой сценой.
Выберите 3D Scene для корневого нода.
Переименуйте корневой нод вашего уровня, дважды щелкнув по имени нода в дереве нодов.
Добавьте на уровень обязательный узел "level_settings" из папки MUST_HAVE/, перетащив префаб из папки в дерево сцены.
В инспекторе в правой части редактора задайте настройки для уровня.
Объекты, которые могут быть настроены, должны содержать скрипт level_object.gd и иметь специальную словарную переменную "keys" (выглядит как JSON). Все описания можно найти здесь, на странице уровней!
Эти ключи являются основными для уровней и должны быть настроены! Daylight - ключ, включающий/отключающий ночной режим на уровнях и разрешающий включение освещения сцены (и фонарика) Fog - работает только с ночными сценами (дневной свет должен быть выключен) Weather color - это цвет неба, который будет находиться за моделью скайбокса, в редакторе есть предустановки для цвета неба с hex (день: 4a739f, вечер: 392e3d, ночь: 0a0a0a)
Давайте добавим terrain на сцену и разместим точку спавна для игрока. Перейдите в папку MUST_HAVE/ и перетащите файл spawn_point.tres на сцену. Установите нулевые координаты XYZ, выбрав группу Transform в Inspector и нажав на круглую стрелку в углу.
Затем установите Y на 1,7 (это, 170 см в высоту главного героя).
Перейдите в папку STATIC_OBJECTS/ и перетащите файл terrain.tres на сцену.
Помните, что эти объекты подготовлены для создания уровней во вселенной Stalker Mobile, но вы можете создать свои объекты в Blender, Maya или 3Ds Max в формате *.obj и сохранить их в res://assets/models/, а затем просто создать новый префаб, используя другой, и отредактировать под новый объект.
Добавьте skybox_1.tres в сцену. И установите масштаб на 10 в группе Transform в инспекторе.
Сохраните уровень в папке res://assets/levels/ с типом файла *.tscn. (Ctrl+S) или (Scene->Save Scene As...)
Название уровня будет его ID при загрузке. Теперь давайте запустим наш новый уровень! Перейдем к файлу assets/creatures/player.json и отредактируем ключ "start_level" с названием нашего нового уровня.
Начните новую игру, нажав кнопку Играть сверху справа в проекте и ваш новый уровень будет загружен.
Вы можете запустить тот же уровень вне исходного проекта, если сначала экспортируете игру, используя инструкции с главной страницы GitHub, а затем скопируете папку assets/ из исходного проекта к экспортированным файлам *.exe, после чего просто поместите новый файл уровня *.tscn в папку assets/levels/ и выполните те же действия, что и здесь, в шаге 11.
Экспортировать игру нужно лишь раз, не нужно каждый раз экспортировать перед каждым тестом уровней. Ведь текущая версия игры 1.2 фикс 3, что находится в этом проекте уже умеет запускать запакованные уровни. Если же пока сложно экспортировать - можно просто скачать последнюю версию игры с itch и манипулировать уже ею.
Если вы хотите, чтобы скайбокс двигался (как в ванильной игре), перейдите в словарь keys в инспекторе и добавьте новый ключ String с именем "id" и добавьте к нему значение String "skybox".