Автор Тема: Игровые анимации (вытаскивание, конвертирование, редактирование и так далее)  (Прочитано 15831 раз)

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

Сентябрь 24, 2013, 10:01:53 am
Прочитано 15831 раз

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2453
  • Репутация:
    153
    • Просмотр профиля
Не секрет, что хорошие анимации, как и хорошие модели, являются одной из основ создания хорошей игры.
Но к сожалению, и по сей день, хорошие анимации - весьма большая редкость и дефицит.
Да, есть некоторая масса разнородных анимаций в свободном доступе в интернете, но почти все они либо малоприменимы изза нехарактерных и ненужных в игре действий, либо их специфичности.
Например, большинство анимаций из тех немногих, которые именно предназначены для игр - это как правило анимации мужских персонажей, и как правило, для шутеров, стрелялок-бродилок и хороров.
Вот собственно, по этому поводу и создана такая тема.

Эта тема для разного рода полезной информации, по работе с анимациями.
А именно:

 - Тонкости импорта, использования и редактирования анимаций в Unity3d
 - Методики извлечения анимаций из различных игр, моделей и форматов
 - Методики конвертирования анимаций, из одних форматов в другие
 - Методики редактирования, правки и исправления анимаций
 - Сохранение анимаций
 - Перенос анимаций с одного бипеда или персонажа на другой
 - Полезный софт и утилиты, для работы с анимациями
 - Создание анимаций
 
 Так же тут можно делиться анимациями и ссылками на ресурсы, где их можно раздобыть.

(Если тема будет востребована и популярна, то в будущем возможно, она  будет расширена до целого подраздела)
« Последнее редактирование: Октябрь 27, 2013, 20:51:27 pm от Mimi Neko »

Сентябрь 24, 2013, 10:57:42 am
Ответ #1

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2453
  • Репутация:
    153
    • Просмотр профиля
Исправление bvh.  Открываем в 3D макс, не открывающиеся .bvh анимации

И так, завалялась тут у меня давно, одна интересная библиотека анимаций: MonsterBonesLibrary
Да всё как-то не получалось их посмотреть, так как максы наотрез отказывались воспринимать эти файлы, упорно талдыча о каких-то в них ошибках:




- Пришлось найти програмку, под названием bvhHacker, предназначенную специально для редактирования анимаций формата .bvh
Однако, как оказалось, экспорта в ней не предусмотрено, и анимацию можно сохранить во всё тот же файл .bvh
Который опять же, 3D максом почему-то не хотел открываться.

Тогда я решил сравнить в bvhHacker 2 файла анимаций .bvh, не открывающийся в максе, и нормально открывающийся.
И вот что я увидел:


Как видно, скелет "некорректного" bvh, отличается от корректного не только наименованием костей, но и содержит лишний элемент "abdomen"!
Но всё это оказалось легко поправимо. щёлкаем мышкой на этот "abdomen", и в выпавшей менюшке выбираем Remove Joint:

После  этого этот элемент исчезнет. А верхняя и нижняя части скелета, соединяться без него напрямую.
Затем, нужно правильно переименовать все  кости. Видимо 3D Макс распознаёт их, только по определённым именам, и собственно об этом он и сообщал нам в  тех самых ошибках.


И так, переименовываем кости:
(так же кликаем на каждую кость, и в выпавшей менюшке выбираем Rename Joint)

hip в Hips
chest в Chest
neck в Neck
head в Head

lCollar в LeftCollar
lShldr в LeftUpArm
lForeArm в LeftLowArm
lHand в LeftHand

lThigh в LeftUpLeg
lShin в LeftLowLeg
lFoot в LeftFoot

Внимание! Ниже в сообщениях, добавлена обновлённая и более корректная методика, с поправками.

И так же точно далее, для всех правых костей. В случае иных элементов, смотрите уже сами, по ошибкам в максе. в первой ошибке он выдаст список некорректных костей, а во второй - список названий костей, которые он ожидает и поддерживает.
Все оконьчания конечностей должны быть именованы End Site

Вот так теперь выглядит исправленый скелет:

 - Сохраняем
 И без проблем подключаем эту анимацию в 3D max к нужной нам модели или скелету, через вкладочку Motion Capture.

Однако, остаётся ещё не решённой одна проблема. Анирмация-то работает, но сам скелет в максе, после прикрепления этой анимации, несколько искажается. таз и ноги утолщаются и увеличиваются в размерах, голова наоборот, сильно уменьшается.  Причём это происходит у меня наверно с любыми анимациями формата .bvh
Но в максе по крайней мере, скелет точно повторяет нужные  действия. А вот после экспорта в юнити, почему-то при движениях, руки персонажа не двигаются, и торчат в Т позе. а ноги и тело как-то немного утоньщается, удлинняется, и сплющивается с переди и сзади...
Вобщем, нужно ещё копаться и доводить это дело до ума.
Интересно, есть ли у кого опыт полностью корректного использования анимаций .bvh в юнити и максе?



Кстати, ещё есть другая утилитка, для просмотра, редактирования и конвертирования анимаций .bvh, под названием  Animeeple.
Есть и специальная её версия, с встроеным экспортёром анимаций в .fbx формат.
Однако, из двух найденых мной таких утилит, одна не заработала, требуя активацию или что-то такое (надо будет попробовать просто создать аккаунт для неё), а вторая, более новая, вылеченая, и с экспортёром, обругала мою видеокарту в моём ноутбуке, сказала что мол ей необходима более крутая видеокарта, и отказалась запускаться.
« Последнее редактирование: Сентябрь 25, 2013, 07:05:55 am от Mimi Neko »

Сентябрь 24, 2013, 11:16:50 am
Ответ #2

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2453
  • Репутация:
    153
    • Просмотр профиля
Ищутся материалы и методики, а также софт для:

 - Конвертирование анимации и моделей из программы MMD (Программа для анимации и визуализации 3D вокалоидов Miku Miku Dance)  в формат, воспринимаемый 3D max или .fbx
(Требуется рабочий отлеченый PMD Editor, и возможно ещё что-то.)

 - Корректное конвертирование анимаций .hkx (игры Skyrim, Fallout и прочие TES5)  в формат, воспринимаемый 3D max или .fbx 
(пока что удавалось перенести в очень некорректном виде, всё работало шиворот на выворот)

 - Конвертация анимаций .caf ( Crytek Animation File, для движка CryEngine) из Aion в формат, воспринимаемый 3D max или .fbx

 - Конвертация анимаций из Lineage в формат, воспринимаемый 3D max или .fbx

Буду очень признателен за помощь.
« Последнее редактирование: Сентябрь 28, 2013, 07:27:14 am от Mimi Neko »

Сентябрь 25, 2013, 05:04:15 am
Ответ #3

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2453
  • Репутация:
    153
    • Просмотр профиля
Исправление bvh (продолжение)

В принципе мне удалось докопать эту анимацию до победного финала  :D

Руки не работали и были в позе T, по причине моей невнимательности. Не совсем внимательно перемыл косточки на руках, в итоге не совсем верно их переименовал, и Unity3d их просто не находил. После исправления этого, руки заработали.

А вот для полного превращения данной анимации в корректную и рабочую, пришлось сделать хитрый финт ушами, и преобразовать полученную по предыдущей методике анимацию, из .bvh в .bip
А затем наложить на стандартный скелет макса, и экспортировать в .fbx
В итоге персонаж в Юнити запрыгал с этой анимацией как надо (или почти как надо, по крайней мере на вид неплохо, смотрится)

И так, что нужно для этого? У нас уже есть полуготовая исправленая анимация в .bvh, которая уже грузится в 3D макс, но в итоге, будучи загруженой на стандартный скелет, она его как-то нехорошо сразу видоизменяет, и в итоге изза этого нам плющит саму модель.

Как не странно, но поможет нам в этом... MWanimation_blankfiles (бипеды для морровинда и TES)  ::)
В этом архиве три скелета. Нам понадобится один из них: blank.3rd.max
Это скелетон для персонажей от третьего лица.

загружаем этот скелетон в макс (макс может ругнуться на какие-то ненайденые файлы - не обращаем внимания.)


Ищем ромбовидную кость на месте Пелвиса, называющуюся Bip01, и выделяем её:



Затем, в меню управления анимациями, во вкладочке Motion Capture, жмём Load Motion Capture File:



И подгружаем наш исправленый, но всё ещё кривую анимацию в файле .bvh (видно даже на превью, как от неё раздута нижняя часть скелета)



В итоге получаем ЭТО:

 :o

- Ничего, без паники! Жмём Time Configuration, выставляем там 30FPS и оконьчание анимации на том кадре, где она действительно оканьчивается (если это не сделать - при сохранении или экспорте, процесс может затянутся, а вес файла - сильно увеличится)


Теперь во вкладочке Biped, жмём дискету и сохраняем нашу анимацию в виде нормального файла .bip

В принципе всё, это уже хороший рабочий Bip, который можно цеплять и испиользовать.
Так же перед сохранением можно почистить то что на сцене, от всего лишнего.
Можно удалить Bounding Box, Shadow (любопытно... это модель тени персонажа!  :o), Dummy07, B_N_Dark Elf_M_Hand01, B_N_Dark Elf_M_Hand, QuadPatch01, W_Nordic Claymore_Blade, W_Nordic_Claymore
Но можно и не удалять. Я первый раз удалял, второй не удалял, в итоге не заметил разницы.
Новый-то скелет всё равно будет стандартным максовым.

И так, для проверки или экспорта анимации в Unity3d, создаём на сцене новый скелет (или загружаем предусмотрительно сохранёный скелет, используемый в этом персонаже)
выделяем кость Bip01 Pelvis, и цепляем на ней, сделаную нами только что Bip анимацию:

Уже на превью видно, что всё ок! скелет в норме.

Проверяем анимацию - теперь всё работает правильно и корректно!
Перед экспортом в fbx, снова повторяем:
Жмём Time Configuration, выставляем там 30FPS и оконьчание анимации на том кадре, где она действительно оканьчивается (если это не сделать - при сохранении или экспорте, процесс может затянутся, а вес fbx файла - сильно увеличится)


« Последнее редактирование: Сентябрь 18, 2014, 11:47:09 am от Mimi Neko »

Сентябрь 25, 2013, 06:00:35 am
Ответ #4

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2453
  • Репутация:
    153
    • Просмотр профиля
Дополнения по конвертированию .bvh:

Вот нашёл такой список соответствия костей из bvn, костям скелета 3D макса:

Groin -> Bip01 Pelvis
Chest -> Bip01 Spine1
Neck -> Bip01 Neck
Head -> Bip01 Head
Left Clavicle -> Bip01 L Clavicle
Right Clavicle -> Bip01 R Clavicle
Left Upper Arm -> Bip01 L UpperArm
Right Upper Arm -> Bip01 R UpperArm
Left Forearm -> Bip01 L Forearm
Right Forearm -> Bip01 R Forearm
Left Wrist -> Bip01 L Forearm
Right Wrist -> Bip01 R Forearm
Left Hand -> Bip01 L Hand
Right Hand -> Bip01 R Hand
Right Upper Leg -> Bip01 R Thigh
Right Knee -> Bip01 R Calf
Right Ankle -> Bip01 R Calf
Right Foot  -> Bip01 R Foot

Правда Groin не встречал, помоему вместо него там Hip

И ещё, оказывается, анимации bvh встречаются двух форматов!
одни из них - родные для позера.
В позеровских, несколько иная иерархия костей и их наименования.
Цитирую из одного источника:

Цитировать
Если захваченное движение применяется без ошибок, то через некоторое время вычислений оно будет создано. В противном случае будет выдано сообщение об ошибке. Как, например, это
где сообщается, что у используемой в POSER фигуре не найдено соответствие прописанного движения к части человеческого тела (“Грудь2”). Это говорит о том, что не верно прописана иерархия частей тела персонажа в файле BVH. И чтобы движение не приняло искажённый вид из-за отсутствия данных одной части фигуры, можно вручную исправить названия иерархической последовательности внутри BVH файла. Для этого открываем BVH файл подходящим текстовым редактором и смотрим как составлена иерархия частей тела персонажа в самом начале файла. Мы увидим примерно следующее :


После слова HIERARCHY - иерархия написано ROOT Hips. Это означает, что "корнем" иерархической последовательности частей тела фигуры являются бёдра.
К ним последовательно выше крепятся  живот (JOINT Chest), грудь (JOINT Chest2), левый воротник (JOINT LeftCollar), левое плечо (LeftShoulder) и так далее.
Но фигура из POSER имеет несколько другие названия частей тела.
Так живот назван, как Abdomen, а грудь - просто Chest. А раз так, то следует поменять названия JOINT Chest на JOINT Abdomen, а JOINT Chest2 на JOINT Chest.

Теперь, когда исправленный BVH файл вновь импортировать в POSER, можно заметить, что движения фигуры стали более плавными и естественными.

Тоесть, файлик который я ковырял - позеровский, и возможно, переименовывать кости в нём нужно было ещё несколько по другому. А исправлять названия костей, можно просто открыв его в обычном  блокноте.


И так, по обновлённой методике, просто открываем файлик анимаций .bvh в обычном  блокноте, и переименовываем кости:


hip в Hips
abdomen в Chest
chest в Chest1
neck в Neck
head в Head

lCollar в LeftCollar
lShldr в LeftUpArm
lForeArm в LeftLowArm
lHand в LeftHand

lThigh в LeftUpLeg
lShin в LeftLowLeg
lFoot в LeftFoot

И так же все  кости правой руки, плеча и ноги.
Сохраняем, и грузим в макс на скелет, как описано во втором посте. Предварительно можно проверить корректность анимации в bvhHacker, а в максе, перед оконьчательным экспортом, внести поправки и изменения в саму анимацию, так как часто, анимации в этом формате бывают не очень хорошего качества, или не очищенные,  с лишними элементами.
« Последнее редактирование: Сентябрь 25, 2013, 07:11:56 am от Mimi Neko »


Май 20, 2016, 12:25:51 pm
Ответ #6

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2453
  • Репутация:
    153
    • Просмотр профиля
WoW Model Viewer
(может экспортировать анимации в .fbx)
https://code.google.com/archive/p/wowmodelviewer/wikis/Exporting.wiki

Импорт моделей из WoW:
http://dota2.ru/forum/threads/import-modelej-iz-wow.606146/

<a href="http://www.youtube.com/watch?v=JUtnFwbB044" target="_blank">http://www.youtube.com/watch?v=JUtnFwbB044</a>

<a href="http://www.youtube.com/watch?v=9ZW0_N2KFkk" target="_blank">http://www.youtube.com/watch?v=9ZW0_N2KFkk</a>
« Последнее редактирование: Май 20, 2016, 13:04:26 pm от Mimi Neko »