Каталог статей, Гайды и статьи, Atom RPG

Вводный курс по использованию ModKit (ATOM RPG)


Автор:
  Дата публикации: 22.03.2019, 07:45 · 18 132 · 0

  1. Описание

Предисловие

Данная инструкция написана мной (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" либо просто имя вашего мода. Если найдено, значит мод собран и загружен успешно.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Категории

Чат доступен только для зарегистрированных пользователей. Войдите в аккаунт для общения в чате.

Лента комментариев

как всегда-обновился симс и все по пизде пошло..ВСЕ!

 

Сегодня, 09:54

Роскошно love

Сегодня, 07:19

Где Вы были раньше.у меня больше половины СС контента игра не видит,это ппц.

Сегодня, 07:19

Ну уже считай в два раза. Производительность должна вырасти. Вопрос только к лодам. Заметил что в паке есть лоды, но что-то не особо в плане "сокращения". Лоды автоматом при экспорте создаются?

Кажется для ArmA II гемора с ними было. При том что хочется чтобы и выглядело более нормально, и чтобы, условно, грузовик на максимальном отдалении еще напоминал грузовик.

Сегодня, 07:12

С установкой этого мода, симы перестали спать, сразу вскакивают с кровати.

Сегодня, 07:07

ну вообщем в самом высокополиганальном предмете сократил с 3900 до 1900 вершин, но проверить в игре не могу, не грузит мой CC пак игра, жду обновы от EA

Сегодня, 06:28

После использования последовательно всех версий мода до 1.3.7b файл .json достиг 8 435 891 байт. С версией 1.3.7с поиграл примерно один игровой день, файл стал 6 260 802 байт. Ненамного, но уменьшился.

 

Сегодня, 05:35

там модификатор нужен, не замарачивайтесь.
Я ж их первыми делал еще год назад, и по привычке из 3dmax делал фазку, всеравно из лимита вершин я не вышел, получился слегка детализированый maxismix

Сегодня, 04:21

Вот и отлично! Спасибо за обратную связь!

Сегодня, 03:41

Поэтому лучше сразу об этом думать)

Взять те же сцены что используют для рендера, и объекты для них, без оптимизации игра просто взвоет от нехватки памяти.

Групп сглаживания вроде в блендере нет, но наверняка есть другой инструментарий для этого.

Но должно быть примерно так в идеале.

Сегодня, 03:37

Спасибо огромное! сейв уменьшился в три раза!

Сегодня, 03:33

Понял, спасибо!

Сегодня, 03:32

да, сижу удаляю лишние грани, но всеравно оставлю выступ, выпекать не хочу)
У арки 1X убрал их и полигоны с 1200 до 600 сократились, это конечно муторно, но сделать придется

Сегодня, 03:03

Вдавленная часть на арках, как и грани, имеют физическое сглаживание - что как бы не гуд.
Карты нормалей хорошо отработают, т.е сама модель для запекания нормальной пойдёт имеет углы на гранях, в лоу поли "сглаживание" там ни к чему, а лучше вообще эту часть сделать гладенькой без , нормаль отработает и выглядеть будет точно так же. Такие елементы, как и мелочь всякую лучше запекать, если оно прям сильно в глаза не лезет. Т.е если это оружие, что игрок видит постоянно, его нормалями не обмануть, то тут да, лоу поли и нормали, если это стена с вогнутыми элементами, впадинами и мелочью, лучше использовать что-то попроще.
Игра конечно пытается лодировать, но слабовато.

Не подумай чего, просто уж привык к "оптимизациям" под игры. Я чисто по дизайну, в максе, для меня нормально в хай работать, а для игр это вопрос оптимизации, он крайне важен. Но тоже не особо его люблю.smile1



Но выглядит всё равно зачётно

Сегодня, 02:45

там блендер нужен, в студии открываете и выгружаете меш

Сегодня, 02:23

У меня только макс за 15 и 21 год)



Ааа, имеется ввиду Sims 4 Studio. Попробую

Сегодня, 01:55


Как было замечено пользователем Cirilla, файл журнала имеет большой объем. На первый взгляд всё в пределах нормы, однако это только для меня и для мода. Для пользователя там содержалась совсем не нужная отладочная информация. Некоторую отладку из логов я удалил, про журнал забыл.
Была добавлена функция очистки журнала от лишней отладочной информации.
Все записи с trait_added и trait_removed если имеются в вашем журнале - будут удалены автоматически.

Версия файла 1.3.7с.

Сравните сколько весит ваш файл журнала. Загрузите игру с полной прогрузкой мира и локации. Затем сохраните игру и сравните насколько сильно файл журнала уменьшился в объеме.

Сегодня, 01:49

Когда мод обновится, не начинайте новую игру. Посмотрим как отработает.
Когда игра загружается, она подхватывает журнал и хранит его в памяти.
Т.е при загруженной игре(с полной прогрузкой), все данные обрабатывают непосредственно в памяти, когда нажимается кнопка сохранить, создаётся журнал. Если его далить и снова нажать сохранить, он снова появится. Выведет ли он старые записи - не знаю, но новых создавать не будет.

Сегодня, 01:12

Ладно, попробую что-то с этим сделать. 
Думаю записи не несут для работы механик смысловой нагрузки, в большей степени для логирования:
"time": "02:17:36.480 day:4 week:0",
"event_type": "trait_added",
"trait_id": 15696721084953728271,
"trait_name": "Basemental:legalize_Nordhaven_trait"

Таких записей пол миллиона.

Сегодня, 01:08

спасибо что уделяете внимание) мод очень интересный, люблю наблюдать за поведением персов и хочется чтоб они были более осознанные)

Сегодня, 01:06

Работа мода штаная, в журнале примерно 180 симов.
Конечно много personality_traits, и trait_id, но тут ничего с этим не сделать. При появлении/обновлении персонажей, игра постоянно добавляет и удаляет трейты.
Может это сделать по нескольку раз за минуту.
Т.е если в CAS трейтов или скрытых, например от чингая, там в логах будет вообще не разбириха чисто из за personality_traits. У чингая есть мод с трейтами на резедентов, и эти трейты постоянно добавляются персонажам и удаляются. Мой мод логирует это дело, чтоб ему было с чем работать, понимать какие есть трейты у персонажа, а каких нет. Победить это, я пока не знаю как.

Сегодня, 00:54

а из студии выгрузить можете? У меня там фаски, прошлое визуализатора сказалось)

Сегодня, 00:47

Ну в переходах да, мелкие ступеньки, там явно неуместны. Да и по сглаживанию, можно использовать группы сглаживания, тогда даже кирпич будет казаться мячиком) Утрирую конечно, но в некоторых местах выручает.

Учитывая то что игрок вообще их не видит и не увидит, оно явно должно попасть под нож. То что всегда на виду, непосредственно перед игроком, там может быть еще оправдана высокая детализация, хотя даже в этом случае карты делают из лойки, что-то интересное. А для предметов прям детализация сильно не нужна. Оно в кадр попало лишь на мгновение, но в сцене нагружает. Это ведь не единственный объект и их может быть десятки.



Можно сетку глянуть?

Сегодня, 00:41

https://we.tl/t-uTVNU9LnL4

Сегодня, 00:12

все предметы не больше 2к вершин на клетку, кроме угловой секции арки там 3,8к, перестарался чутка (вообще арки самые проблемные, так как были сделаны самыми первыми, там по-хорошему нужно их модели все обновить, убрать лишнне и добавить сглаживание (как я сделал с камином и зеркалом), но я не готов этим пока заниматься)

а что кажется хайполи?

Сегодня, 00:04

Сетка не слишком избыточна для игры, где стопы у симов как в готике?)) Или хайка запечена?

Вчера, 23:12

Скиньте мне ссылку на файл. Я посмотрю что он пишет



В теории храниться должно до 50 записей.

Старые записи подчищаются.

Т.е у файла не "бесконечный" рост.

После 3.1 возможно данных стало больше, по каждому симу. Но надо проверить наверняка. Жду ссылку на файл



interaction_history - массив объектов, каждый из которых содержит время, описание взаимодействия, тип и т.д. В коде мода лимит установлен в 50 записей на сима.

Если в сохранении несколько сотен симов, только эта история может занимать десятки мегабайт.

relationship_history - объект, ключами которого являются ID других симов, а значениями - подробная информация об отношениях: взаимодействия, метрики, дружеские и романтические отношения. Для симов с большим количеством социальных связей (особенно активных в густонаселённых мирах) этот раздел может разрастаться экспоненциально. Например, у одного сима есть записи о 6 других симах, у каждого из которых хранится до 9–10 взаимодействий. При 200 активных NPC это даёт огромный объём.
Персональнй трейты, предпочтения и антипатии. У некоторых симов количество трейтов может превышать 60. Это тоже добавляет объём, хотя и не так критично, как история.

Новвоведения, не столь критичны по объему, mbti_scales или enneagram_type.

 

200–300 КБ на сима, что для 300 симов даёт 60–90 МБ

Чем больше симов и чем они активнее размеры могут быть и больше.



И я говорю о файле журнала.

Вчера, 23:08

файл сохранения увеличилися в два раза, 144 806 кб весит уже, наверное от этого мода, это так должно быть?)

Вчера, 22:39

Красиво!:))))

Вчера, 22:10

модинг теперь только для тех кто шарит, остальным собалезную
Интересно сколько челиков к нам с телеграма прибежит?

Вчера, 20:51

Маловероятно что Аарос оперативно обновит под 122, пока не будет стабильной версии игры. Посмотрим как будут развиваться события. На маркетинг у ЕА деньги есть, на тестировщиков нет и не будет.

Вчера, 20:46

Если не вытягивается файл с сайта, вы отпустите кнопку и положите файл обратно. Дайте другим скачать, а то тут пробка из-за вас образовалась

Вчера, 20:27

Не обновляйся. ЖОПАболь ждет тебя в этом случаеdapizdec

Вчера, 20:13

а обнова будет или утром 

Вчера, 20:02

А те кто может там скачать останутся без контента?

 

И я не увидел в вашем сообщении про альтернативное скачивании с modsfire, которое всё еще помогает скачивать без обхода и скорость отдачи хорошая. А ведь достаточно прочесть текст под кнопкой "скачать" на modsfire:

 

Если ссылка выше по какой-либо причине не работает, попробуйте нажать здесь и скачать файл по альтернативной ссылке.
Вчера, 19:28

Популярное за неделю

Команда сайта


Администратор

Редактор, переводчик

Переводчик