ЧАСТЬ ВТОРАЯ: работа с XML.
Запускаем ModBuddy. Создаем или открываем проект.
1) Перенос файлов в проект.
Кликаем правой кнопкой мыши по названию проекта, жмем Add -> Existing Item и перемещаемся в нашу папку MyNewUnit.
Там выбираем
наши файлы с графикой:
- redcoat_diff.dds
- redcoat.gr2
с описанием графики:
- redcoat.fxsxml
а так же
- civ5artdefines_unitmembers.xml
- civ5artdefines_units.xml
Картинка от Деливератора:
civ5artdefines_units.xml тут нет, но он нужен для создания нового юнита.
2) "Собираем" юнит.
Как вы помните, юниты в Civ5 это несколько объектов ака отряд. "Сборка" этого отряда происходит в двух файлах: civ5artdefines_unitmembers.xml и civ5artdefines_units.xml.
Сперва редактируем civ5artdefines_unitmembers.xml. Тут описано как выглядит юнит и как он стреляет (или не стреляет).
- Открываем его в ModBuddy.
- Находим описание исходного юнита.
- Копируем его.
- Перемещаемся в конец файла, становимся перед тегом </UnitMemberArtInfos> и вставляем туда описание.
- Редактируем его, изменяя название и указывая нужный fxsxml файл.
Получится может вот так:
Аналогично редактируем и civ5artdefines_units.xml. В нем мы как раз и собираем юнит в отряд.Код:<UnitMemberArtInfo> <Type>ART_DEF_UNIT_MEMBER_REDCOAT</Type> <!--поменять--> <fScale>0.14</fScale> <Granny>redcoat.fxsxml</Granny> <!--поменять--> <Combat> <Defaults>ART_DEF_TEMPLATE_SOLDIER</Defaults> <bHasShortRangedAttack>1</bHasShortRangedAttack> <bReformBeforeCombat>1</bReformBeforeCombat> <Weapon> <WeaponTypeTag>BULLET</WeaponTypeTag> <WeaponTypeSoundOverrideTag>BULLET</WeaponTypeSoundOverrideTag> </Weapon> </Combat> <MaterialTypeTag>CLOTH</MaterialTypeTag> <MaterialTypeSoundOverrideTag>FLESH</MaterialTypeSoundOverrideTag> </UnitMemberArtInfo> </UnitMemberArtInfos> <!--должно быть в самой последней строчке файла-->
Может получиться:Юнит собран.Код:<UnitArtInfo> <Type>ART_DEF_UNIT_REDCOAT</Type> <!--поменять--> <Formation>HonorableGunpowder</Formation> <DamageStates>1</DamageStates> <UnitMemberArt> <MemberType>ART_DEF_UNIT_MEMBER_REDCOAT</MemberType> <!--ссылка на описание юнита из предыдущего файла--> <MemberCount>14</MemberCount> </UnitMemberArt> </UnitArtInfo> </UnitArtInfos> <!--должно быть в самой последней строчке файла-->
3) Прописываем графику юниту.
Нам осталось "сказать" нашему юниту где теперь его графика. Как вы помните из первой части в описании каждого юнита есть тег <UnitArtInfo> - это оно и есть, сюда надо вписать ссылку на его новую, отрескиненную графику.
Как создать XML описание юнита (т.е. сам юнит) в этом гайде не рассказано. Предполагается что вы уже знаете это. Как минимум скопируйте все что найдете из описания исходного юнита в файле Civ5Units.xml и подправьте необходимые значения.
Открываем описание вашего юнита и в теге <UnitArtInfo> вписываем ссылку на тег из civ5artdefines_units.xml файла.
Т.е.
Юнит готов его можно подавать на стол.Код:<Row> <Class>UNITCLASS_MUSKETMAN</Class> <Type>UNIT_REDCOAT</Type> ... <UnitArtInfo>ART_DEF_UNIT_REDCOAT</UnitArtInfo> <!--название тега из civ5artdefines_units.xml--> ... </Row>
4) Импорт в VFS.
Осталось импортировать все наши файлы в VFS. Без этой штуки ничего работать не будет.
Импортируем:
- все *.gr2
- все *.fxsxml
- все *.dds
- civ5artdefines_units.xml
- civ5artdefines_unitmembers.xml
Что бы импортировать файл, выберите его в Solution Explorer и в окошке Prorerties переменной Import into VFS поставьте значение True. Все импортируется.
а это уже картинка от меня.
5) Финальный штрих.
В Civ5 вся графика грузиться сразу. Если что то из графики меняется, то графическую систему нужно перегрузить. Для этого нужно поставить галочку в "Reload Unit System"
ВСЕ!
КОНЕЦ: ну вот и все готово!
Собираем проект, запускаем игру, запускаем мод. Юнит должен быть с новой графикой.
ПОСЛЕСЛОВИЕ.
- Автор, почему я вижу копейщиков вместо моей графики?
- Это значит что где то есть ошибка. Учитывая что графику (меш) мы не трогали, то скорей всего ошибка либо xml, либо не выставлено true для импорта в VFS, либо галочка в "reload unit system".
БОНУС: как поменять иконку юниту можно почитать здесь.



.

Ответить с цитированием