Анимация Модели в Unity(из 3DMax'а в Unity3D)

Импорт текстур, моделей, звуков и пр.

Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Satan 21 янв 2010, 23:32

Здравствуйте!

Итак - друг дизайнер прислал мне сцену в Максе с моделью человека и Анимацией хотьбы (Формат *.max). Вся Анимация занимает примерно 125 кадров, из которых меня интересует 1-45 кадр .
Цель - заставить модель ходить в Unity.

Как я вижу это процесс :
Сцена в максе Экспортируется в какойнибудь другой формат, допустим *.fbx , далее импортируется в Unity. В Unity я посредством Инспектора сообщаю ,что с 1-45 кадр это walk. А затем пишу скрипт на контролл и анимацию (по аналогу 3d Platformer Tutorial).

А теперь конкретные вопросы :
1) Правильно ли я себе представляю процесс Анимирования модели или есть какие то ньюансы , может другие варианты ?
2) В какой формат лучше экспортировать модель из формата максовой сцены (*.max)? и с какими параметрами? (про параметры спрашиваю, потому что попробовав экспортировать в fbx столкнулся с Baked Animation...честно говоря не знаю с чем это едят)
3) Импортировав модель в Unity - куда мне зайти и прописать ,что с первого по сорок пятый (1-45) кадр находиться анимация Walk? Таким образом,чтоб кинув модель на Cцену и зайдя в ее InspectorView я мог в Animation 0 поставть Walk.

PS: побродив по форуму наткнулся на советы вроде, сохранять Анимацию в @walk.fbx к примеру.Если честно я не очень силен в пока в 3д графике...и если можно с удовольствием узнал бы о чем речь (являеться это отдельным файлом анимации или это модель + анимация, как экспортировать анимацию и тд). Прошел 3д Платформер Туториал - Просто там ПреФабы уже со встроенной Анимацией. Хочу попробовать примерно тоже самое - только со своими уровнями, моделями и скриптами.
My name is Legion : For we are many
Аватара пользователя
Satan
UNец
 
Сообщения: 15
Зарегистрирован: 21 янв 2010, 22:52
Откуда: Молдова,Кишинёв

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Neodrop 21 янв 2010, 23:37

Разрезание анимации средствами Редактора [unity 3D] Unity, лично в моем опыте, всегда заканчивалось какой то чепухой. Рекомендую экспортировать анимации кусками в FBX. Как отделить эти 45 кадров в Максе, решите сами, но при экспорте важно одно - файл должен называться так : @walk - то есть начинаться с собаки, а потом имя анимации. Тогда Unity воспримет его именно как файл анимации, а не как модель.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Paul Siberdt 21 янв 2010, 23:54

Прочитайте документацию, раздел про анимацию. Очень подробно разжевано.

1. Да, процесс анимации понят верно - вы получаете файл из 3Д-пакета с готовой анимацией. :)

2. Сейчас наилучший кросспакетный формат - Fbx ( изначально - формат экспорта mo-cap данных),
Из документации вы узнаете, что запеченная анимация - гарантия точного воспроизведения в движке того, что вы наблюдаете в 3Д-пакете. Она же - наиболее емкая, поскольку анимационные ключи жестко прописываются в каждом кадре, даже если объект выполняет поступательное движение вдоль одной оси, что можно описать двумя ключами - один в начале, второй - в конце.
Запекание призвано решить нестыковки возможностей движка и 3Д-пакета. Как правило, движки не умеют интерполировать кадры между ключами, скажем, хитрыми кривыми, а выполняют линейную интерполяцию, которая искажает анимацию, что настроена кривыми.

3. В Документации это прекрасно описано. Главное - не начинать экспортить сразу персонажа, а попробовать сделать крутящийся кубик, сбросить его в fbx, перенести в Юню и поглядеть, из чего состоит файл.
Костей в движке нет, скелет представлен иерархией объектов, как правило, меш привязывается к корневому (root) объекту.
Вот все это должно вами быть принято и намотано на ус. В руте, вместе с мешем встретите компонент Animation, разобраться с которым поможет научный тык или, опять же, документация.
Я сам пока не пробовал экспортить анимации отдельно от меша, в этом есть большие плюсы и удобства, главное - начните тренироваться с кубика. ;)
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Левш@ 22 янв 2010, 01:26

1) Правильно ли я себе представляю процесс Анимирования модели или есть какие то ньюансы , может другие варианты ?
2) В какой формат лучше экспортировать модель из формата максовой сцены (*.max)?

Если в максовой сцене вам нужны только 1 - 45 кадры, то все остальные можете попросту удалить.
Затем изменить размер трека, это просто делаеться.
В этом случае даже указывать кадры не нужно, анимация только одна.

Конверт в FBX совершенно не обязателен, Unity превосходно понимает формат макса и анимацию включая.
Нужно попросту сохранить модель в папку Assets проекта.
Повторюсь, если анимация только одна, прописывать ничего не придется.
Другое дело если их несколько одним треком, то тогда надо будет в инспекторе дать имена каждой части и указать кадры - первый - последний.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Satan 22 янв 2010, 01:53

Левш@ писал(а):Конверт в FBX совершенно не обязателен, Unity превосходно понимает формат макса и анимацию включая.

Когда я впервые решил импортировать модель *.max в Unity , попросту скинув ее в Assets и вернувшись в окно Unity - программа повесилась. Я думал это процесс импорта такой долгий - но извините 250кб максовая сцена без текстур и анимаций ,загружающаяся дольше 5 минут на 2ух ядерном - ИМХО перебор. К моему счастью у меня была таже модель в 3ds формате , которая импортировалась сравнительно быстро. Я конечно еще поэксперементирую!

Paul Siberdt писал(а):В Документации это прекрасно описано. Главное - не начинать экспортить сразу персонажа, а попробовать сделать крутящийся кубик, сбросить его в fbx, перенести в Юню и поглядеть, из чего состоит файл.
Костей в движке нет, скелет представлен иерархией объектов, как правило, меш привязывается к корневому (root) объекту.

Спасибо за совет с Документацией. Я действительно совсем запамятовал ,про нее... хотел выполнить все знаниями полученными во время Туториалов. Оттуда я кстати и узнал, что Unity "дает прекрасную возможность анимировать заскиненных (skinned) персонажей". Буквально час назад друг-дизайнер, поведал, что кто то из его окружения уже встречался с подобной проблемой и сказал, что нужно анимировать модель не скелетом, а скином. Потому собственно обещался выслать завтра новую анимацию.Но пробовать я все же буду пытаться, на моделях персонажей,а не кубиках. По мне так без разницы - да и достичь результата на готовой модели, куда внушительнее выглядит, чем достичь необходимого результата на кубиках. "Ты вон на кошках тренируйся" ;)

Neodrop писал(а):Разрезание анимации средствами Редактора Unity, лично в моем опыте, всегда заканчивалось какой то чепухой. Рекомендую экспортировать анимации кусками в FBX. Как отделить эти 45 кадров в Максе, решите сами, но при экспорте важно одно - файл должен называться так : @walk - то есть начинаться с собаки, а потом имя анимации. Тогда Unity воспримет его именно как файл анимации, а не как модель.

Я всеже попробую разок разрезать анимацию при помощи Unity. Как минимум из соображений,что не зря же они эту функцию включили - значит при определенных условиях она работает.Главное подобрать эти самые условия - к томуже думаю, экспорт анимаций в отдельные файлы отражаеться, на массивности проэкта. Надо бы подумывать об оптимизации. Но если честно - предложенный вами вариант ,мне больше всего импонирует. В таком случае, дизайнерам придеться за меня анимировать и разрезать все модели,что создаст более четкую структуру, с наименьшим вмешательством в настройки инспектора модели.

Еще вопрос :
Каким источником можно воспользоваться, для скачивания 3д моделей с анимацией? желательно бесплатно. Хочу представить нечто подобное LerpzEscape'у к выходным. Поэтому нужен персонаж, с минимальным пакетом анимаций : Стойка, бег , прыжок.
My name is Legion : For we are many
Аватара пользователя
Satan
UNец
 
Сообщения: 15
Зарегистрирован: 21 янв 2010, 22:52
Откуда: Молдова,Кишинёв

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Левш@ 22 янв 2010, 02:01

Ну не знаю....
Может у меня комп волшебный, старенький ноут.
При импорте подвисает на 1 минуту, после чего модель на месте.
Остается только настроить.

И абсолютно всю анимацию всех моделей нарезал именно в унити, никаких глюков или неточностей не наблюдал.
Нарезал на 4 части и больше, кадры один в один совпадают с нумерацией макса.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Paul Siberdt 22 янв 2010, 09:44

По поводу нативных экспортов - боже упаси, пользуйтесь fbx - это промышленный стандарт, блин, для передачи контента между пакетами. Форматы max и mb - это внутренние проектные форматы. У меня экспорт из maya - тоже та еще песня :D

А любителю экспортить из Макса в max поведаю, что экспорт fbx занимает доли секунды плюс у вас всегда будет разделена работа на релизные выходные fbx-файлы и рабочие файлы max. Неужели, подобного удобства не достаточно?
Последний раз редактировалось Paul Siberdt 22 янв 2010, 10:39, всего редактировалось 1 раз.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Satan 22 янв 2010, 10:01

Paul Siberdt писал(а):По поводу нативных экспортов - боже упаси, пользуйтесь fbx - это промышленный стандарт, блин, для передачи контента между пакетами. Форматы max и mb - это внутренние проектные форматы. У меня экспорт из maya - тоже та еще песня :D


Когда я искал подобные темы на форуме, наткнулся на сообщение, о том ,что анимация воспроизводится некорректно, толи кости куда то сьехали,толи еще чего.В общем Аниматор был недоволен. Ему посоветовали пользоваться меньшим промежуточным числом софта. Ато один экспорт,другой,третий...и что то уже может сместиться. Если экспортировать в fbx есть ли какие то изменения в изначальной модели? И какова массивность формата, скажем, что больше весит... нативный файл или экспортированный из нее fbx?
My name is Legion : For we are many
Аватара пользователя
Satan
UNец
 
Сообщения: 15
Зарегистрирован: 21 янв 2010, 22:52
Откуда: Молдова,Кишинёв

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Paul Siberdt 22 янв 2010, 10:28

Искажения анимация могут случаться, например, при неверной интерпретации данных. Но fbx - это универсальный формат Autodesk для передачи сцен между продуктами Autodesk, он был разработан компанией Filmbox именно для корректного экспорта с систем motion capture и зарекомендовал себя идеальным решением в работе с анимацией в пакете Motion Builder (один из основных пакетов работы с mo-cap системами), после чего уже развился в кросспакетный формат экспорта. Неверной интерпретации при работе со стандартным инструментарием Autodesk, думаю, вряд ли произойдет.

Искажения анимации могут случаться при неверном преобразовании анимационных кривых, по которым интерполируются кадры между ключами внутри анимационного пакета. Случается это потому что у разных движков заложены разные возможности работы с анимацией. Чаще всего, движки не умеют строить сплайновую интерполяцию и довольствуются линейной, а если даже умеют, алгоритмы интерполяции у них могут быть проще или просто отличными от алгоритмов анимационного пакета.
Поэтому, если у нас в анимации прыганья мячика стоит два ключа - один на земле, другой - в верхней точке, а скорость регулируется сплайном (мячик замедляется, двигаясь вверх и наоборот), большинство движков превратят кривую движения в прямую и мяч будет тупо колебаться с равной скоростью между двумя точками.

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

Вес файла запеченной анимации может быть гораздо больше, вне зависимости от формата (fbx или max). Формат же fbx весит меньше внутреннего формата, поскольку при экспорте вы сами определяете, какие данные об объекте необходимо передать, а данные сцены и внутренние параметры проекта вообще не передаются.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение gerasim 22 янв 2010, 10:57

Развели бадягу - модель и три анимацыи максовских сюда. Вот и будет предметный разговор. Удобней в .мах формате, тогда можно отследить пиплайн из (max_sm) в [unity 3D] . До 5метров можно прямо сюда прикрепить.
Неследите - и неследимы будете.
Аватара пользователя
gerasim
UNITрон
 
Сообщения: 166
Зарегистрирован: 17 апр 2009, 15:56
Откуда: Самара

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Satan 22 янв 2010, 18:20

gerasim писал(а):Развели бадягу - модель и три анимацыи максовских сюда. Вот и будет предметный разговор. Удобней в .мах формате, тогда можно отследить пиплайн из в . До 5метров можно прямо сюда прикрепить.


В присоединенном файле лишь одна анимация. Но думаю, что к примеру 1 кадр можно использовать как анимацию - idle.а с 2-45 будет walk.Но как я понял, данную анимацию просто так в [unity 3D].Ее либо надо запечь, либо сконвертировать из скелетной в скиновую.(последнее почему то у меня не получилось, (max_sm) макс перестал слушаться,виснет, выдает ошибки...)
У вас нет доступа для просмотра вложений в этом сообщении.
My name is Legion : For we are many
Аватара пользователя
Satan
UNец
 
Сообщения: 15
Зарегистрирован: 21 янв 2010, 22:52
Откуда: Молдова,Кишинёв

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Левш@ 22 янв 2010, 21:07

Короче Unity в упор не видит анимацию этой модели, причем в любом формате, хоть в FBX, хоть в MAX.
Что тут не правильно организовано...
И потом что за скелет самопал? и главное зачем? есть же стандартный скелетон и куча анимаций на любой вкус для него.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Satan 22 янв 2010, 21:57

Левш@ писал(а):Короче Unity в упор не видит анимацию этой модели, причем в любом формате, хоть в FBX, хоть в MAX.
Что тут не правильно организовано...
И потом что за скелет самопал? и главное зачем? есть же стандартный скелетон и куча анимаций на любой вкус для него.


Мои процентные знания 3д моделирования примерно соизмеримы со знаниями человека о космосе. Поэтому я и попросил у друга модель с какой нибудь Анимацией. Мне прислали это и я собсвенно с этим попытался поработать. Почему не работает , рассказываю : Как оказалось Unity [unity 3D] не умеет пользоваться скелетной анимацией,а умеет пользоваться анимацией самого меша(skinned animation). Для макса есть специальный плагин - зоветься Phy2skin.dlu. Кидаешь в папку
"3дМакс\plugins\.." .Включаешь из макса и применяешь на модель. Итог - та же анимация только с мешем. (Так во всяком случае мне обьяснили те кто уже пробовал подобное).

Я буду тебе очень признателен, если ты скинешь информацию по "стандарным скелетонам" , "кучам анимаций" и том как это применить на мою модель.
My name is Legion : For we are many
Аватара пользователя
Satan
UNец
 
Сообщения: 15
Зарегистрирован: 21 янв 2010, 22:52
Откуда: Молдова,Кишинёв

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение gerasim 22 янв 2010, 22:01

Не очень удачный пример для вашей первый попытки засунуть в [unity 3D] .
Сначала уберите Morpher, если не поможет замените Physique на Skin. Какойто Партикл вью засунут, текстуры .rtf, бипед какойто небипед.. Ну што, ей богу - сами штоли не можете меш слепить и бипед вставить?
Неследите - и неследимы будете.
Аватара пользователя
gerasim
UNITрон
 
Сообщения: 166
Зарегистрирован: 17 апр 2009, 15:56
Откуда: Самара

Re: Анимация Модели в Unity(из 3DMax'а в Unity3D)

Сообщение Левш@ 22 янв 2010, 22:48

замените Physique на Skin.

Повторюсь, Unity прекрасно работает как с Physique, так и с Skin.

Я буду тебе очень признателен, если ты скинешь информацию по "стандарным скелетонам" , "кучам анимаций" и том как это применить на мою модель.

Вот вам для начала на уровне чайника: http://fpscreatorworld.ucoz.ru/publ/8-1-0-10
А если копнете гугл, то больше чем уроков по 3Дмакс, там по моему вообще нет ничего.... ;)
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт


Вернуться в Медиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2