Перейти к содержимому
Для публикации в этом разделе необходимо провести 1 боёв.
DDF_FantasyV

[Content SDK] Создание модификации модели корабля

В этой теме 2 комментария

Рекомендуемые комментарии

49
[REPAD]
Мододел, Участник
16 публикаций
6 999 боёв

[FAQ] Создание модификации модели корабля

В этой теме мы рассмотрим, как правильно изменить модель корабля.

 


1 Извлечение исходной модели

Необходимый софт:

 

Для того чтобы модифицировать какой-то корабль, нам необходимо достать из игры файлы от этого корабля.


Выполняем следующие действия:

  1. Мы будем использовать ModsSDK для получения контента, и его рабочий процесс можно отсылать к «[Content SDK] Создание скинов и модификаций внешнего вида кораблей». При правильной работе вы получите папку, содержащую все содержимое судна.
  2. Переходим в папку с распакованным нами пакетом файлов модификации корабля (в моём случае это "RSB026_Admiral_Ushakov") и смотрим на её содержимое:

    Скрытый текст

    Состав папок и их содержимое может меняться в зависимости от класса нашего корабля:

    • compile.info - технический файл, его мы не трогаем ни при каких условиях
    • aircraft - папка с авиацией, присутствует у авианосцев, гибридов, либо если корабль имеет катапультный самолёт
    • catapult - папка с текстурами и моделями катапульт для запуска самолётов
    • detector - папка с текстурами и моделями системы управления огнём
    • finder - папка с текстурами и моделями дальномеров корабля
    • gun - папка с текстурами и моделями орудий ГК и ПМК, ПВО и торпедных аппаратов
    • projectile - папка с текстурами и моделями снарядов, используемых кораблём
    • radar - папка с текстурами и моделями радаров и антен РЛС
    • ship - папка с текстурами и моделями корпуса корабля
       

    Типы файлов, встречаемые в распакованном пакете:

    • *.info и *.splash - технические файлы, необходимые для работы модификации. их редактирование может привести к отказу мода
    • *.geometry; *.model; *.visual - файлы моделей и их параметров
    • *.mfm - файл материала. отвечает за присвоение текстур и их свойства
    • *.dds - файлы текстур

     

  3. Скачать 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

Необходимый софт:

 

Нам нужно импортировать модель *.obj, полученную из предыдущей части, в Blender и внести соответствующие изменения в ее структуру, чтобы она соответствовала игре.

 

Выполняем подготовку:

  1. Установите и откройте Blender (если вы правильно установили .primitives-converter), закройте подвеску, выберите File >> New >> General, создайте новый *.blend файл.
  2. Удалить Collection справа и все, что в ней содержится. Ваш программный интерфейс должен быть похож на:
    Скрытый текст

    sample-1.thumb.png.dae6d3fa33fe6cce2e868c5c55c5b6e3.png

  3. Выберите File >> Import >> Wavefront (.obj), чтобы открыть файл модели в предыдущей части (если вы просто хотите добавить новую модель, вам нужно только отредактировать файл Bow). При открытии файла используется конфигурация по умолчанию. Если вы изменили конфигурацию по умолчанию, вы можете настроить ее в соответствии со следующими изображениями:
    Скрытый текст

    sample-2.thumb.png.97a7fe1cbea80d437d593f70442a81d5.png

  4. После импорта ваш интерфейс будет показан на рисунке:
    Скрытый текст

    sample-3.thumb.png.679bedd810f99b23a69cade1076f2f8d.png

  5. Импорт модели завершен!

 

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

 

Выполняем следующие действия:

  1. Выберите компонент той же части и отделите его от коллекции моделей с помощью “Move”(Комбинации клавиш: G) на панели инструментов. Обычно я предпочитаю двигаться по оси X. 
    Скрытый текст

    sample-4.thumb.png.5ae25d8b34b2586586766639f877844b.png

  2. Чтобы отличить точность модели, нам нужно включить статистическую функцию.
    Скрытый текст

    sample-5.thumb.png.5fad0bfb8feb6e0b74604471a6df08ce.png

     

  3. Теперь, когда мы выбираем модель и нажимаем клавишу Tab, параметры модели можно увидеть в левом верхнем углу. Обычно мы сохраняем только самые точный модели, то есть максимум параметры. В некоторых случаях модель может иметь несколько одинаковых параметров, и в это время достаточно сохранить любую из самых точный моделей. После завершения модификации переместите модель обратно на место.
  4. Найдите файл 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
  5. Модель переименовывается в соответствии с соответствующим именем предыдущего шага, а в конце имени добавляется "Shape".
    Скрытый текст

    sample-6.thumb.png.bde84a1dcf1d05a9b83a8e105fdc9849.png

  6. Выберите Add >> Empty >> Plain Axes и создайте коллекцию под названием “Bow” в соответствии со структурой шага 4.
    Скрытый текст

    sample-7.thumb.png.5be70a19eac21d618e683f7eaec06d7e.png

  7. Поскольку ось координат отличается, нам нужно повернуть всю модель на 180° вдоль оси Z. Выберите “Rotate” на панели инструментов в левом верхнем углу и выберите всю модель, щелкнув синим вращающимся кольцом для вращения. После завершения всех операций преобразования вы должны нажать Ctrl + A >> All Transforms, чтобы применить!!
    Скрытый текст

    sample-8.png.37590ea54aa18fa90748c2f1501a7613.png

  8. Предварительная обработка модели завершена!

 

Добавление собственной модели аналогично вышеуказанным операциям. Предположим, что модель используется в формате *.obj, просто следуйте шагу 5 - 6 повторения вашей модели. Местоположение модели можно настроить. Окончательная структура коллекции будет показана на диаграмме ниже (Я использовал Bow_Koishi и Bow_Satori в качестве новых моделей):

Скрытый текст

sample-9.thumb.png.ac4fe2abf152b560d3c16b8fd84dd9ed.png

 

Изменить модель завершен.

 


3 Рисование и выпечка текстуры моделей

Необходимый софт:

 

Если вам нужно изменить окраску оригинальной модели корабля, см. статью «[Content SDK] Создание скинов и модификаций внешнего вида кораблей». Здесь представлена только информация о том, как изменить новую модель.

 

Выполняем следующие действия:

  1. Разверните коллекцию моделей в правом верхнем углу, выберите модель в ней (обычно строку чисел по умолчанию) и выберите опцию “Material” на вкладке ниже. Следуйте порядку действий, чтобы удалить все параметры материала в поле.
    Скрытый текст

    sample-10.thumb.png.8c1cdbf3fcf81cee94f082decad7f3cd.png

  2. Откройте файл 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>

  3. Заполните фразу между <identifier> и </identifier> в материал; Заполните фразу между <mfm> и </mfm> в BigWorld Material >> mfmЕсли это ваша новая модель, вам нужно заполнить ее в соответствии с вашей собственной конфигурацией.
    Скрытый текст

    sample-11.thumb.png.2d8ba781126ace6b7ec33c1254d37337.png

  4. Заполните BigWorld Material >> Format. Как правило, только модель, содержащая "wire" в названии, заполняет "xyznuvr", а все остальные "xyznuvtb".
  5. Выберите вкладку "Data", щелкните "UV Maps", создайте новую "uv1" и выберите.
    Скрытый текст

    sample-12.thumb.png.ba4a1d3763df5b173de4daaf1a714f48.png

 

Настройка текстуры завершена.

 


4 Экспорт файлов моделей из Blender

Необходимый софт:

  • GeometryPack

 

Выполняем следующие действия:

  1. Нажмите "Scene Root" в правом верхнем углу, выберите File >> Export >> World of Warships 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
  2. Откройте файл RSB026_Admiral_Ushakov_1955_Bow.visual, замените все "Shape</node>" на "</node>" и сохраните файл.
  3. В этом каталоге создана новая папка "lods", в которой скопированы три копии RSB026_Admiral_Ushakov_1955_Bow.visual, переименованные в RSB026_Admiral_Ushakov_1955_Bow_lod1.visual, RSB026_Admiral_Ushakov_1955_Bow_lod2.visualRSB026_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
  4. Из - за технических проблем преобразование формата модели требует двух этапов. Сначала используйте старую версию 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

 

Экспорт модели завершен.

 


5 Изменить профиль модели

Если вы добавили новую модель, вы должны сделать этот шаг.

 

Выполняем следующие действия:

  1. Создание нового *.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>

  2. Добавьте файл текстуры. Имя файла должно совпадать с соответствующей записью в файле 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

 

Поздравляю! Вы закончили модификацию модели корабля.

 

  • Плюс 4
  • Круто 2
  • Скучно 1

Рассказать о публикации


Ссылка на публикацию
49
[REPAD]
Мододел, Участник
16 публикаций
6 999 боёв

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

https://drive.google.com/drive/folders/1OgRdH7cOy729hSBskaRvsTnuWoTet6Du?usp=drive_link

Рассказать о публикации


Ссылка на публикацию

×