Создание статичной модели в Object Builder

Статья рассчитана на тех, кто еще не имеет представления как добавить свою статичную 3d модель в игру. Речь НЕ будет идти о том как создать какую-либо 3d модель, для этого есть куча других статей по определенным 3d редакторам, здесь я напишу процесс импорта уже готовой 3d модели, чтобы можно было с ней взаимодействовать в игре, начиная от присвоения текстур, создания лодов, и заканчивая созданием конфига.

Для данной статьи я выбрал наиболее простую модельку — обыкновенную металлическую бочку, скачанную с интернета с текстурой.

Шаг 1. Создание проекта, конвертирование текстур

Первое, с чего стоит начать — это создать папку проекта на диске P:\ в которой будет находится наша 3d модель, текстуры и конфиг. Для примера у меня путь«P:\armatools\barrel»

armatools\ это моя основная папка с проектами, как в Арме папки «CA» для Arma 2, или «A3» для Arma 3 соответственно. Создавать такую папку не обязательно, но удобней когда все ваши проекты в одной папке, а не раскиданы по диску P

Теперь нужно перегнать текстуры в понятный Арме формат (.paa) с помощью TexView 2, и сохранить в папке нашего проекта.

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

Шаг 2. Импорт модели в Object Builder

Предположим что модель у нас в .3DS формате т.к. наиболее распространенный, в оксигене жмем File -> Import -> 3DS

Создание статичной модели в Object Builder

Лучше сразу указать путь до папки с текстурами в нижней части окошка без имени диска, т.к. название виртуально диска уже должно быть прописано в настройках Оксигена. У меня это путь «armatools\barrel\». Указывать нужно в обоих полях (Prefix и Path), и внимательно следите что написано во 2-м поле, там любят неожиданно появляться различные символы.

No merge — по умолчанию Оксиген сливает точки в одну, находящиеся в одной и той же координатах,  это может испортить группы сглаживания модели, поэтому иногда лучше поставить галочку и сливать точки вручную, если надо.

No sqarize — убирает триангуляцию модели (все полигоны становятся квадратными).

Master scale — соотношение размера подбираете самостоятельно, в зависимости от того в каких пропорциях эта модель создана в другом редакторе.

Шаг 3. Назначение текстур

После импорта модели, нужно убедиться что текстура подхватилась из папки которую указывали при импорте. Для этого жмем «Tools -> Mass Texture & Material Renaming» — если пути с названиями текстур горят красным — значит текстуры не подхватились (или путь не верный, или самой текстуры в формате .paa нет по этому пути).

Создание статичной модели в Object Builder

Исправить пути можно либо в этом же  окошке, либо перейти библиотеку ресурсов (которое должно быть включено «Window -> Resource Library» )  — если перед названием текстуры стоит желтый вопросительный знак — значит текстура указана не верно, жмем ПКМ по текстуре -> Rename, и выбираем текстуру которая уже должна лежать в папке проекта в формате .paa, когда текстура выбрана правильно в место вопросительного знака будет зеленый флажок.

Создание статичной модели в Object Builder

Так же текстуры\материалы можно назначать выбрав полигон\объект и нажав на клавиатуре клавишу «E», или нажав этот значек в окне программы:Создание статичной модели в Object Builder

Шаг 4. Работа с LOD’ами

После того как все текстуры назначены, можно запустить Buldozer чтобы убедиться что все выглядит как надо:Создание статичной модели в Object Builder

Закрываем бульдозер комбинацией ALT+F4, и создаем LOD geometry. Как создавать коллизию подробно расписано здесь

Так как у меня бочка — соответственно коллизийку я сделал из цилиндра.

Шаг 5. Конфиг

Осталось подключить конфиг к нашему объекту чтобы его можно было поставить в редакторе. Минимальный конфиг выглядит так:

[su_note note_color=”#faf2f2″ radius=”0″]
class CfgPatches
  {
  class armatools //обычно используется название папки проекта
      {
        units[] = { };
        weapons[] = { };
        requiredVersion = 1.020000;
         requiredAddons[] = {};
       };
  };
class CfgVehicleClasses
 {
 class armatoolslocal //создаем новый класс объектов, для редактора
   {
   displayName = “armatools local”; //название этого класса для отображения в редакторе
   };
};
class CfgVehicles
  {
  class Building ; //определяем стандартный класс, чтобы потом от него наследоваться
  class atools_class_base : Building //создаем свой базовый класс от которого будут наследоваться отсальные наши объекты
    {
     scope = 2; //видимость в редакторе Армы
     vehicleClass = “armatoolslocal”; //указываем тот самый класс объектов для наших моделей
     destrType = “DestructNo”; //с этой строкой дамаг объекту наноситься не будет
     };
  class atools_barrel : atools_class_base //тут уже окончательный класс самой 3d модели, и наследуемся от           базового
    {
    displayName = “arma tools barrel”; //имя нашего объекта для отображения в редакторе
    model = “\armatools\barrel\barrel.p3d”; //путь до модели
     };
};
[/su_note]

Осталось это все запаковать в .PBO архив любой умеющей это делать утилитой (PBO Manager, PBO Proect, BinPBO, Addon Builder), и смотреть результат в игре!

Статья написана проектом посвященным моддингу в ARMA 3 — armatools.info

comments powered by HyperComments