Предисловие
Данная инструкция написана мной (phobos2077) на основе того как я сам понял использование инструментария. Т.к. я не разработчик, мог чего-то не понять или понять неверно, имейте ввиду.
ModKit для
ATOM RPG реализован в виде Unity-проекта (Unity - движок, на котором работает игра). Это значит что инструментарий работает только внутри запущенного редактора Unity. Поэтому первым делом нужно установить нужную версию редактора.
ModKit поставляется (на момент написания) в комплекте с файлами ресурсов игры, которые можно извлечь для редактирования. Пока там не все ресурсы, нет статики (текстур, моделей и т.п.). Т.е. вы работаете с копией ресурсов, которая не связана с установленной игрой ATOM RPG.
Моды созданные в ModKit представляют собой AssetBundle (по сути архив с дополнительными игровыми ресурсами в определенном формате, понятном Unity) + файл DLL (код мода).
Игра версии 1.08+ (либо бета-бранч) автоматически загружает моды, установленные в следующей папке:
c:\Users\<USERNAME>\AppData\LocalLow\AtomTeam\Atom\Mods\
Установка Unity
https://unity3d.com/ru/get-unity/download?ref=personal
Вариант 1 (рекомендуемый, но требует установки еще одной проги)
- "Загрузить Unity Hub"
- Скачиваем, устанавливаем, запускаем
- Нажимаем Installs -> Official Releases -> Download (Напротив версии 2018.3*)
- В следующем окне ничего отмечать не нужно, жмем "Done"
- Дожидаемся скачивания и установки Unity
(этот вариант позволит в будущем легко устанавливать новые версии Unity, а также держать 2 и более версий на компе)
Вариант 2
- "Загрузить установщик"
- Скачиваем, следуем инструкциям установщика
После первого запуска потребуется авторизация. Необходимо будет создать учетную запись Unity
Коротко об использовании Unity Editor
Стандартный оконный интерфейс. Вверху главное меню редактора, под ним тулбар с полезными инструментами для разработки игр. Большую часть всего этого знать не обязательно, если вы планируете делать простые моды (правку предметов, диалогов и т.п.).
Для разработки полноценных новых локаций потребуются базовые навыки разработки сцен в Unity (в интернете миллион туториалов на эту тему).
Основная часть окна поделена на несколько областей, каждая из которых может иметь несколько вкладок. Каждая вкладка это "окно" внутри редактора Unity, их можно перетаскивать как угодно (в другую область, в отдельное от основного редактора окно и т.п.). Размеры областей также можно менять. На скриншоте представлена стандартная раскладка, которая идет после установки.
Рассмотрим основные окна.
1. Hierarchy/Иерархия - тут все объекты в открытой сцене. По умолчанию открыта пустая сцена Untitled.
2. Scene/Сцена - 3D-представление сцены.
3. Project/Проект - дерево папок вашего проекта, с правой части показаны (4) ассеты (файлы игры) в выбранной папке.
5. Inspector/Инспектор - показывает свойства объекта, выбранного либо в сцене, либо в проекте. Самое важное для нас окно.
Готовим проект к разработке модов
https://github.com/atomrpg/modkit
- Нажимаем "Clone or download" -> "Download ZIP"
- Извлекаем папку "modkit-master" из архива
- Запускаем Unity
- (авторизуемся, если потребует)
- Жмем "Open"
- Выбираем нужный каталог
- После загрузки, главное окно редактора будет выглядеть примерно так:
- В меню выбираем Game -> Asset Viewer
- Увидим такое окно:
- Для удобства можем перетащить вкладку AssetViewer из этого окна в главное окно (рядом с Game, Scene, и тд)
В проекте modkit сразу идут ресурсы "примерного" мода. На первый раз рекомендуется ознакомиться с этими ресурсами, попробовать собрать мод и проверить его в игре. Но для дальнейшей разработки вашего мода нужно будет удалить всё лишнее, чтобы в готовом моде были только нужные ассеты.
Для очистки всего лишнего удаляем ТОЛЬКО следующие каталоги:
- Все подпапки в папке Resources/
- Все ассеты в папке Scenes/
Проект почищен, но мод работать не будет если не настроить должным образом скрипт мода.
- В проекте выбираем каталог Scripts/
- Щелкаем по MyMod и в инспекторе меняем поле Name на имя фашего мода (латиницей, без пробелов и лишних символов).
- Щелкаем в любое другое окно, появится сообщение "Unapplied import settings", выбираем "Apply".
- Ждем пока редактор пересобирёт скрипты.
- Щелкаем по ModEntryPoint правой кнопкой - "Show in Explorer".
- В проводнике открываем файл ModEntryPoint.cs текстовым редактором:
- В данном скрипте разработчики добавили код необходимый для запуска того самого "примерного" мода с новой локацией. Нам же большая часть этого кода не нужна. Для новичков рекомендую заменить всё содержимое скрипта на мой вариант:
https://pastebin.com/VbBZ6U8w
Предложенный скрипт содержит только загрузку измененных ресурсов и вывод простого сообщения в лог, о том что мод успешно загружен.
Использование Asset Viewer
В окне AssetViewer в верхней части есть следующие элементы:
- Кнопка Reload - перезагружает ассеты из ресурсов (идут в комплекте с modkit)
- Поле поиска (2) - для фильтрации ассетов по имени
- Поле выбора категории (1) - для фильтрации по категориям ассетов
Для правки ассета сначала нужно его скачать в проект, для этого нажимаем правой кнопкой мыши -> Download. Выбранный ассет и все его зависимости (иконки, звуки и т.п.) подтянутся в проект:
Также AssetViewer можно использовать для просмотра ассетов (если не требуется их править), для этого просто щелкаем левой кнопкой мыши по ассету и смотрим его свойства в окне Инспектора.
Правка предметов при помощи ModKit
- По инструкции "Готовим проект.." настриваем проект мода и используем предложенный ModEntryPoint.cs
- По инструкции из раздела "Использование AssetViewer" скачиваем нужный предмет, в данном примере это будет АКМС.
- В проекте выбираем Resources/entities/weapon/ - ассет "akms" (тот что с логотипом Unity - это и есть описание предмета)
- Правим нужные характеристики, например урон (Damage Min/Max)
- Всё, правка готова, осталось лишь собрать мод
Сборка и тестирование мода
- В главном Unity меню выбираем "Game" -> "Build Mod"
- Вводим имя мода (ВАЖНО! должно совпадать с тем что мы указали в Scripts/MyMod в поле "Name", иначе работать не будет!)
- Нажимаем BUILD
- После успешной сборки откроется папка Mods с созданным модом. Убедитесь что имя DLL и созданной папки совпадают между собой и с тем что вы вводили:
- Запускаем игру, изменения мода должны вступить в силу
- Если что-то не сработало, открываем логи игры:
C:\Users\Killian\AppData\LocalLow\AtomTeam\Atom\output_log.txt
- Ищем строку "Mod Init: SuperAK" либо просто имя вашего мода. Если найдено, значит мод собран и загружен успешно.