BigWorld

Описание: Разработка и отладка приложений. Упор на 3D-графику.

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3652
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 6 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#1 dyvniy » Чт, 22 января 2015, 18:17:49

Моделлинг танков
http://placlub.ru/games/tema/345
Спойлер
В данной статье пойдет разговор про то, как модифицировать модели в игре World of tanks, иными словами сказать – сделать ремоделинг танка. Что для модификации понадобится нам:
1) Извлечь оригинальную модель из игры;
2) внести правки в одной из программ для 3D моделирования;
3) вернуть исправленные файлы в формат игры.
Из программ понадобится следующее:
3D Object Converter - http://placlub.ru/download.php?file=17
или 3D Ripper DX - http://placlub.ru/download.php?file=171
Все это нужно для сохранения оригинальной модели из игры;
3DS MAX или другой редактор - для внесения правок в модель и экспорт обратно в игру;
Photoshop - для изменения текстур;
WOTtools - http://placlub.ru/download.php?file=18 для распаковки оригинальных .VISUAL;
WOT Tank Viewer - http://placlub.ru/download.php?file=19
для сверки оригинальных моделей и модифицированных.
Но в самом начале нам понадобится раздобыть плагин для экспорта 3D моделей в формат BigWorld. Ищите на торрентах файл BW191.rar

Извлечем игровую модель танка. Для этого откроем архив с техникой, расположенный по адресу путь к игреrespackagesvehicles_нация.pkg (в зависимости от нации например vehicles_russian.pkg). Извлечем из него папку с интересующим вас танком. Далее мы просто открываем в 3D Object Converter-е какую-то часть танка и сохраняем ее в формат Wavefront .obj. Чуть подробнее обо всем этом:

В папке с танком будут текстуры, папки collision, crash, normal. В папке normal содержатся папки LOD0, LOD1, LOD2.
LOD0 - содержит самую детализированную версию модели. Именно ее мы и будем править в 3dsmax.

Танк разбит на части hull - корпус, turret - башня, gun - орудие, chassis - ходовая. При этом в папке будут 3 файла на каждый элемент. Нам нужен файл с форматом .primitives - он содержит геометрию.

Теперь откроем с помощью 3D Object Converter-а любую из частей танка и сохраним в формат Wavefront .obj. Далее импортируете .obj в 3dsmax.
Теперь мы можем перейти к пункту 2, а именно внести правки в модель. На этом этапе все зависит от ваших желаний и возможностей. Спилить пулемет? Пожалуйста. Танкисты? Пожалуйста. Главное, чтоб вы умели моделить.
В двух словах, о том что сделаю я сейчас - возьму башенный пулемет от M103 и поставлю его на T34. Результат виден на рисунке-1
Теперь нам необходимо настроить материалы, созданные специально для движка BigWorld. Они хранятся в файле bigworldmateriallibrary.max (В целом, при достижении достаточного опыта вам понадобится просто название материала назначенного на конкретный объект, а пути к текстурам можно будет просто прописать в блокноте).

Мы используем типы шейдеров normalmap_specmap и normalmap_specmap_alpha - для объектов с прозрачными текстурами, например камуфляжных сеток или листвы. Смотреть рисунок-2.
Т.к. пути к шейдеру движка отличаются от путей на вашем компьютере, необходимо их задать вручную, кликнув по кнопке с директорией шейдера. Смотреть рисунок-3.

Время перейти к финальной стадии - экспорту исправленной модели в формат игры, подгонка и тестирование. Игровые модели танков хранятся по частям: ходовая (chassis), корпус (hull), башня (turret), пушка (gun). Каждый элемент имеет три файла:
visual - настройки объекта и URL к файлам;
primitives - геометрия;
model - ненужный нам файл, его мы не трогаем.
Я модифицировал башню, соответственно корпус, гусли и пушка мне не нужны, я их удаляю. Теперь нужно экспортировать объект башня в .primitives и .visual. Имя объекта и материала не имеет значение - их мы вручную пропишем в visual.

Приступим, но сперва нюанс: текстуры должны лежать в папке bigworld Res, и экспортировать мы будем тоже в эту папку Res - глупая особенность корейского экспортера. Если вы попытаетесь экспортировать вне указанной папки, то увидите такое окошко: рисунок-4.
Настройки экспорта показаны на рисунке-5.
Готово, у нас есть visual и primitives. Теперь вытащим из respackagesvehicles_american.pkg, при помощи WinRAR, папку с T34 и M103 и поместим их в res_mods?.7.3vehiclesamerican Из папки М103 я просто возьму текстуры для пулемета.

Теперь при помощи WOTtools распакуем оригинальные .visual пушки и башни, чтоб править их в текстовом редакторе. Просто открываем и сохраняем туда же в папку. Файлы XML стали больше (они были распакованы), но теперь они открываются блокнотом. Не забудьте удалить .xml в конце файла, чтоб было по прежнему turret_02.visual (WOTtools по дефолту сохранит как turret_02.visual.xml)


LOD означает уровень детализации. LOD0 - самая близкая дистанция обзора до модели, то что мы видим впритык. Последующие лоды имеют меньшую детализацию, чтоб не потреблять лишние ресурсы компьютера игрока. Мы их не трогаем, также я не касаюсь crashed (поломанного) варианта танка.

Экспортируем и turret_02.primitives заменяем сразу. А вот turret_02.visual мы будем не заменять, а дополнять. В этом файле хранятся параметры позиции башни, пути к текстурам, названия материалов. Соответственно visual созданный нами этих параметров не имеет, зато в нем новые названия материалов, объектов и пути к дополнительным текстурам. Поэтому открываем оба файла и начинаем правки:
В оригинальном visual заменяем все запятые на точки (баг WOTtools). К счастью есть автозамена!);
Меняем идентификатор primitiveGroup для исходного материала tank_mat с 0 на 1 (при добавлении новых материалов, исходный материал танка спускается вниз по порядку, надеюсь это звучит понятно);
Меняем название материала <identifier>tank_mat</identifier> на <identifier>normalmap_specmap</identifier>, тут может быть ваше название материала normalmap_specmap - это как назван материал башни у меня;
Добавляем новые материалы (материал пулемета) в исходный visual, просто копируем фрагмент <primitiveGroup>:
<primitiveGroup> 1
<material>
<identifier> normalmap_specmap2 </identifier>
<fx>shaders/std_effects/normalmap_specmap.fx</fx>
<property> diffuseMap
<Texture>M103.dds</Texture>
</property>
<property> normalMap
<Texture>M103_NM.dds</Texture>
</property>
<property> specularMap
<Texture>M103_SM.dds</Texture>
</property>
<property> doubleSided
<Bool> false </Bool>
</property>
<property> alphaTestEnable
<Bool> false </Bool>
</property>
<property> selfIllumination
<Float> 0,000000 </Float>
</property>
<property> alphaReference
<Int> 0 </Int>
</property>
<property> texAddressMode
<Int> 1 </Int>
</property>Теперь прописываем пути к текстурам, как это прописано в материале танка:
vehicles/american/A13_T34_hvy/M103.dds вместо M103.dds

Сохраняем VISUAL и (старые мучения с 3d ripper)

начинаем подгонку масштаба, положения геометрии. Для этого запускаем WOT и в ангаре либо в реплее смотрим как встала башня. С вероятностью 99% она встала криво, т.к. ее положение и масштаб в Максе был наобум.

Для того, чтоб точно спозиционировать башню, откроем оригинальную модель T34 в WOT Tank Viewer (кстати он не дружит с распакованными "не родными" visual) - как было, теперь вернемся в игру и смотрим как у нас. Запоминаем. Возвращаемся в Макс, масштабируем/смещаем модель, экспортируем, заменяем .primitives и так до победного)) Гемор, но иначе никак.
Окончательный результат работы показан на рисунке-6
=================================================
Гайд взят с сайта - http://www.koreanrandom.com/forum/topic/1458
Изображение

Название раздела: Программирование (под Desktop и Android)
Описание: Разработка и отладка приложений. Упор на 3D-графику.

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: Ещё смайлики…
   

Вернуться в «Программирование (под Desktop и Android)»

Кто сейчас на форуме (по активности за 15 минут)

Сейчас этот раздел просматривают: 1 гость