308 [REPAD] DDF_FantasyV Мододел, Участник 115 публикаций 9 237 боёв Жалоба #1 Опубликовано: 27 фев 2025, 07:14:39 (изменено) [Content SDK] Создание модификации модели корабля В этой теме мы рассмотрим, как правильно изменить модель корабля. 1 Извлечение исходной модели Необходимый софт: ModsSDK gmConverter3D Для того чтобы модифицировать какой-то корабль, нам необходимо достать из игры файлы от этого корабля. Выполняем следующие действия: Мы будем использовать ModsSDK для получения контента, и его рабочий процесс можно отсылать к «[Content SDK] Создание скинов и модификаций внешнего вида кораблей». При правильной работе вы получите папку, содержащую все содержимое судна. Переходим в папку с распакованным нами пакетом файлов модификации корабля (в моём случае это "RSB026_Admiral_Ushakov") и смотрим на её содержимое: Скрытый текст Состав папок и их содержимое может меняться в зависимости от класса нашего корабля: compile.info - технический файл, его мы не трогаем ни при каких условиях aircraft - папка с авиацией, присутствует у авианосцев, гибридов, либо если корабль имеет катапультный самолёт catapult - папка с текстурами и моделями катапульт для запуска самолётов detector - папка с текстурами и моделями системы управления огнём finder - папка с текстурами и моделями дальномеров корабля gun - папка с текстурами и моделями орудий ГК и ПМК, ПВО и торпедных аппаратов projectile - папка с текстурами и моделями снарядов, используемых кораблём radar - папка с текстурами и моделями радаров и антен РЛС ship - папка с текстурами и моделями корпуса корабля Типы файлов, встречаемые в распакованном пакете: *.info и *.splash - технические файлы, необходимые для работы модификации. их редактирование может привести к отказу мода *.geometry; *.model; *.visual - файлы моделей и их параметров *.mfm - файл материала. отвечает за присвоение текстур и их свойства *.dds - файлы текстур Скачать gmConverter3D, запустите gmConverter3D.exe, выберите File >> Open и подождите некоторое время, выберите File >> Save, чтобы преобразовать все вышеупомянутые файлы из *.geometry в *.obj. В этой папке должны быть следующие файлы: Скрытый текст RSB026_Admiral_Ushakov_1955.geometry RSB026_Admiral_Ushakov_1955_Bow.geometry RSB026_Admiral_Ushakov_1955_MidBack.geometry RSB026_Admiral_Ushakov_1955_MidFront.geometry RSB026_Admiral_Ushakov_1955_Stern.geometry Извлечение части исходной модели завершено. 2 Изменить модель с помощью Blender Необходимый софт: Blender 3.6 (или ниже) .primitives-converter Visual Studio/VS Code/Notepad++ Нам нужно импортировать модель *.obj, полученную из предыдущей части, в Blender и внести соответствующие изменения в ее структуру, чтобы она соответствовала игре. Выполняем подготовку: Установите и откройте Blender (если вы правильно установили .primitives-converter), закройте подвеску, выберите File >> New >> General, создайте новый *.blend файл. Удалить Collection справа и все, что в ней содержится. Ваш программный интерфейс должен быть похож на: Скрытый текст Выберите File >> Import >> Wavefront (.obj), чтобы открыть файл модели в предыдущей части (если вы просто хотите добавить новую модель, вам нужно только отредактировать файл Bow). При открытии файла используется конфигурация по умолчанию. Если вы изменили конфигурацию по умолчанию, вы можете настроить ее в соответствии со следующими изображениями: Скрытый текст После импорта ваш интерфейс будет показан на рисунке: Скрытый текст Импорт модели завершен! Поскольку импортируемая модель включает в себя множество моделей высокого, среднего и низкого качества, и нам нужны только модели высокого качества для позиционирования, необходимо удалить избыточную часть модели. Выполняем следующие действия: Выберите компонент той же части и отделите его от коллекции моделей с помощью “Move”(Комбинации клавиш: G) на панели инструментов. Обычно я предпочитаю двигаться по оси X. Скрытый текст Чтобы отличить точность модели, нам нужно включить статистическую функцию. Скрытый текст Теперь, когда мы выбираем модель и нажимаем клавишу Tab, параметры модели можно увидеть в левом верхнем углу. Обычно мы сохраняем только самые точный модели, то есть максимум параметры. В некоторых случаях модель может иметь несколько одинаковых параметров, и в это время достаточно сохранить любую из самых точный моделей. После завершения модификации переместите модель обратно на место. Найдите файл RSB026_Admiral_Ushakov_1955_Bow.visual из папки Ship в предыдущей части, откройте его с помощью текстового редактора. Как правило, нам нужны слова, которые находятся между <identifier> и </identifier>. Соответствие обычно выглядит следующим образом: Скрытый текст Bow Bow_Bulge Bow_crack_MidFront Bow_crack_MidFront_Bulge Bow_crack_MidFront_DeckHouse Bow_crack_MidFront_in Bow_DeckHouse Bow_Net Bow_patch_MidFront Bow_patch_MidFront_Bulge Bow_patch_MidFront_DeckHouse Bow_patch_MidFront_wire Bow_wire Модель переименовывается в соответствии с соответствующим именем предыдущего шага, а в конце имени добавляется "Shape". Скрытый текст Выберите Add >> Empty >> Plain Axes и создайте коллекцию под названием “Bow” в соответствии со структурой шага 4. Скрытый текст Поскольку ось координат отличается, нам нужно повернуть всю модель на 180° вдоль оси Z. Выберите “Rotate” на панели инструментов в левом верхнем углу и выберите всю модель, щелкнув синим вращающимся кольцом для вращения. После завершения всех операций преобразования вы должны нажать Ctrl + A >> All Transforms, чтобы применить!! Скрытый текст Предварительная обработка модели завершена! Добавление собственной модели аналогично вышеуказанным операциям. Предположим, что модель используется в формате *.obj, просто следуйте шагу 5 - 6 повторения вашей модели. Местоположение модели можно настроить. Окончательная структура коллекции будет показана на диаграмме ниже (Я использовал Bow_Koishi и Bow_Satori в качестве новых моделей): Скрытый текст Изменить модель завершен. 3 Рисование и выпечка текстуры моделей Необходимый софт: Photoshop NVIDIA Texture Tools Exporter Если вам нужно изменить окраску оригинальной модели корабля, см. статью «[Content SDK] Создание скинов и модификаций внешнего вида кораблей». Здесь представлена только информация о том, как изменить новую модель. Выполняем следующие действия: Разверните коллекцию моделей в правом верхнем углу, выберите модель в ней (обычно строку чисел по умолчанию) и выберите опцию “Material” на вкладке ниже. Следуйте порядку действий, чтобы удалить все параметры материала в поле. Скрытый текст Откройте файл RSB026_Admiral_Ushakov_1955_Bow.visual и найдите слова, соответствующие этой части модели, обычно в следующем формате: Скрытый текст <renderSet> <treatAsWorldSpaceObject>false</treatAsWorldSpaceObject> <node>Bow_Bulge</node> <geometry> <vertices>Bow_BulgeShape.vertices</vertices> <primitive>Bow_BulgeShape.indices</primitive> <primitiveGroup> 0 <material> <identifier>TL2_SHIPMAT_PBS_Bulge</identifier> <mfm>PnFMods/Koishi_Ushakov/RSB111_Admiral_Ushakov/ship/RSB026_Admiral_Ushakov_1955_bulge.mfm</mfm> </material> </primitiveGroup> </geometry> </renderSet> Заполните фразу между <identifier> и </identifier> в материал; Заполните фразу между <mfm> и </mfm> в BigWorld Material >> mfm. Если это ваша новая модель, вам нужно заполнить ее в соответствии с вашей собственной конфигурацией. Скрытый текст Заполните BigWorld Material >> Format. Как правило, только модель, содержащая "wire" в названии, заполняет "xyznuvr", а все остальные "xyznuvtb". Выберите вкладку "Data", щелкните "UV Maps", создайте новую "uv1" и выберите. Скрытый текст Настройка текстуры завершена. 4 Экспорт файлов моделей из Blender Необходимый софт: GeometryPack или MK Model Export Tool Вы можете выбрать один из двух инструментов. Если вы планируете использовать инструмент MK Model Export Tool, пожалуйста, пропустите шаги 1~5 этого раздела. Выполняем следующие действия: Обратите внимание, что следующее выполняется с помощью Geometrypack. Нажмите "Scene Root" в правом верхнем углу, выберите File >> Export >> BigWorld Model (.primitives +.visual +.temp_model) и нажмите "Export Model". Через некоторое время в выбранном каталоге появятся три файла. Удалите файл RSB026_Admiral_Ushakov_1955_Bow.temp_model, так как нам не нужно его использовать. Скрытый текст RSB026_Admiral_Ushakov_1955_Bow.primitives RSB026_Admiral_Ushakov_1955_Bow.temp_model RSB026_Admiral_Ushakov_1955_Bow.visual Откройте файл RSB026_Admiral_Ushakov_1955_Bow.visual, замените все "Shape</node>" на "</node>" и сохраните файл. В этом каталоге создана новая папка "lods", в которой скопированы три копии RSB026_Admiral_Ushakov_1955_Bow.visual, переименованные в RSB026_Admiral_Ushakov_1955_Bow_lod1.visual, RSB026_Admiral_Ushakov_1955_Bow_lod2.visual、RSB026_Admiral_Ushakov_1955_Bow_lod3.visual. Теперь структура файла в каталоге аналогична: Скрытый текст lods RSB026_Admiral_Ushakov_1955_Bow_lod1.visual RSB026_Admiral_Ushakov_1955_Bow_lod2.visual RSB026_Admiral_Ushakov_1955_Bow_lod3.visual RSB026_Admiral_Ushakov_1955_Bow.primitives RSB026_Admiral_Ushakov_1955_Bow.visual Из - за технических проблем преобразование формата модели требует двух этапов. Сначала используйте старую версию GeometryPack для преобразования *.primitives в *.geometry. Затем новая версия GeometryPack будет исправлена только что полученным *.geometry. Теперь структура файла в каталоге аналогична: Скрытый текст lods RSB026_Admiral_Ushakov_1955_Bow_lod1.visual RSB026_Admiral_Ushakov_1955_Bow_lod2.visual RSB026_Admiral_Ushakov_1955_Bow_lod3.visual RSB026_Admiral_Ushakov_1955_Bow.geometry RSB026_Admiral_Ushakov_1955_Bow.visual Обратите внимание, что следующее выполняется с помощью MK Model Export Tool. Скачайте его через Release на Github, а затем распакуйте в любой каталог. Нажмите "Scene Root" в правом верхнем углу, выберите File >> Export >> BigWorld Model (.primitives +.visual +.temp_model) и нажмите "Export Model". Создайте новую папку с именем "input" в каталоге программного обеспечения и экспортируйте в нее файл модели. Теперь структура файла в каталоге аналогична: Скрытый текст geometrypack ··· geometrypack_old ··· input RSB026_Admiral_Ushakov_1955_Bow.primitives RSB026_Admiral_Ushakov_1955_Bow.temp_model RSB026_Admiral_Ushakov_1955_Bow.visual export.bat Запустите export.bat, введите название измененной детали модели в консоль, а затем дождитесь ее завершения. Результат будет выведен в папку результатов. Все они *.visual файлы были автоматически изменены без дополнительных операций. На данный момент файл должен быть похожим: Скрытый текст geometrypack ··· geometrypack_old ··· input result lods RSB026_Admiral_Ushakov_1955_Bow_lod1.visual RSB026_Admiral_Ushakov_1955_Bow_lod2.visual RSB026_Admiral_Ushakov_1955_Bow_lod3.visual RSB026_Admiral_Ushakov_1955_Bow.geometry RSB026_Admiral_Ushakov_1955_Bow.visual export.bat Экспорт модели завершен. 5 Изменить профиль модели Если вы добавили новую модель, вы должны сделать этот шаг. Выполняем следующие действия: Создание нового *.mfm файла. Имя файла должно быть таким же, как и в шаге 2.3. Вот пример Bow_Koishi.mfm: Скрытый текст <Bow_Koishi.mfm> <fx> shaders/materials/pbs/ship_emissive_material.fx </fx> <property> emissivePower <Float> 0 </Float> </property> <materialKind> 0 </materialKind> <collisionFlags> 0 </collisionFlags> <property> ambientOcclusionMap <Texture> PnFMods/Koishi_Ushakov/RSB111_Admiral_Ushakov/ship/Bow_Koishi_ao.dds </Texture> </property> <property> diffuseMap <Texture> PnFMods/Koishi_Ushakov/RSB111_Admiral_Ushakov/ship/Bow_Koishi_a.dds </Texture> </property> <property> metallicGlossMap <Texture> PnFMods/Koishi_Ushakov/RSB111_Admiral_Ushakov/ship/Bow_Koishi_mg.dds </Texture> </property> <property> normalMap <Texture> PnFMods/Koishi_Ushakov/RSB111_Admiral_Ushakov/ship/Bow_Koishi_n.dds </Texture> </property> </Bow_Koishi.mfm> Добавьте файл текстуры. Имя файла должно совпадать с соответствующей записью в файле mfm. Если вы хотите, чтобы новая модель отображалась корректно, вы должны включить файлы _a.dds и _mg.dds, а остальные могут использоваться по умолчанию. Скрытый текст _a.dds - это основная текстура корабля, то как он выглядит без камуфляжей. Обычно именно эту текстуру красят мододелы при создании скинов _ao.dds - карта затенения. Чёрно-белая текстура при изменении которой можно настроить тени от рассеянного света на корабле. _n.dds - карта нормалей. Используется для имитации неровностей поверхности на объекте. Например, на крейсере "Москва" табличка с названием корабля сделана именно при помощи этой текстуры, но на первый взгляд может показаться что она является 3D элементом. _mg.dds - текстура, отвечающая за блеск, свечение и наложение камуфляжей. О том как правильно с ней работать мы поговорим дальше. 6 Подождите - окончательное подтверждение Теперь структура файла в каталоге аналогична: Скрытый текст lods RSB026_Admiral_Ushakov_1955_Bow_lod1.visual RSB026_Admiral_Ushakov_1955_Bow_lod2.visual RSB026_Admiral_Ushakov_1955_Bow_lod3.visual RSB026_Admiral_Ushakov_1955_Bow.geometry RSB026_Admiral_Ushakov_1955_Bow.visual Bow_Koishi.mfm Bow_Koishi_a.dds Bow_Koishi_mg.dds Bow_Satori.mfm Bow_Satori_a.dds Bow_Satori_mg.dds Поздравляю! Вы закончили модификацию модели корабля. Изменено 13 ноя 2025, 05:23:03 пользователем DDF_FantasyV 4 1 4 Рассказать о публикации Ссылка на публикацию
308 [REPAD] DDF_FantasyV Мододел, Участник 115 публикаций 9 237 боёв Жалоба #2 Опубликовано: 27 фев 2025, 11:30:19 Здесь будет размещена ссылка на сетевой диск для загрузки некоторых из упомянутых выше инструментов. https://drive.google.com/drive/folders/1OgRdH7cOy729hSBskaRvsTnuWoTet6Du?usp=drive_link Рассказать о публикации Ссылка на публикацию