четверг, 4 февраля 2010 г.

Game 3d model converting

Here is a small tip on the correctness of converting game 3d models.
So
First, I import original model in max, then I build a scene with the biped-skeleton, rename the bones of this skeleton in accordance with the imported only that, then save only the biped-skeleton of a separate tether max. Then if the model of the bones are normal Bone, it's simple: using a plugin ActorX Export to convert the model in psk-file (unreal standard), then use the script of the Great Gildor from his site to import model in the scene with a biped-skeleton. All, actually! When importing from psk-file skeleton is caught by one that is in the scene, and it does not matter as there bones were turned, what size were - now on the biped, they look great.

ie this scheme is obtained:

- Import the original model in 3d max;
- Setting biped-skeleton;
- Rename bones of biped-skeleton;
- Save the biped-skeleton of a separate file;
- Export the original model in psk;
- Open the saved biped-skeleton;
- Import models from psk on biped-skeleton.

If initially the model bones were not normal bone - point helpers, other type of helpers, other objects (as in the case of the devil may cry 4), I first convert the model to smd-format. When converting to the smd any objects (even geometry), which is pegged to the model are the type bone, and is already importing products back to 3d max from smd file is clearly visible, although the bones may again be rotated in different directions, but it does not matter .

- The only thing that never changes in the bones - it is their center --

Thus the scheme is a little more complicated:

- Import orig. model in 3d max;
- Setting biped-skeleton;
- Rename bones biped-skeleton;
- Save the biped-skeleton of a separate file;
- Export the original model in smd;
- Import models from the smd-file;
- Export the model in psk;
- Open the saved biped-skeleton;
- Import models from psk on biped-skeleton.

Tools:

- 3d max;
- Psk export plugin; (here)
- Psk import script; (here)
- Smd plug-ins; (here)

ps: do as I wish to notice that the conversion model is kept in a clean and very pumping enthusiasm. It would be desirable to automate all still have to sit and think and understand how and what and why!
The above examples have completely appropriate at this time to a game list below:

- The Wheel of Time (1999)
- X-COM: Enforcer (2000)
- Lineage II (2002)
- Unreal Tournament 2003 (2002)
- Devastation (2003)
- Desert Thunder (2003)
- Postal Fudge Pack (2003)
- Magic: The Gathering - Battlegrounds (2003)
- Tom Clancy's Rainbow Six 3: Raven Shield (2003)
- Harry Potter and the Prisoner of Azkaban (2004)
- Shark Tale (2004)
- Unreal Tournament 2004 (2004)
- Tribes: Vengence (2004)
- Spiderman 2 (2004)
- Unreal Championship 2: The Liandri Conflict (2005)
- SWAT 4 (2005)
- Land of the Dead: Road to Fiddler's Green (2005)
- Kung Fu: Deadly Arts (2006)
- Landmass (2007)
- BioShock (2007)
- Redneck Kentucky & the Next Generation Chickens (2007)
- Ragnarok Online 2: The Gate of the World (2007)
- Exteel (2007)
- Marine Sharpshooter IV (2008)
- Huang Yi (HE) Online (2008)
- Loco (2009)
- Killing Floor (2009)
- RoboBlitz (2006)
- Stranglehold (2007)
- BlackSite: Area 51 (2007)
- Alliance of Valiant Arms (2007)
- Medal of Honor: Airborne (2007)
- Monster Madness: Battle for Suburbia (2007)
- Mass Effect (2007)
- Warmonger: Operation Downtown Destruction (2007)
- Unreal Tournament 3 (2007)
- Lost Odyssey (2007)
- Hour of Victory (2007)
- Legendary (2008)
- Mortal Kombat vs. DC (2008)
- Rise of the Argonauts (2008)
- Turok (2008)
- Brothers In Arms: Hell's Highway (2008)
- Army of Two (2008)
- American McGee's Grimm (2008)
- Crimecraft (2008)
- Damnation (2008)
- Frontlines: Fuel of War (2008)
- Gears of War 2 (2008)
- Mirror's Edge (2008)
- Nurien (2008)
- Parabellum (2008)
- The Last Remnant (2008)
- Turning Point: Fall of Liberty (2008)
- 50 Cent: Blood on the Sand (2009)
- Batman: Arkham Asylum (2009)
- Black College Football: BCFX: The Xperience (2009)
- Fairytale Fights (2009)
- Huxley (2009)
- Magna Carta 2 (2009)
- Mortal Online (2009)
- Planet 51 (2009)
- Section 8 (2009)
- Shadow Complex (2009)
- Saw: The Video game (2009)
- X-Men Origins: Wolverine (2009)
- Borderlands (2009)
- Unreal Development Kit (UDK) (2009)

- Half-Life and all addons + cs
- Half-Life 2 and all addons + css
- Sin Episode 1
- Dark messiah of Might and Magic
- Vampire: the Masquerade - Bloodlines
- Battlefield 1942
- Doom 3 + addons
- Prey
- Quake 4
- Far Cry
- GTA Vice City and San Andreas (in GTA3 no skeletal animation)
- Neverwinter Nights + all addons
- Neverwinter Nights 2 (I think)
- Rome Total War (an old strategy)
- TES4: Oblivion + addons
- Fallout 3 + addons
- Return to the Castle Wolfenstein
- Warcraft 3
- Warhammer40k
- Star Wars Knight of the Old Republic (I think)
- Civilization 4
- Loki
- Star Trek Bridge Commander
- Freedom Force
- Freedom Force vs the 3rd Reich
- Morrowind
- Dark Ages of Camelot
- Megami Tensei: Imagine
- Florensia
- Requiem: Bloodymare
- Atlantica Online
- Worldshift
- STALKER
- AION MMORPG
- Resident Evil 5
- Devil May Cry 4
- Lost Planet

Posted by almost everything that could. With the emergence of desire hope to turn this text into a tutorial with pictures of interpretation. Because I can not find anything like this in the Russian community.

I can make mistakes in the translation into English. But you can help with translations if you wish.

вторник, 12 января 2010 г.

Конвертирование игровых 3d моделей

Тут небольшая заметка о правильности конвертирования игровых 3d моделей.
Итак,

Я сначала импортирую в макс оригинальную модель, потом выстраиваю в сцене с ней biped-скелет, переименовываю кости этого скелета в соответствии с импортированными только что, потом сохраняю только biped-скелет отдельным фалом max. Далее если у модели кости являются обычными Bone, то всё просто: использую плагин ActorX Export для превращения модели в psk-файл (unreal стандарт), затем с помощью скрипта Великого Гилдора :) с его сайта импортирую модель в сцену с biped-скелетом. Собственно всё! При импорте из psk-файла скелет подхватывается тот, что есть в сцене, и не важно как там кости были повёрнуты, какого размера были - теперь на biped они выглядят отлично.

т.е. схема получается такая:

- импорт оригинальной модели в 3d max;
- настройка biped-скелета;
- переименование костей biped-скелета;
- сохранение biped-скелета отдельным файлом;
- экспорт оригинальной модели в psk;
- открываем сохранённый biped-скелет;
- импорт модели из psk на biped-скелет.

Если же изначально у модели кости были не обычными bone, а допустим point helper (как в случае с devil may cry 4), то я сначала импортированную модель конвертирую в smd-формат. При конвертировании в smd любые объекты (даже геометрия), к которым привязана модель становятся типа bone, и уже при импорте модели обратно в 3d max из файла smd это хорошо видно, правда кости могут опять же быть повёрнутыми в разные стороны, но это не беда.

-- единственное, что у костей никогда не меняется - это их центр вращения --

Таким образом схема немного усложняется:

- импорт ориг. модели в 3d max;
- настройка biped-скелета;
- переименование костей biped-скелета;
- сохранение biped-скелета отдельным файлом;
- экспорт оригинальной модели в smd;
- импорт модели из smd-файла;
- экспорт модели в psk;
- открываем сохранённый biped-скелет;
- импорт модели из psk на biped-скелет.

Инструменты:

- 3d max;
- psk export plugin; (отсюда)
- psk import script; (отсюда)
- smd плагины; (отсюда)

p.s.: вообще же хочу заметить, что конвертирование моделей держится на чистом и очень прокачанном энтузиазме. Как бы ни хотелось всё автоматизировать всё равно придётся сидеть и думать и разбираться, как и что и почему!
Выше указал примеры полностью подходящие на данный момент к играм:

- The Wheel of Time (1999)
- X-COM: Enforcer (2000)
- Lineage II (2002)
- Unreal Tournament 2003 (2002)
- Devastation (2003)
- Desert Thunder (2003)
- Postal Fudge Pack (2003)
- Magic: The Gathering - Battlegrounds (2003)
- Tom Clancy's Rainbow Six 3: Raven Shield (2003)
- Harry Potter and the Prisoner of Azkaban (2004)
- Shark Tale (2004)
- Unreal Tournament 2004 (2004)
- Tribes: Vengence (2004)
- Spiderman 2 (2004)
- Unreal Championship 2: The Liandri Conflict (2005)
- SWAT 4 (2005)
- Land of the Dead: Road to Fiddler's Green (2005)
- Kung Fu: Deadly Arts (2006)
- Landmass (2007)
- BioShock (2007)
- Redneck Kentucky & the Next Generation Chickens (2007)
- Ragnarok Online 2: The Gate of the World (2007)
- Exteel (2007)
- Marine Sharpshooter IV (2008)
- Huang Yi (HE) Online (2008)
- Loco (2009)
- Killing Floor (2009)
- RoboBlitz (2006)
- Stranglehold (2007)
- BlackSite: Area 51 (2007)
- Alliance of Valiant Arms (2007)
- Medal of Honor: Airborne (2007)
- Monster Madness: Battle for Suburbia (2007)
- Mass Effect (2007)
- Warmonger: Operation Downtown Destruction (2007)
- Unreal Tournament 3 (2007)
- Lost Odyssey (2007)
- Hour of Victory (2007)
- Legendary (2008)
- Mortal Kombat vs. DC (2008)
- Rise of the Argonauts (2008)
- Turok (2008)
- Brothers In Arms: Hell's Highway (2008)
- Army of Two (2008)
- American McGee's Grimm (2008)
- Crimecraft (2008)
- Damnation (2008)
- Frontlines: Fuel of War (2008)
- Gears of War 2 (2008)
- Mirror's Edge (2008)
- Nurien (2008)
- Parabellum (2008)
- The Last Remnant (2008)
- Turning Point: Fall of Liberty (2008)
- 50 Cent: Blood on the Sand (2009)
- Batman: Arkham Asylum (2009)
- Black College Football: BCFX: The Xperience (2009)
- Fairytale Fights (2009)
- Huxley (2009)
- Magna Carta 2 (2009)
- Mortal Online (2009)
- Planet 51 (2009)
- Section 8 (2009)
- Shadow Complex (2009)
- Saw: The Video game (2009)
- X-Men Origins: Wolverine (2009)
- Borderlands (2009)
- Unreal Development Kit (UDK) (2009)

- Half-Life и все аддоны + cs
- Half-Life 2 и все аддоны + css
- Sin Episode 1
- Dark messiah of Might and Magic
- Vampire: the Masquerade - Bloodlines
- Battlefield 1942
- Doom 3 + аддоны
- Prey
- Quake 4
- Far Cry
- GTA Vice City и San Andreas (в GTA3 нет скелетной анимации)
- Neverwinter Nights + все аддоны
- Neverwinter Nights 2 (кажется)
- Rome Total War (старенькая стратегия)
- TES4: Oblivion + аддоны
- Fallout 3 + аддоны
- Return to the Castle Wolfenstein
- Warcraft 3
- Warhammer40k
- Star Wars Knight of the Old Republic (кажется)
- Civilization 4
- Loki
- Star Trek Bridge Commander
- Freedom Force
- Freedom Force vs the 3rd Reich
- Morrowind
- Dark Ages of Camelot
- Megami Tensei: Imagine
- Florensia
- Requiem: Bloodymare
- Atlantica Online
- Worldshift
- STALKER
- AION MMORPG
- Resident Evil 5
- Devil May Cry 4
- Lost Planet

Собрал практически все, что смог. По мере появления желания надеюсь превратить этот текст в туториал с картинками толкованием. Не могу найти ничего подобного в рамках русского комьюнити.

четверг, 25 декабря 2008 г.

Конвертирование 3d моделей из игры Final Fantasy X (PS2)

1. Для начала нужен диск с игрой «Final Fantasy X» для «Sony Playstation 2». Делаем образ диска любыми предназначенными для такого рода действий программами, например «UltraISO» (скачать, зеркало). Желательно файл-образ делать форматом либо BIN/CUE либо ISO.

2. Итак, у нас есть образ диска. Открыв его, вы обнаружите несколько фалов общим объёмом не более 20 мб. Модели с диска нужно извлечь. Я для этого нам понадобится программа «ffxdumper» (скачать). К сожалению, сайт разработчика этой программы «приказал долго жить», а программу с равным успехом успели растащить к себе на сервера разного рода форумы фанатов серии «Final Fantasy». В частности предлагаемая ссылка для скачивания просит перед скачиванием зарегистрироваться на сайте. Регистрируйтесь, качайте. Программа имеет вид коммандной строки, но нам это всё равно. Пользовать её просто. В скачанном архиве всего один файл «ffxdumper.exe». Есть и другой дампер, его найти проще, но, к сожалению, мне не помог, ни он, ни прилагаемая к нему библиотека «zlib1.dll».

3. Копируем исполняемый файл программы «ffxdumper.exe» в папку с недавносозданным образом «ffx.iso» (название у вас может быть своё). Хватаем левой кнопкой мыши образ и тянем его на исполняемый «ffxdumper.exe» отпускаем. Откроется «DOS»-окно, в котором побегут буковки и циферки. После того как процесс закончится в папке рядом с вашим образом и дампером появятся папки:

mon - 338  файлов;
npc - 224 файла;
obj - 110 файлов;
pc - 34 файла;
sum - 29 файлов;
wep - 79 файлов.

4. Все файлы с расширением *.ffb. Это внутренний формат игры. А ещё это TAR архивы. В каждом таком «ffb/tar»-файле хранится всего один файл, без расширения, это тоже архив, к сожалению, не удалось распознать какого он формата, но нам не важно какое расширение у файла, когда его без труда понимает «WinRAR». Так вот в этом файле без расширения находятся: один файл с расширением *.ffm (3d модель) и несколько *.ffa (анимация).

Для примера извлечения откроем папку «mon», переименуем файл 0001.ffb в 0001.tar. Извлечём из него файл 0001. Добавим к файлу 0001 расширение *.tar и извлечём из него файлы в текущую папку. В папке появятся файлы: 1.ffa, 2.ffa, 3.ffa, 4.ffa, model.ffm. Вот последний нам и нужен.

5. Полезный совет: Для того чтобы не переименовывать каждый файл *.ffb отдельно существует программа «ReNamer 5.40» (скачать):

Пользоваться ей просто: выделяем все файлы, которые хотим переименовать, и перетаскиваем на надпись «Drag your files here» в программе. Жмём на надпись «Click here to add a rule» в окне выше. В открывшемся окошке слева выбираем «Extension», в разделе «Configuration» в поле «New Extension (without a dot)» пишем новое разрешение tar. Жмём «Add Rule» и далее кнопку «Rename». Готово. Выделяем все файлы с новым расширением и извлекаем в текущую папку. Появится кучка файлов без расширения. Добавляем расширения *.tar всем извлеченным файлам выше описанными действиями предварительно удалив уже не нужные tar-файлы, из которых мы уже извлекли файлы. После добавления расширения к файлам извлекаем каждый архив в отдельную папку. После этого у нас будет равное исходным файлам количество папок, в каждой, из которой будут нужные нам *.ffa- и *.ffm файлы. 

6. Для просмотра моделей этого формата существует программа «Chargeur FFX» (скачать). Интерфейс её прост:

Чтобы посмотреть модель жмём File -> Open Model, указываем путь к любому *.ffm файлу и жмём открыть:

7. Для того чтобы экспортировать модель жмём File ->

Export Model (no skinning) - Экспорт модели (без костей);
Export Model + skinning - Экспорт модели  + кости;
Export Model + skinning + animation - Экспорт модели + кости + анимация.

На выходе получаем файл с расширением *.dae (collada format). Для импорта в 3ds Max существует специальный плагин «ColladaMax» (скачать).

8. Для того чтобы экспортировать текстуры, которые к слову сказать на выходе буду иметь формат *.tga, нужно в программе «Chargeur FFX» в File нажать на Export Textures. Результат:

вторник, 23 декабря 2008 г.

Конвертирование 3d моделей из игры Fallout 3

1. Для начала вам нужен диск с игрой Fallout 3 и полная установка её (игры) на жесткий диск.

2. В папке с игрой вы обнаружите примерно следующее:

3. Все файлы-ресурсы игры находятся в папке «Data». Все они запакованы в специальный архив с расширением *.bsa. В частности нас интересуют следующие архивы:

Fallout - Meshes.bsa - все модели;
Fallout - Textures.bsa - все текстуры.

4. Итак приступим, игра разрабатывалась компанией «Bethesda Softworks». Это те люди, которые трудились над «Morrowind» и «Oblivion», а для этих игр инструментарий был разработан уже давно. А так как «движок» у «Fallout 3» и «Oblivion» один и тот же, правда слегка модифицированный, появление инструментов для фаллоута было делом времени. Сейчас уже есть G.E.C.K. (скачать), но он нужен для изменения игры и её модифицирования и нам, к сожалению не поможет в извлечении 3d моделей из игры. Однако в нём есть некоторые полезные функции, которые возможно пригодятся для поиска нужных персонажей или иных моделей, потому что как уже повелось в играх 3d модели являются составными.

5. А понадобится нам программа NIF Scope (скачать). Устанавливаем её:

Теперь у нас есть инструмент для конвертирования 3d моделей Fallout 3 из формата игры (*.nif) в понятный большинством программ для трёхмерного моделирования (пример: 3ds Max) формат (*.obj).

6. 3d модели нужо извлечь из архива Fallout - Meshes.bsa. Для этого используем программу FO3 Archive Utility (скачать, зеркало1, зеркало2):

Для открытия архива жмём File -> Open Archive. Далее выбираем нужный архив. После загрузки, которая происходит вот так:

нажимаем Action -> Extract All (Извлечь всё) или Extract Selected Files (Извлечь выделенные файлы) и выбираем путь извлечения файлов. После извлечения в папке куда вы указали извлекать файлы появятся папки - meshes и trees. В папке meshes хранятся все 3d модели.

7. Далее запускаем установленный ранее NIF Scope. Для начала нужно показать программе ресурсы игры, для того чтобы она корректно загружала текстуры и «одевала» их на игровые модели. Для этого жмём File -> Resource Files -> Add и указываем файлы-архивы *.bsa. Закроем это окошко.

8. Теперь всё готово для загрузки 3d модели, для этого жмём кнопку Load на панели инструментов или File -> Load... и выбираем файл с расширением *.nif в папке meshes, в которую мы не так давно распаковали все модели игры. Модель корректно загрузилась:

9. Для конвертирования её жмём File -> Export -> Export .OBJ. И выбираем место сохранения файла.

Полезный совет: для удобства советую все конвертируемые файлы сохранять под тем же именем (если вы открыли файл 10mmsubmachinegun.nif сохраните его с именем 10mmsubmachinegun.obj). Так же сконвертированные файлы хранить в папке с исходным файлом.

10. Открываем любую удобную программу для 3d-моделирования. Я использую 3ds Max 2008. Жмём File -> Import... и выбираем сконвертированный файл *.obj. В появившемся окне выбираем Import options - muliple и жмём ОK:

Файл загрузится. Но пока модель без текстур:

Полезный совет: Я всегда оптимизирую 3 важных параметра после импорта моделей: это топология сетки, размеры и положение относительно центра координат. Сетка корректируется следующим образом: конвертируем все объекты в Editable Poly, выбираем один из объектов и в PolyBoost (скачать, зеркало) в разделе Modeling жмём кнопку Quadrify; это значительно облегчит объект и оптимизирует его для визуализации или экспорта. Положение и разворот моделей советую выстраивать ровно относительно центра координат. Размер моделей из Fallout 3 увеличиваем со 100% до 130%; цифры эти примерны, я их всегда подбираю «на глаз», и ошибка в 2-3% не существенна. Чтобы зафиксировать установленные положение и размер модели необходимо в 3ds Max открыть вкладку Utilities активировать инструмент Reset XForm, выделить готовые объекты и нажать на появившуюся ниже кнопку Reset Selected.

11. Текстурирование модели. Текстуры извлекаем в отдельную папку, лучше если они будут рядом с уже ранее извлеченными папками: meshes и trees. Формат у текстур стандартный уже для всех игр - DDS (DirectDraw Surface). Понимается и конвертируется он специальными программами, а так же ниже следующими:

3ds Max (стандартной комплектации)
IrfanView (с установленной библиотекой - скачать)
Photoshop CS (с установленной библиотекой - скачать)

12. Теперь у нас есть модели, есть текстуры и получаем результат: