Импорт и Основная настройка готовых моделей для Red Alert 3
Название
Импорт и Основная настройка готовых моделей для Red Alert 3
Описание
Работа с программным обеспечением и xml кодом
Уровень:
Теперь Потребуется
Редакторы:
Autodesk 3ds Max 9 32-bit; W3XViewer; EALAModStudio; Notepad or XML Notepad 2007
Форматы:
Xml; W3X; Tga
Автор:
Unwelcom
Добавил
unwelcom
Сегодняшний вечер посвящается Добавлению Новых юнитов в игру Red alert 3, а так же обучение по их основной настройке.
Итак у Вас уже есть готовая модель формата w3x, знакомые люди вам её оскелетели и теперь назрела необходимость внедрить сие дело в игру. Предлагаю Вашему вниманию основные моменты этого жутко интересного занятия:
Примером Послужит Многострадальная БМП2 /автор модели Kromarti/ Вовсе не надо думать что если вы якабы супер кодер то вам кроме кода писать ничего не придется. Вашим Моделлерам как правило по барабану каким образом их творения оказываются на карте в игре.
Начали:
1. Подготовка машины в графическом редакторе Autodesk 3ds Max 9 32-bit. пример:
Итак первым делом убедитесь что все на месте. Модель Оскелечена, и Покрыта необходимыми шейдерами. см картинку
2. Теперь отдельно о текстурах. Оные должны быть в формате .tga Каждая текстура должна быть прописана в xml коде. Пример: Имеем текстуру BMP2DFM. Для него создаем документ в формате .xml Называем его BMP2DFM.xml Открываем блокнотом. Внутри добавьте код:
(Теперь ВНИМАНИЕ видите в начале каждой строки пробел между скобкой и символом? вот этот: < ?xml - уберите его чтобы было как в конце строке без пробела вот так:8'?>) Этот пробел написан умышленно ибо код неотобразиться на этой странице. Патаму что она тоже написана на Хмл :) ЧТобы не было путаницы гляньте скрин
Вот так должны быть прописанны ВСЕ текстуры. Далее Создаем в папке Art подкаталог bm (D:/ RA3 MOD SDK/ Art/ bm) Папка носит имя bm не потому что мне так захотелось, а потому что запаковщик будет компилить вашу TGA'шку именно в этой папке исходя из названия этой текстуры. Сложно? Объясню маляш проще: Наша текстура имеет название BMP2DFM.tga значит и папка в которой лежит текстура будет иметь имя из ПЕРВЫХ ДВУХ букв (в нашем случае bm)
3.Экспорт
В Autodesk 3ds Max 9 32-bit. Выбираем команду Export (file - export) Выбираем тип файлов w3x. Первым делом экспортируем скелет. Задаём ему имя bmp2_skl где: skl - скелет В W3X Export Options ставим галочку (радиокнопку) на слове Skeleton Экспортируем. Далее Экспортируем Скин модели. Задаем ему имя bmp2_skn где: skn - модель /скин/ В W3X Export Options ставим галочку на Hierarchial Model. Ниже в Settings ставим галочку у Smooth Vertex Normal Across Meshes Ниже в Settings ставим галочку у Optimize Collision Detection Ниже в Settings ставим галочку у Export Using Existing Skeleton: Вам предложат выбрать скелет который будет добавлен к скину при экспорте. Выбираем заранее заготовленный bmp2_skl Ниже ставим галочку у Review Log: Это для того, чтобы посмотреть ход эксопрта. А заодно посмотреть на вывленные ошибки.
ВАЖНО: Экспортируя модель в формат .w3x вы так же должны указывать путь в папку BM (D:/ RA3 MOD SDK/ Art/ bm) Давно пора приучить себя, что модель должна иметь свою собственную папку. Иначе запаковщик EALAModStudio не найдя нужные ему файлы выпадет в осадок.
У вас должны получиться файлы .w3х такие ка на картинке:
Смотрим Юнит В Просмоторщике W3XViewer
Если всё правильно то модель должна отображаться так, как на скрине выше.
4. Ипорт и Основная настройка готовых моделей для Red alert 3
Создаём Новый Юнит SovietAntiVehicleBMP (имя можете указать любое мне не Важно). Если вы не умеете/не знаете как это делается, то дальше ваще можете не читать : ))) Требование к Юниту:
Прежде чем начать редактирование. Представляю вашему вниманию XML Notepad 2007
Отличительные особенности: Скрыты скобки и прочие элементы, мешающие привычному редактированию. Справа рабочего интерфейса расположены блоки, на которые разбит код. Любой блок можно скрывать. Удобная система отката. Возможность перевести весь код в обычный блокнот.
Чтобы развернуть все блоки нажмите View-ExpandAll скрин:
1. Прописанный скелет bmp2_skl Прописываем скелет, путем добавления нового блока в код: < Include type="all" source="ART:bmp2_skl.w3x" />
Скелет должен быть ещё прописан в ряде мест. Откройте свою модель и посмотрите название костей. Например в Поле Turret TurretNameKey указыаем свою кость Туррели например Turret01 Если турель ПВОшная то есть имеет углы возвышения орудия то в поле TurretPitch= указывайте значение своей кости из модели в максе.
Далее. Необходимо чтобы Ваши кактки/колеса вращались. Возьмем нашу бмп. Для неё требуется прописать все катки. Пишем: В поле < TruckDraw id="ModuleTag_Draw" OkToChangeModelColor="true" LeftFrontTireBone="Tire01" RightFrontTireBone="Tire02" LeftRearTireBone="Tire03" RightRearTireBone="Tire04" MidRightMidTireBone="Tire05" MidLeftMidTireBone="Tire06"
Тоже и для траков Treads. Указывайте ваши значения а не те что стоят по умолчанию в коде от родных моделей.
2. Прописанный скин bmp2_skn Прописываем скелет, путем добавления нового блока в код: < Include type="all" source="ART:bmp2_skn.w3x" /> Теперь необходимо указать скин в параметрах состояния модели < ModelConditionState ParseCondStateType="PARSE_DEFAULT" RetainSubObjects="true"> < Model Name="BMP2_SKN" />
3. PRIMARY_WEAPON - SovietAntiVehicleBMPCannonWeapon Здесь первым делом необходимо создать своё собственное оружие. Откройте weapon.xml и скопируйте тип оружия. Смените ему ID на свой. Как видите оружие является первичным а значит стрелять оно должно из основного ствола. Добавляем код для PRIMARY_WEAPON: < WeaponLaunchBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="Muzzle01" xmlns="uri:ea.com:eala:asset" /> < WeaponFireFXBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="Muzzle01"> < WeaponRecoilBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="Barrel01" />
Итак у нас есть код первичного оружия. Который ясно указывает что стрельба ведеться из точки в стволе Muzzle01 А так же Указан режим отдачи основной пушки Barrel01 через команду WeaponRecoilBone WeaponSlotID="2" - очень важный параметр, каждый вепон должен иметь свою одну, неизменную цифру. И вот решили закомпилить сие оружие. В итоге ваша бэха будит лупить аккурат из центра машины. Почему? потому что не описан сам SovietAntiVehicleBMPCannonWeapon в коде Юнита SovietAntiVehicleBMP
Как видите < WeaponSlotTurret ID="2"> имеет туже двойку! Это фатально важно при прописке вепона.
SECONDARY_WEAPON - SovietAK47PKT - делаем те же самые операции Но Ставим уже SECONDARY_WEAPON и другой ID например 1 TERTIARY_WEAPON - AlliedBaseDefenseRockets (переделка под птур) - делаем те же самые операции Но Ставим уже TERTIARY_WEAPON и другой ID например 3
Вобщем Пока что Всё. Надо Будет - могу существенно дополнить написанное.