Arma 3
118 ratings
Базовый гайд по добавлению своего оружия в ARMA 3
By m1st3r_pr0per
UPD 15/04/2020: Автор данного материала уже долгое время не занимается моддингом для Армы и больше не сможет помогать вам советом. Вы уже большие мальчики и девочки, и в состоянии сами найти недостающую информацию или проверить что-то своими руками. Спасибо за понимание и всего хорошего.

Если у вас есть лишние нервные клетки, немного свободного времени и большое желание впихнуть в арму свою любимую пушку, то почему бы не попробовать себя в моддинге Арма 3? В этом гайде я попытаюсь максимально разжевать основу процесса импорта оружия в игру.
   
Award
Favorite
Favorited
Unfavorite
Дисклеймер
Хочу сразу сказать что у меня самого не много опыта в этом деле и какие-то вещи могут быть сделаны не так, как бы их делали опытные моддеры. Так что если вы считаете что то или иное действие, которое я описал здесь, не совсем правильно, прошу поправить меня.
1. Подготовка
Перед тем как мы начнём нужно убедиться что у нас есть все нужные нам инструменты. Проходим по этой[community.bistudio.com] ссылке и качаем BI Tools 2.5 (~37.4 Mb).
Из всего что лежит в архиве нам понадобятся:
  • Oxygen 2
  • TexView 2
  • BinPBO
Устанавливаем... Далее, внимание, у вас появится "Local Disk (P:)". Не пугаемся, так и надо.

Теперь нам нужно подготовить модель которую мы хотим запихнуть в игру. Желательно иметь:
  • Саму модель. Полноценна модель с кучей полигонов

  • Текстуру модели

  • Модель коллизии. Лишь очертания модели оружия. Очень мало полигонов (рис 1.2)

  • Модель теней. Здесь полигонов должно больше чем у модели коллизии (если не хотите чтобы тень была хуже чем во Flashpoint'e). Более детально выделяем узнаваемые места оружия
Сохраняем эти модели отдельно. Что-бы не запутаться можно дать им такие названия: weapon_mesh, weapon_collision, weapon_shadow.

Если всё готово, можно перейти ко второй главе.
2. Импорт в Oxygen
Добро пожаловать в Ад.

Открываем недавно установленный Oxygen 2. Жмём File/Import/ и выбираем нашу основную модельку. В выскочившем окошке жмём "Import", затем "OK". И вот моделька у вас на экране.
Далее открываем вид спереди (Front), щёлкнув на нужную кнопку.



Ваша модель должна смотреть стволом влево, если это не так выделяем её (Ctrl + A) и жмём на кнопку "Rotate"



В появившемся окне вписываем любое число (90, 180, 270) в поле "Y Value" пока модель не встанет как надо. Жмём "ОК"

Далее, крайне рекоммендую дать названия разным деталям вашей модели, вроде магазина, корпуса, ствола и т.д. В будущем это сильно упростит вашу жизнь.
Вам понадобиться окно "Named Selections". Проще всего его найти выключив и включив его. Жмём: "Window \ Named Selections". Вы должны заметить какое окно пропало и появилось обратно.
Когда мы нашли это окно, выделяем нужную нам делать (если у вас одна текстура и вы пока не собираетесь анимировать модель можно сразу выделить всё), далее правым кликом по окну "Named Selections" открываем меню и выбираем пункт "New". Вписываем туда любое название для детали и жмём 'Enter'.

Вот так у меня выглядит окно "Named Selections".








Теперь деталь будет выделяться по клику на её название.

С этим всё.
3. Уровни детализации
Уровни детализации (LOD - Level Of Distance) - приём в программировании трёхмерной графики, заключающийся в создании нескольких вариантов одного объекта с различными степенями детализации, которые переключаются в зависимости от удаления объекта от виртуальной камеры. www.wikipedia.org

В Oxygen 2 вам дано окно для управления LODами. Оно должно находиться в правой части экрана. На данный момент там только "0.000". Жмём на него правой кнопкой мыши и выбираем пункт "Properties", в самом низу. В появившемся окне находим поле "Resolution" и меняем значение "0" на "1". Это будет наш оружия от 3го лица.

Теперь создаём новый LOD кликнув по полю правой кнопкой мыши и выбрав пункт "New". Создался LOD 2.000. Щёлкаем по нему правой кнопкой и выбираем пункт "Properties". Из длинного списка выбираем "View - Pilot" двойным щелчком. Это будет вид от 1го лица.

Точно таким же образом создаём LODы: "Geometry", "Memory", "ShadowVolume 1".

Ваш список LODов должен выглядеть так:



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

Двойным щелчком переходим в LOD "1.000". Вверху выбираем пункт "Create/Proxy". В появившемся окне "Proxy Name" вставляем (то что между кавычек):
"\A3\data_f\proxies\weapon_slots\MUZZLE" - Глушитель
"\A3\data_f\proxies\weapon_slots\SIDE" - Лазер и фонарь
"\A3\data_f\proxies\weapon_slots\TOP" - Прицел

Вот так у вас должно выглядеть окно "Named Selections".








Далее, выбираем из этого списка "Muzzle.001" и, зажав правую кнопку мыши, двигаем нижнюю точку туда, где у вас будет глушитель.








Тоже самое с точками Side и Top







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

Теперь выделяем всё в LODе 1 и копируем в View - Pilot. Оба LODa должны быть одинаковыми.

С прокси всё. Дальше уже сами смотрите и двигайте их как лучше.
5. Memory
Продолжаем веселье.

Здесь нужно расставлять ключевые точки отвечающие за вылет пули, вылет гильз, положение глаза при прицеливании и т.д. и т.п. Я объясню лишь ключевые из них (между кавычек):
"konec hlavne" - начало дула
"usti hlavne" - конец дула
"nabojnicestart" - точка вылета гильзы
"nabojniceend" - куда полетит гильза
"eye" - положения глаза при прицеливании
"zbran" - все точки вместе

Итак, идём в "Memory" LOD. Наводим курсор в любое место и жмём 'Insert' на клавиатуре. На месте курсора появится точка. Выделяем эту точку, в окне "Named Selections" жмём правую кнопку мыши, выбераем пункт "New" и вписываем одно из названий сверху. По клику на название этой точки она должна выделяться. Если точка не выделяется по клику на название, выделяем её сами, щёлкаем правой кнопкой мышки по её названию и жмём "Redefine".

Вот где примерно должны стоять точки (Front):

Не забывайте двигать точки по всем 3ем осям, а не только по X и Y. По оси Z двигать удобней из вида сверху (Top). Точки "konec hlavne", "usti hlavne" и "eye" ставьте ровно по центру оружия. Точку "nabojnicestart" ставьте чуток сбоку, возле гиль­зо­вы­вод­ного ок­на, точку "nabojniceend" ставим подальше от стартовой точки.

Когда поставили все точки, выделяем их, щёлкаем правой кнопкой мышки по "zbran" и жмём "Redefine".

Здесь мы закончили. После, в игре вы уже протестируете эти точки и передвините их как будет нужно.
6. ShadowVolume и Geometry
Следущий LOD - ShadowVolume. Именно благодаря нему наша модель будет отбрасывать тень. Идём в "File \ Import" и выбираем нашу модель тени. Она должна появиться в LODе 0.000. Открываем этот LOD и копируем модель в ShadowVolume. Затем можно удалить модель из 0.000.

Подставляем модель вровень с основной моделью оружия, которая будет видна жёлтым цветом на фоне. Теперь нужно соблюсти несколько важных правил: 1. Модель должна быть "закрыта" и "выпуклая". 2. Полигоны должны быть треугольными.

Выделяем всё и жмём на "Structure \ Triangulate". Всё полигоны стали треугольными.
Закрыть модель - "Structure \ Topology \ Find Non-Closed", затем "Structure \ Topology \ Close",
Для выпуклости - "Structure \ Convexity \ Find Non-Convexities", затем "Structure \ Convexity \ Component Convex Hull"





Тоже самое мы проделываем с LODом "Geometry". Импортируем нужную модель и копируем её в LOD. Разным деталям нужно давать такие названия: "Component01" , "Component02". Затем выделяем всю модель, жмём "Alt + M" и в левом нижнём углу задаём вес объекта.
7. Текстурирование
Итак, у вас уже должна быть заготовлена текстура для модели. Сохраните её в формате png. Затем открываем TexView 2 и перетаскиваем в неё вашу текстуру. Далее жмём "File \ Save as", в поле "File name:" пишем название текстуры и в конце дописываем ".paa" (без кавычек).

Теперь у вас есть текстура в нужном нам формате. Создаём папку с любым названием на диске (P:), кидаем текстуру туда и сохраняем туда наш проект. В моем случае папка называется "pr0per_AK12". Далее идём в LOD 1.000, выделяем вашу модель и кликаем на кнопку с зелёным треугольником.



В открывшемся окне находим поле "Texture" жмём на кнопку с изображением папки правее этого поля

Находим вашу текстуру и жмём "Оpen". Теперь в поле "Texture" у вас появился путь к текстуре. Путь должен выглядеть примерно так: "pr0per_AK12\pr0per_AK12_co.paa" Если хотите запихнуть текстуру в другую папку, внутри первой, создайте папку "data", и путь уже будет примерно такой: "pr0per_AK12\data\pr0per_AK12_co.paa". Всё лишнее удаляем. Жмём "Apply".



Идём в "View \ Viewers \ Buldozer \ Start/Restart", либо жмём красивую красную кнопочку.




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

https://www.dropbox.com/s/gq5ygyp5twpwgyn/config.cpp?dl=0

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

Сам конфиг кидаем в вашу папку с моделью и открываем его с помощью блокнота (желательно Notepad++).

Советую заменить все "pr0per_AK12" на название вашего проекта и "AK-12" на названия вашего оружия в игре.

Больше информации о конфиге можно прочесть здесь[community.bistudio.com].
Дополнительные папки
В основной папке с моделью, для порядка можно создать дополнительные папки:
  • anim - для хранения анимаций рук, перезарядки. Больше ничего о ней не знаю.
  • data - для хранение текстур в формате ".paa". Небольшая памятка по названиям текстур (Взято из гайда "Zach Gibsons A3 Custom Weapon Guide")











  • sound - для хранения звуков, которые потом будут прописанны в конфиге (см. 215 и 236 строки)
  • UI - для хранения картинок инвентаря. Вот как они должны выглядеть (мои, правда, немножко покорежило, но в игре они выглядят нормально. главное чтоб вы поняли суть):
gear_AK12_x_ca.paa
gear_AK12_m_ca.paa
gear_AK12_s_ca.paa
gear_AK12_t_ca.paa

gear_AK12_ms_ca.paa
gear_AK12_mt_ca.paa

gear_AK12_st_ca.paa
gear_AK12_mst_ca.paa
9. Импорт в игру
Ну вот мы и добрались до последней стадии, к счастью, самой простой.

Открываем BinPBO Personal Edition и указываем путь к папке с нашим добром в поле "Addon source directory". В поле "Destination directory" выбираем место куда сохраниться ".pbo" файл.











Далее, идём в корневую папку Arma 3 и создаём новую папку "@pr0per_AK12" (Вместо "pr0per_AK12" пишем своё название). Открываем эту папку, создаём в ней папку "Addons" и копируем туда свой ".pbo" файл.




Теперь запускаем игру, подключаем наш мод и бегом в редактор. В редакторе находим свой ящик в "Empty \ Ammo" и ставим его поближе к себе.












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











Берём пушку в руки, надеваем на неё прицелы, глушители и смотрим как оно всё выглядит. Потом идём обратно в Oxygen и двигаем точки, изменяем размер оружия. Дальше вы справитесь сами.
Зе энд
Ну вот собственно и всё. Надеюсь всё внятно и доходчиво объяснил, и гайд вам понравился.
Удачи вам в ваших начинаниях.
35 Comments
Mickey Goodman May 4, 2021 @ 12:21pm 
Погарячите своё траханье
Michael Witdahoodie Mar 7, 2021 @ 7:47am 
Почему у меня любую модель OBJ не загружает?
m1st3r_pr0per  [author] Nov 11, 2020 @ 9:17am 
Арсюха TOG, прости, ничем более не могу помочь.
Арсюха TOG Aug 25, 2019 @ 11:45am 
почему, нету звука, конфиг под капирку, звука нету.
m1st3r_pr0per  [author] Nov 5, 2018 @ 11:01am 
Gopan, к сожалению больше не играю в Арму и модами для неё тоже более не занимаюсь.
Gopan Nov 5, 2018 @ 1:51am 
Может на досуге сможешь создать SR-47 под магазины RHS. А то я не осилил. Прикольное единичное оружие.
MaxsProsto Dec 27, 2017 @ 9:26am 
Спс
m1st3r_pr0per  [author] Dec 27, 2017 @ 9:06am 
mpadaew, ссылку на конфиг обновил, а всё остальное искать, предположительно, в гугле.
MaxsProsto Dec 27, 2017 @ 6:49am 
А где найти инфу о добавлении анимации и болие детальной доработке оружыя и конфиг чото ненаходит можеш какнибуть кинуть.
Yakuzanin Dec 18, 2017 @ 1:01am 
Пожалуйста подскажите мод, где на печенег ставится глушитель и оптика псо-свд-снп?