Гайд по моддингу SpinTires

Spintires Modding
Всегда мечтали научиться создавать собственные моды для Spintires или получить опыт моддинга для любой другой игры? Благодаря этому гайду ваша мечта наконец-то осуществится!

Эта статья не является полным гайдом по моддингу SpinTires. К сожалению, таковой гайд просто бы не уместился на одной странице. Но вы всегда сможете найти недостающую информацию в сообществе SpinTires.

Создание грузовика для SpinTires

Шаг первый:


Скачайте и установите Spintires Editor при помощи сервиса Steam. Вы сможете скачать Spintires Editor только если у вас уже куплена сама игра.

При первом запуске Spintires Editor вы должны увидеть примерно вот это:

Первый запуск Spinteres Editor
Первое, что нам нужно будет сделать, это настроить наш Spintires Editor. Следуем по пути: Settings>Paths.

В открывшемся окне следуйте следующему алгоритму действий (как указанно на картинке):

Первичная настройка SpinTires Editor
  • Выберите папку с установленной игрой.
  • Нажмите кнопку "Install Game Media" - это запустит копирование игровых файлов в папку Spintires Editor, что позволит программе использовать игровые текстуры. Поэтому не удаляйте игру, если собираетесь использовать Editor. После этого у вас появится доступ ко всем игровым ресурсам и вы сможете использовать их для создания собственного мода. После каждого обновления игры вам нужно будет повторять этот пункт, для того, чтобы Spintires Editor имел доступ к обновлённым игровым файлам.
  • Также, весьма желательно иметь в распоряжении NotePad++ для редактирования XML файлов. Если у вас еще не установлен этот текстовый редактор, то смело жмите "“Get Notepad++".
  • После установки NotePad++, нажмите "Install Notepad++ plugins", для того чтобы установить специальные плагины для Spintires Editor, и следуйте инструкциям на экране. Эти плагины содержат множество полезных функций, в том числе:
    - Быстрый запуск любого игрового файла (ALT-SHIFT-O)
    - Переход к любой XML ветви (ALT-SHIFT-D)
    И многие другие.
После того как вы нажмёте "OK" и закроете диалоговое окно System Paths, вы увидите множество файлов в окне File View. В этот момент убедитесь, что сервис Steam все еще запущен, это может повлиять на работу Spintires Editor.

Нажмите правой кнопкой на "_mods" в окне File View и выберите пункт "Create new mod" (как показано на картинке). Это создаст новый мод Steam Workshop, он будет оставаться невидимым для всех кроме вас, пока вы сами не опубликуете его.

Создание нового мода
Если мод создан успешно, вы увидите новую подпапку, с названием содержащим от 8 до 16 строчных букв и цифр. Это имя - уникальный Steam Workshop ID вашего мода, служащий для его идентификации.

Основные понятия моддинга:

Модом для Spintires называется множество файлов, объединённых в директории, имеющей мод ID в качестве имени и, в свою очередь, находящейся в директории "_mods".

При каждом запуске Spintires Editor папки всех модов, которые вы создали, будут автоматически перенесены в папку "_mods". Все что вам нужно будет сделать перед публикацией, это заполнить папки файлами. Когда вы захотите опубликовать мод, эти файлы будут автоматически конвертированы в удобный для игры формат, переименованы и заархивированы, после чего отосланы в Steam Workshop. Таким образом никто кроме автора мода не сможет увидеть оригинальных файлов мода.

Шаг второй:


Создание ".X" файла грузовика

Вам не всегда нужно будет создавать новый файл с полигональной сеткой. К примеру, вам может понадобится отредактировать полигоны, грани и свойства уже существующего грузовика, но в нашем примере мы будем создавать новый грузовик с нуля.

Spintires использует формат ".x" для файлов полигональной сетки, что является старым форматом DirectX.

Следовательно, вам нужен будет конвертер для используемых вами моделей. Мы пользовались 3Ds Max 2012 и рекомендуем конвертер kW X-port.

Вид модели в 3D Max
Убедитесь, что вы установили вашу текстуру правильно.

Модель в 3D Max
Убедитесь, что все экспортируемые объекты имею идентичный размер (X:100.0, Y:100.0, Z:100.0).
Убедитесь, что положение модели относительно осей установлено в стандартное положение. В 3D Max установить стандартное значение можно при помощи Hierarchy tab -> Reset Pivot.
Убедитесь, что корневой объект и сама текстура грузовика имеют одинаковую ротацию (X: 0.0, Y:0.0; Z:0.0) В 3D Max можно установить таковое при помощи  Utilities tab -> Reset XForm modifier.

Полигональная модель грузовика должна быть выровнена по оси "X".

По крайней мере один объект (или субъобъект) модели должен быть физическим. Физические объекты, это объекты имеющие модель столкновения. Spintires автоматически создает модель столкновения для всех объектов, имеющих окончание "_cdt" в названии. Таким образом, эти объекты (или хитбоксы) не будут видимы в игре, то есть являются прозрачными, но могут иметь физическое тело как таковое. В тоже самое время, если объект имеет родственные субъобъекты с названием "cdt" - он будет использовать их геометрию в качестве собственной модели столкновения. Объекты с названием "cdt" не доступны в игре как таковые.

После того как установка полигональной модели завершена, переместите ".X" файл модели в "Media\_mods\[название мода]\meshes\trucks"

Окно экспорта файлов kW X-port

Шаг третий:


Создание XML-mesh файла грузовика

Каждый ".X" файл в Spintires имеет пару в виде текстурного файла ".XML", который описывает текстуры и специфические свойства полигональной модели в игре.

Найдите ваш новый ".X" файл в поле File View и дважды кликайте на него:

Создание XML-mesh файла
Технически, вы можете иметь множество ".XML" файлов, привязанных к одному ".X" файлу. Но в большинстве случаев вам следует иметь один ".XML" с тем же именем, что и ".X" файл.

Откройте ваш новый XML в Spintires Editor. Кликните правой кнопкой мыши по окошку с моделью и выберите пункт "Open XML File" в выпадающем меню.

Вид mesh-файла в SpinTires Editor
И так, перед нами файл нашей полигональной модели. Обратите внимание на поле Scene View, здесь вы можете видеть структуру полигональной модели. Вам следует хорошенько проверить ей, прежде чем двигаться дальше. Каждый объект (или каркас объекта), который вы хотите добавить к физическому телу модели должен иметь по крайней мере один "cdt" субъобъект (в качестве модели столкновения). Сами модели столкновений визуализируются в виде тонких каркасных моделей (см. на картинке). Тип модели столкновения указан в её имени, в скобках. Они могут быть в виде бокса, выпуклые или сложной формы. Модели в виду бокса имеют лучшие характеристики, в то время как модели сложной формы, самые медленные. Так что убедитесь, что все модели, которые могут быть представлены боксами, на самом деле боксы.

Мы крайне рекомендуем вам использовать NotePad++ для редактирования XML файлов. Если вы последовали нашему совету и установили все необходимые плагины для NotePad++, то нажатие на кнопку "Open XML File" автоматически откроет NotePad++.

Пустой XML файл полигональной модели, открытый в NotePad++.
Кликните дважды на "CombineXMesh" - строчка должна превратиться в кнопку.

XML ветвь, в виде кнопки.
Кликайте на кнопку "CombineXMesh". Должно появиться диалоговое окно редактирования ветви. Добавьте соответствующее количество материалов. Под "материалами" имеются ввиду части полигональной модели с описанием специфической текстуры, смешивания и затенения поверхности.

XML ветвь
Диалоговое окно отображает доступные подветви и текущую подветвь. Дважды кликните по элементу из списка чтобы добавить или удалить их.

После того как подветвь с материалам добавлена, дважды кликните по ней, чтобы добавить соответствующие атрибуты.

Редактирование XML ветви
Выберите атрибуты для материалов. DiffuseMap, NormalMap и SpecularMap - файлы текстур. MeshParts описывает используемые части полигональной модели и является необходимым, кроме случаев когда в файле только один материал.

После того как вы добавили DiffuseMap и другие атрибуты, переместите курсор к параметрам атрибута (между кавычек). Должно появиться диалоговое окно настройки атрибутов.

Редактирование атрибутов
Диалоговое окно настройки атрибутов содержит множество полезных функций для XML редактирования.

Выберите файл текстур при помощи проводника SpinTires.

Проводник файлов Spintires Editor
Используйте диалоговое окно настройки атрибутов для добавления материалов в "MeshParts". Кликните по кнопке "Mesh Frame" и выберите одну или больше частей полигональной модели.

Проводник Mesh Frames.
Используйте Spintires Editor, чтобы определить какие части полигональной модели должны использовать какие материалы.

Части mesh-файла в Spintires Editor
Здесь вы можете видеть части вашей полигональной модели. Ваш ".X" файл может содержать множество полигональных моделей. Каждая из них может быть разделена на множество материалов. Части полигональной модели идентифицируются по полигональной модели и индексу.

В конце ваш XML-mesh файл должен выглядеть примерно вот так:

Mesh-файл в NotePad++

Шаг четвертый:


Создание файла грузовика.

Нажмите правой кнопкой мыши по папке, которую мы создали в самом начале и выберете "New truck" в выпадающем меню.

Создание нового грузовика
Выберите имя для вашего грузовика (рекомендуем использовать латинский алфавит и знак "_" вместо пробела).

Выбор имени грузовика
В данный момент мод для Spintires может содержать несколько (или ни одного) грузовиков, колёс или аддонов. В будущем обещают добавить возможность создания игровых карт.

После того как вы выбрали имя, новый XML файл должен быть создан в [имя мода]\classes\trucks.

Выберите этот файл и нажмите "Show in explorer" на панели инструментов.

Показать файл в Windows Explorer
Откройте XML файл грузовика через проводник Windows. Spintires Editor автоматически создаст файл-шаблон грузовика, который вам нужно будет настроить.

Прежде всего, выберите mesh-файл грузовика в качестве значения атрибута для "Truck/PhysicsModel/Mesh". Используйте инструменты Spintires для выбора файла, вместо "[truck mesh]" у вас должно быть что-то вроде "trucks/kamaz65115".

Далее выберите тип колес (некоторые стандартные типы колес находятся в папке "Media/classes/wheels") и замените "[rear wheel class]" и "[front wheel class]". Обратите внимание, что эти файлы являются XML classes, а не meshes.

После этого, проверьте, что атрибуты "ParentFrame" направлены к правильны mesh-файлам (субъобъектам).

Когда эти манипуляции будут закончены, вы можете открыть XML-файл грузовика в Spintires Editor. Он должен выглядеть примерно вот так:

Мод грузовика с минимальными модификациями
Следующим шагом будет настройка параметров грузовика.

Шаг пятый:


Настройка грузовика.

По сути процесс создания грузовика сводится к редактированию текст XML файла грузовика. Здесь вы можете видеть несколько инструментов, которые должны помочь вам в этом.

Панель инструментов Spintires Editor.
Наведите курсор мыши на кнопку, чтобы увидеть тултип.

1. Обзор Wireframe mesh.
2. Отключить редактирование. Полезно, когда вы хотите просто просмотреть файлы и текстуры модели, но не хотите изменять их.
3. Lighting mode: точечное или объемное освещение (полезно при редактировании текстур и моделей затенения).
4. Включение и отключение тумана. Не используется непосредственно при создании мода.
5. Включение и отключение сетки.
6. Системная статистика.
7. Системные таймеры.
8. Перезагрузить ресурсы (текстуры и полигоны).
9. Открыть медиа-файл.
10. Скопировать объект. Не используется непосредственно при создании мода.
11. Начать и остановить физическую симуляцию. Используется для проверки физики грузовика в Spintires Editor.

Вы, также, можете использовать Havok Visual Debugger, для теста ваших настроек физики. Что бы сделать это откройте XML-файл грузовика в Spintires Editor и начните симуляцию (кнопка 11 на тулбаре).

Отображение моделей столкновения
Spinttires Editor отображает информацию о столкновении для объектов всех объектов, которые могут участвовать в столкновении.

После этого запустите Havok Visual Debugger (файл hkVisualDebugger.exe) и подключитесь к Spintires Editor (если это не происходит автоматически, то воспользуйтесь Network > Connect > localhost). После этого вы можете использовать View > User Cameras > Spintires Camera чтобы выровнять камеру Visual Debugger и камеру Spintires Editor.

Вид модели в Havok Visual Debugger
Вид из Havok Visual Debugger. Вы можете удерживать пробел и двигать мышью, чтобы вращать объекты вокруг своей оси и проверять ваши физические настройки.

Spintires Editor, по сути, это браузер грузовиков.

Вид грузовика в Spintires Editor
Вид грузовика в Spintires Editor.

1, 2, 3, 4 (HeadLight, Igniting, ReverseSignals, StopSignals) - позволяют вам просматривать и запускать действие частей Truck/ModelAttachments и TruckAddon/ModelAttachments XML.

5 (IK) - отображает настройки IK для TruckAddon/ControlledIK и TruckAddon/AutomaticIK.
6 (DamageSensation) - отображает область и части грузовика, на которые воздействует система повреждений в игре. Также, по этим областям можно оценить обтекаемость модели жидкостями.
7 (Shafts) - положение приводных валов грузовика.
8 (OcclusionMap) - текстура помещаемая на поверхность под грузовиком для симуляции окклюзии освещения.
9 (OcclusionVolume) - зона, закрытая моделью грузовика.
10 (OcclusionVolume/FullOcclusion) - используется вместо OcclusionVolume если установлен аддон с атрибутом "IsChassisFullOcclusion" с параметром "true".

Работа Spintires Editor в паре с плагинами Notepad++ Spintires:

Пример первый: регулирование положения приводных валов.



  • Откройте XML-mesh файл грузовика, к которому вы хотите добавить приводные валы (используйте ALT-SHIFT-O).
  • В контекстном меню выберите "Open XML File".
  • В Notepad++ добавьте ветвь "SocketPoints/SocketPoint", если её нет, после этого переместите курсор между скобок в поле значений атрибута "Pos" и нажмите кнопку "Pos".
NotePad++ с плагинами Spintires
  • Окно Spintires Editor должно появиться и показать глобальное положение выбранной ветви приводного вала
Редактирование глобальных позиций в Spintires Editor
  • Используйте 3D контроль для чтобы изменять положение ветви приводного вала или кликните по полигону для привязки к точке пересечения. Нажмите "OK", чтобы сохранить координаты в Notepad++, "Cancel", чтобы отменить изменения и "Reset", чтобы вернуться к оригинальным значениям.

Пример второй: регулировка карты затенения.



  • Откройте XML-mesh файл грузовика, к которому вы хотите добавить приводные валы (используйте ALT-SHIFT-O).
  • В контекстном меню выберите "Open XML File".
  • В Notepad++ добавьте ветвь "Truck/OcclusionMap", если её нет, после этого переместите курсор между скобок в поле значений атрибута "HalfSizeZ" и нажмите клавишу "Z".
Редактирование глобальных позиций отдельных объектов
  • Используйте 3D контроль для изменения ширины карты затенения.
Таким же способом вы можете редактировать направления.

Вы, также, можете редактировать локальные направления и позиции. Чтобы сделать это сперва выберите субъобъект в Spintires Editor, после чего нажмите "Pos Local/Offset" или "Dir/Axis Local" в диалоговом окне плагинов Notepad++ Spintires.

Шаг шестой:


Тестирование грузовика в игре.

После тестирования вашего грузовика в Spintires Editor, лучше всего протестировать его еще и в самой игре.

Запустите Spintires и убедитесь что у вас запущен и работает Steam.

В главном меню выберите "Proving ground", чтобы запустить игру на полигоне.

Главное меню Spintires
Полигон, это особый режим игры, в котором вы можете спавнить, чинить и дозаправлять ваш грузовик в любой момент. Этот режим, также, позволяет спавнить грузовики и аддоны из неопубликованных модов (во всех других случаях вам будут доступны только опубликованные моды, на которые вы подписаны).

Инструменты разработчиков
На полигоне можно использовать инструменты разработчиков.

Используйте кнопку "Spawn" для того, чтобы добавить новый грузовик.

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

Переключение на заспавненый грузовик.
На полигоне есть некоторое количество локаций, куда вы можете телепортировать ваш грузовик. Тщательно протестируйте ваш грузовик в различных условиях и с различными настройками аддонов, прежде чем переходить к следующему шагу. Вы можете использовать Havok Visual Debugger, подключенный к Spintires, чтобы тестировать ваши физические настройки.

Шаг седьмой:


Публикация мода.

Ваш грузовик или аддон должен иметь приличное название. Чтобы отредактирвоать его добавьте ветвь примерно такого вида:



В специальном файле, с именем "strings.xml", который расположен в корневом каталоге вашего мода. Замените "kamaz65111" именем вашего грузовика или аддона и добавьте это имя в атрибуте "Value". Локализация модов пока еще не реализована, так что весьма рекомендуется использовать английский язык во всех названиях.

После того как вы дали имя всем своим творениям и протестировали их и в Spintires Editor, и в игре, запустите Spintires Editor и нажмите правой кнопкой мыши по вашему моду в "File View" и нажмите "Publish mod".

Кнопка публикации мода
Должно появиться диалоговое окно публикации мода.

Диалоговое окно публикации мода
Введите название и описание для вашего мода. Выберите значение параметра Visibility (по-умолчанию стоит значение "Private", что означает, что никто кроме вас не будет видеть мод). Нажмите кнопку "Autogenerate", чтобы создать превью для вашего мода. После этого вы сможете настроить автоматически созданную картинку, которая находится по адресу Media\_mods\[mod name]\preview.png. Советуем сохранить так много от автоматически созданной картинки, как это возможно, чтобы сделать иконку мода более аутентичной.

Если это первый раз, когда вы добавляете новый предмет в Steam Workshop, вы должны будете согласиться с условиями обслуживания, при помощи клика по ссылке "workshop terms of service".

Опционально, добавьте change note и нажмите кнопку "Publish". Должно будет появиться окно загрузки. После того как загрузка будет окончена мод станет видимым на странице https://steamcommunity.com/app/263280/workshop/

 Просмотров: 114.3k