Создание карт для Kino (WIP)
Этот гайд поможет тебе настроить среду и приступить к созданию кастомных карт для загрузчика Kino.
Содержание:
- Требования
- Подготовка
- Установка Unity
- Установка KinoMap SDK
- Настройка проекта KinoMap SDK
- Подготовка к созданию карты
- Освещение в редакторе
- Создание сцены карты
- Добавление контента карты
- Важные замечания по структуре карты
- Настройка структуры карты
- Поверхности
- Распаковка префаба
- Структура карты
- Оптимизация
- Коллайдеры
- Точки спавна
- Rigid bodies
- MapTool и сборка карты
- MapTool
- Сборка карты
Требования
- Редактор Unity
2020.3.25f1
- Софт для 3D моделиорвания
Подготовка
Установка Unity
В первую очередь необходимо установить Unity Hub, скачать его можно по ссылке:
https://unity3d.com/get-unity/download
Далее нажмите на кнопку Download Unity Hub, скачайте и установите его.
Теперь приступим к установке Unity. В данный момент используется версия 2020.3.25f1
. Скачать редактор можно по ссылке:
https://unity3d.com/get-unity/download/archive
Тут нужно выбрать нужную нам версию в данный момент это 2020.x
После найди в списке Unity 2020.3.25f1
и нажми на кнопку Unity Hub
После загрузки и установки в списке появится нужный редактор
Далее необходимо установить дополнительные пакеты для сборки карт как для Windows так и для OSX
Для этого выбери нужный редактор, нажми на шестеренку затем на Add modules
В окне сними флажок с Visual Studio, если она тебе не нужна.
Далее добавь компоненты Mac Build Support и Windows Build Support, после чего нажми Install
Установка Unity завершена!
Установка KinoMap SDK
В данный момент инструмент для создания карт Kino представлен в виде Unity проекта.
Скачать инструменты можно по ссылке:
https://github.com/trbflxr/kino_map_sdk
Скачать проект можно с помошью Git или в виде .zip архива.
* Установака с помошью git: git clone https://github.com/trbflxr/kino_map_sdk
* Установка посредством .zip архива: Нажми на кнопку Code, затем Download ZIP
Проект скачан, можно приступать к настройке Unity.
Настройка проекта KinoMap SDK
Первым делом нужно добавить проект в Unity Hub. Для этого открой Unity Hub и нажми на кнопку Open.
В окне проводника укажи путь до папки kino_map_sdk
.
После чего проект появится в списке. Дабл-кликни по нему что бы запустить редактор.
Подготовка к созданию карты
Освещение в редакторе
В проекте есть сцена Lighting в папке Assets/Scenes. Перетащи её во вкладку Hierarchy, для того что бы работало освещение в редакторе.
Это опциональный шаг, который нужен для примерного понимания как будет освещена карта в игре.
Ты можешь менять и настраивать эту сцену как тебе угодно, она нужна только для редактора и в игре использоваться не будет.
Создание сцены карты
Для создания новой сцены нажми на File затем New Scene
Или используй сочетание клавиш Ctrl + N
для Windows и Command + N
для OSX.
Далее нужно выбрать пустую сцену Empty (Built-in) и нажать Create
Пустая сцена создана, теперь сохрани её через File затем Save
Или сочетанием клавиш Ctrl + S
для Windows и Command + S
для OSX.
Я сохранил сцену в папку Assets/Scenes, это не принципиально, сцену можно сохранить в любую удобную папку в проекте.
Добавление контента карты
Подразумевается, что этот проект будет использован для создания нескольких карт, а не для каждой отдельно. Поэтому создай в папке Assets/Resources папку с именем твой карты, в которой будет хранится контент для неё.
Этот шаг опциональный и нужен для лучшего структурирования проекта, на финальный результат он не повлияет.
В примере я создал папку NewMapTest.
Теперь приступим к наполнению её контентом.
С этого момента ты можешь добавлять в проект любые модели и шарить их между разными картами.
Рассмотрим пример с добавлением .fbx модели и текстур для неё. Перетащи нужные тебе файлы в папку с картой.
Теперь перетащи модель на сцену.
В данный момент у тебя скорее всего вся модель розовая и на ней нет материалов.
Создай папку для материаллов. Я создал её в папке NewTestMap и назвал materials
Следующим шагом будет извлечение материалов. Для этого выбери модель во вкладке Project, затем во вкладке Inspector выбери Materials и нажми Extract Materials.... После чего распакуй материалы в папку, которую создал ранее.
Теперь модель должна выглядеть нормально, можно приступать к настройке материалов, если это необходимо.
Важные замечания по структуре карты
Карта для Kino не должна содержать никаких источников света с типом Directional Light, а также не должна содержать компонентов Volume. А также на ней не должно быть никаких камер.
Настройка структуры карты
Поверхности
В нанный момент Kino поддерживает следующие типы поверхностей: * road * grass * dirt * gravel * sand * ice * snow * kerb
Распаковка префаба
Первым делом нужно распаковать префаб. Для этого нажми правой кнопкой по префабу, затем выбери Prefab -> Unpack.
Структура карты
Приступим к настройке структуры карты.
Логика тут очень простая, поверхности с асфальтом необходимо перенести в объект road траву в grass и т.д.
Добавь объект на сцену и назови его по типу поверхности.
В примере я создал Empty объекты road и grass. И перетащил в них все поверхности, которые должны восприниматся игрой как асфальт и как трава.
По такому же принципу нужно структурировать объекты других типов.
Оптимизация
Дальее нужно выбрать все статические объекты, на пример дороги, столбы, дома и выставить им флаг Static.
Коллайдеры
Для обработки столкновений карте необходимо выставить коллайлеры.
Выбери все объекты, которые должны иметь коллайлер и установи им Mesh Collider.
В примере я установил коллайдеры только для дороги и травы. При создании карты коллайдеры нужно устанавливать всем объектам, с которыми должны происходить столкновения.
Точки спавна
Для добавления точек спавна нужно создать объект Empty с именем waypoints в корне сцены. Затем в него добавить нужные точки спавна. Первая точка в списке будет дефолтной позицией спавна в игре. Все эти точки будут доступны в модуле Waypoints.
Rigid bodies
Для добавления динамических объектов RigidBody нужно создать объект Empty с именем rigid_bodies в корне сцены.
В него добавь все динамические объекты со сцены. Также обязательно удостоверься, что у всех объектов в rigid_bodies НЕ установлен флаг static.
Также на все эти объекты нужно добавить компонент RigidBody.
После чего можно приступить к настройке компонента. Тут всё в твоих руках, эксперементируй.
MapTool и сборка карты
Что бы открыть инструмент для создания карт нажми Kino -> MapTool.
Открывшееся окно можно переместить в любую группу в редакторе.
MapTool
Поле Creator name нужно для имени создателя карты.
Ниже список карт. Флажками отмечены те карты, которые будут собиратся. Отмечай только ту карту, над которой работаешь в данный момент. Таким образом остальные карты не будут пересобиратся, это ускорит процесс.
Ниже есть кнопка Add new map entry, с помошью которой можно добавить новую карту в список. Для удаления карты из списка нужно нажать Remove '
Ниже кнопки Reload cache и Wipe cache, которые нужны для перезагрузки или удаления кэша карт. Кэш карт хранится в файле Assets/Build/map_cache.knd и нужен для сохранения состояния этого инструмента.
Кнопки Build for all platforms и Build for '
Сборка карты
Для сборки карты заполни поле Creator name. После добавь новую карту в список, если ты ещё не добавил её.
Отметь карты, которые будешь собирать флажками и заполни их поля.
Укажи имя карты в поле Map name.
В поле Scene нужно перетащить сцену карты, в примере это ранее созданная NewMapTest.
В поле Load screen перетащи картинку в формате .png или .jpg для загрузочного экрана.
И на конец для сборки карты нажми Build for all platforms или Build for '
Финальный результат находится в папке Build, быстро открыть которую можно с помощью меню Kino -> Open maps folder.
На выходе у тебя получатся карты для выбранных при сборке платформ. Их можно загружать через Kino.