Экспорт/Импорт PSK и PSA. Замена и добавление скелетных моделей.

Автор Lolkab, 31 августа 2013 20:07:00

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Lolkab

IT TAFFEN WORK!

Программы:
3Ds Max версии 5.1. В представлении не нуждается. Найти его нелегальные копии также легко, как тяжело не найти легальные. Установить его может быть проблематично. По крайней мере, так произошло у меня, поэтому я использую виртуальную машину с Windows XP. Именно эта версия необходима для нижеуказанных плагинов.
Milkshape 3D. 3D-редактор, располагающий широчайшими возможностями экспорта и импорта. Я использую версию 1.8.4.

Плагины:
Найдены где-то на просторах DarkFate и TTLG, некоторые из них мне пришлось выковыривать из своих запасов, т.к. найти заново мне их не удалось.
ActorX плагин для 3Ds Max 5.1 для импорта и экспорта анимаций и мешей, самый главный наш плагин. Специальная версия, подходящая именно для Thief3: ссылка (101 KB).
Cannonfodder's – плагин для 3Ds Max 5.1 для импорта и экспорта формата CMD. Судя по моим старым записям и wiki, способен импортировать анимации в 3Ds Max. Пока в туториале не используется ссылка (74 KB).
FBX-плагин, версия, подходящая для импорта моделей, экспортированных из Milkshape3D. Встроенный в 3DsMax почему-то ничего не делает. Архив также включает в себя какой-то плагин неясного назначения  :cheesy: ссылка (1 MB).
Thief 3 PSK importer for Milkshape3D by Shockeye. Как понятно из названия, это плагин для Milkshape3D, позволяющий импортировать PSK. PSA открывается штатными средствами. ссылка (7 KB).


Импорт/Экспорт Skeletal Meshes (формат PSK).
1. Открываем Milkshape3D. File > Import > Thief 3 Importer. Идём в папку редактора: ...\Thief3\CONTENT\T3\SkeletalMeshes\Garrett_08.psa. Перед нами появится наш мастер-вор.


2. Экспортируем Гарретта в формат FBX: File > Export > Alias FBX.


3. Теперь можно открыть наш 3Ds Max. Жмём File > Import, выбираем в списке Kaydara (*FBX) или All Formates и открываем наш файл.

Используем следующие опции (также можно чекнуть Y-up to Z-up root node rotation, не результат это, вроде, не влияет).

Снова видим нашего Гарретта:


4. Выделим любую часть модели (ноги, тело и т.д.). Добавим модификатор Unwrap UVW.

Повторим с каждой из частей. Всего их пять: ноги, тело, руки, голова (капюшон) и лицо. Не обращайте внимания на наличие модификатора Skin, он не нужен, скрин старый.

5. Теперь заставим его двигаться. Сначала нужно инициализировать Physique. Для этого идём Modify > Physique и жмём на кнопку:

Теперь кликаем на любую подходящую кость. Я не знаю, есть ли разница между ними, я выбрала кость, называющуюся "Garrett". Её можно найти в районе таза.
Видим окошко. Меняем настройки Vertex > Rigid и Blending: 3 Links. Остальное не трогаем и кликаем Initialize.

Повторяем то же самое для остальных частей.

6. Дальше идём Modify > Physique > Vertex.
Можно выделять разные вершины и линковать их к дуге. Например, выделяем пальцы:

После чего жмём на Assign to Link и выбираем дугу (они жёлтые, после выбора становятся красными). Крестики краснеют:

Кликаем Lock Assignments. Крестики становятся квадратиками. Кстати, я точно не знаю, зачем это нужно, но было удобно  :biggrin:
Повторим всё то же самое для всей части, а потом и для всего меша, следуя логике и здравому смыслу. Можно проверять разметку, выходя из данного режима и двигая кости.

7. Теперь попробуем экспортировать всё это дело обратно. Открываем ActorX Plugin. Чтобы проделать эту операцию, открываем вкладку Utilities (справа, последняя, с рисунком молотка), жмём More... и выбираем ActorX. Выбираем папку назначения (...\Thief3\CONTENT\T3\SkeletalMeshes\), вводим имя, и в разделе ActorX-Setup (внизу) ставим галочку напротив all textured geometry. Потом жмём на кнопку save mesh/respose, под именем меша.
В результате у нас получится файл формата psk в указанной папке с указанным именем.

8. Открываем T3Ed. View > Show Skeleton Browser. Редактор сообщает, что появилась новая модель и автоматически создаёт для неё pro- и ski-файлы.
После чего ищем нашу модель, кликаем правой кнопкой и выбираем Add Animation.... Добавляем все необходимые анимации (для Гарретта можно глянуть в Garrett_08). Единственное, я не знаю, как добавить LIPSinc.


9. Для замены игровой модели идём ActorBrowser > Pawn > PlayerPawn > Garrett > PlayerGarret и меняем Render > SkeletalTag на наше имя. Таким образом, нам не нужно заменять Garrett_08.psk. А ещё это значит, что можно иметь много персонажей сразу, и, может быть, даже менять их в процессе (надо попробовать ;) )

10. Можно запускать в игровом режиме и смотреть на ужасающую картину:: http://youtu.be/nW7gzeSWmsE
Я не работала над остальными частями тела (только ноги), а также не меняла текстуры. Но Гарретт бегает (не той стороной, но я над этим работаю), прыгает (иногда даже не роняя игру) и дерётся. Так что ответ на мой старый вопрос "Можно ли заменить модель Гарретта" - ДА. И моя трёхлетняя работа над поиском решения окончена. Осталось лишь нарисовать модель моего персонажа (кстати, есть кто-то, кто может помочь? Я не модельер  ;D) на готовом скелете и базе.

Импорт/Экспорт Skeletal Animations (формат PSA).
В разработке.
0. Всегда будь готов к переустановке системы. 1. В любой непонятной ситуации переустанавливай систему.
2. Если переустановка системы не помогла, переустанови систему ещё раз. 3. Если понятную ситуацию лень решать непонятными методами, её можно считать условно непонятной и переустановить систему.

Chuzhoi

#1
Цитата: Lolkab от 31 августа 2013 20:07:00
3Ds Max версии 5.1. Установить его может быть проблематично. По крайней мере, так произошло у меня, поэтому я использую виртуальную машину с Windows XP.
Аналогично. Как я понял, он (точнее, его система лицензирования) не работает на 64-разрядных операционных системах (потому что там есть 16-разрядный код). Поэтому - виртуальная машина с 32-разярдной Windows XP.

Кстати, какая виртуальная машина? Я пробовал на VirtualBox - не запускается. Поэтому запускаю на VMWare.

И еще: как у тебя насчет стабильности? Макс 5.1 у меня частенько на сложных моделях (скажем, больше 500 полигонов) начинает периодически вылетать. Причем, мне кажется, это было и в стародавние времена, когда 5.1 стоял еще не на виртуалке.

Lolkab

#2
Цитата: Chuzhoi от 01 сентября 2013 02:48:12
Кстати, какая виртуальная машина? Я пробовал на VirtualBox - не запускается. Поэтому запускаю на VMWare.
Использую VirtualBox с WindowsXP, сборкой Loner. Без проблем всё запустилось. Вчера под 3DsMax специально её переустанавливала, чтобы был диск в 20 Гб. Иногда он подглючивает, конечно, но особых проблем нет, очень давно пользуюсь VirtualBox'ом. Кроме Loner также ещё юзала Game Edition, устанавливается и запускается быстрее, но со временем заболевает синим экраном.
[off]Ставила в первый раз ещё года полтора назад ради Borland C ;D[/off]
Из настроек: памяти выделяю 768 Мб, видеопамяти 128 Мб, диск можно и в 4 Гб, но 3DMax уже не влезет.
VMWare не пробовала.
ЦитироватьИ еще: как у тебя насчет стабильности? Макс 5.1 у меня частенько на сложных моделях (скажем, больше 500 полигонов) начинает периодически вылетать. Причем, мне кажется, это было и в стародавние времена, когда 5.1 стоял еще не на виртуалке.
Тут не могу ничего ответить. Начала использовать только вчера, ну ещё 2 года назад пару дней поюзала, ещё не на виртуалке, на полноценной машине - и на старой конфигурации, и на новой. Вылетов из-за полигонов не замечала, но уж в чём я ни черта не умею и не делаю - это в 3D, так что мои наблюдения не значат ничего. Но могу попробовать на тест открыть какую-нибудь модельку.
А вот вылетов при использовании ActorX и FBX предостаточно, пришлось потанцевать с бубном, пока не добилась даже этого результата.

ЦитироватьАналогично. Как я понял, он (точнее, его система лицензирования) не работает на 64-разрядных операционных системах (потому что там есть 16-разрядный код). Поэтому - виртуальная машина с 32-разярдной Windows XP.
Ага, ошибка была как раз с ней. Но не факт, что тут дело именно в разрядности... ну или не только в ней. В поисках нужной версии ActorX включила старый комп и попыталась запустить установленный два года назад 3DMax - ошибка была та же. Когда там переустанавливалась система, я не помню, но за прошедшие два года должна была, возможно, дело в этом, хотя 5.1, по идее, должен запускаться после переустановки ОС. Стоит там всё тот же Лонер, может быть, чуть более старой версии.
0. Всегда будь готов к переустановке системы. 1. В любой непонятной ситуации переустанавливай систему.
2. Если переустановка системы не помогла, переустанови систему ещё раз. 3. Если понятную ситуацию лень решать непонятными методами, её можно считать условно непонятной и переустановить систему.

Lolkab

Слегка отредактировала верхний пост. Небольшой успех, однако мне так и не понятна причина, почему полностью адекватный скелет в максе прекращает взаимодействовать с моделькой после импорта. [off]Без должных знаний с завязанными глазами тыкаюсь в одну и ту же стену, думая, что они разные  :eeeh:[/off]

Заодно обнаружила одну лишнюю кость - FBX Root. Уж не знаю, мешает она или нет, располагается между ступней, ни к чему не прикреплена, но при удалении экспорт становится невозможен:
ЦитироватьNode without matching vertices encountered for mesh: [Garrett_Face_D].
Make sure you selected the base mesh if this scene has multiple LODs.
И так со всеми частями.
0. Всегда будь готов к переустановке системы. 1. В любой непонятной ситуации переустанавливай систему.
2. Если переустановка системы не помогла, переустанови систему ещё раз. 3. Если понятную ситуацию лень решать непонятными методами, её можно считать условно непонятной и переустановить систему.

Lolkab

Небольшая вещь, после которой посмотревшего никогда не оставят Они
http://youtu.be/38cKscjYwM8
И ещё немного коробочки just for kidding:
http://www.youtube.com/watch?v=Gj8Y-vBfsLs
У неё нет рук, она меня видит, но не может ударить, что очень сильно её злит

Делать туториал в картинках мне лень, поэтому просто опишу.
Изначально я нашла среди когда-то скачанных с TTLG файлов tdsrig_bones.max, внутри которого обнаружился скелет. Я нарисовала коробочку (элементарно), подцепила её к кости (хороший туториал http://www.youtube.com/watch?v=PlCMkYzkfrk) и добавила материал (методом научного тыка) и экспортировала результат как exp.psk. После чего через SkeletonBrowser я добавила ему анимацию стражника и указала "exp" в параметре Render>SkeletalTag и запустила. Что вышло - на втором видео.
После этого я решила попробовать пририсовать ту же коробочку Гарретту. Воспользовалась я теми же fbx-файлами, коробочку нарисовала также и экспортировала. Результат - на первом видео. Теоретически, если также слинковать остальные части, всё начнёт работать верно. Почти победа.
0. Всегда будь готов к переустановке системы. 1. В любой непонятной ситуации переустанавливай систему.
2. Если переустановка системы не помогла, переустанови систему ещё раз. 3. Если понятную ситуацию лень решать непонятными методами, её можно считать условно непонятной и переустановить систему.

Lolkab

Ещё одна забавная получившаяся штука, видео, правда, скучнее. http://youtu.be/NWYJbZWM-J4
Кажется, скоро я выучу 3Ds Max также, как фотошоп  :littlecrazy: Заметила такую странную вещь - не экспортируются карты весов (или как там правильно это называется). Вот, например, цилиндрик в редакторе - всё ок. http://cs316129.vk.me/v316129506/c34f/fgwo9srz59M.jpg http://cs316129.vk.me/v316129506/c358/M7HNHNYLFac.jpg - он держится на трёх костях (Garrett R Thirgh/Calf/Foot). А после экспорта он просто словно прицеплён к одной кости, двигается вместе с ней http://cs316129.vk.me/v316129506/c375/1o6jeUf1YwE.jpg (если что-то тут видно). Может ли кто-нибудь из модельеров подсказать, в чём тут может быть дело? 
0. Всегда будь готов к переустановке системы. 1. В любой непонятной ситуации переустанавливай систему.
2. Если переустановка системы не помогла, переустанови систему ещё раз. 3. Если понятную ситуацию лень решать непонятными методами, её можно считать условно непонятной и переустановить систему.

Lolkab

Я так и знала, что решение находится под одной маленькой кнопкой. Если не работает модификатор Skin, используем Physique, галочку для которого я в упор не замечала.
Туториал обновлен и готов к использованию. Видео там же (очень жуткое). Наконец-то  :yes:
0. Всегда будь готов к переустановке системы. 1. В любой непонятной ситуации переустанавливай систему.
2. Если переустановка системы не помогла, переустанови систему ещё раз. 3. Если понятную ситуацию лень решать непонятными методами, её можно считать условно непонятной и переустановить систему.

massimilianogoi

I am afraid that the pivot of the direction is not set correctly, if Garrett lays down on the Skeleton Browser... And I guess the unwrapping of the model is completely messed, hence you cant set the Garrett's skin without first re-unwrapping it all, that is a pain in the ass.