Перейти к содержимому

Как сохранить анимацию в 3d max

  • автор:

Как сохранить анимацию в 3d max

Доброго времени суток, Господа. В 3ds max не сильно силен, да и впринципе мне оно не сильно нужно, поэтому обращаюсь к Вам.
Пишу свой движок на C++, конкретно сейчас разрабатываю Систему Анимации.

Логика следующая:
При наведении мышки на определенный кубик, нужно менять материал этого кубика, и начать воспроизводить анимацию «продавливание» текста.
При отведении мышки от выбранного кубика, нужно менять материал у этого кубика, и началь воспроизводить анимацию «выдавливания» текста.

P.S Скорее всего анимация «продавливания» и «выдавливания» — это одна и та же анимация, только одна из них воспроизводится в обратную сторону.

Итак, определить, навел мышь на кубик, или нет, я сделал. Материал поменять тоже. А вот с анимацией не все так однозначно.

P.S Кстати, анимацию со сценой экспортирую из 3ds max в формате .FBX, и загружаю в свой движок с помощью Assimp.

Тут я набил некоторые вопросы, которые меня интересуют по данной сцене с кубиками. Думаю, если с ними разберусь, то дальше пойму все остальное. Но без ваших ответов мне не продвинуться дальше:)
Итак, поехали:
1. Как задавать имя анимации в 3ds max? Когда я загружаю в свой движок сцену, то имя анимации получаю, что-то типо «Take001». Облазил весь 3ds max, так и не нашел, где задать имя анимации.
2. На текстах «New Game», «Option», «Exit» будет работать одна и та же анимация «продавливания»/»выдавливания». Мне нужно в 3ds max все 3 анимации делать для каждого текста? Или все-таки можно ограничится одной, а потом прикреплять ее для каждого текста?
Тогда как в 3ds max сделать общую анимацию, без применения к 3d объекту, чтобы она грузилась без 3d объекта. блин, даже не знаю, как объяснить лучше. Короче, чтобы у меня были только загружены ключи анимации, а применить я ее смогу куда угодно. Более общая.
3. Когда я в 3ds max создал 2 анимации, для двух 3ds max объектов, то загружая их в в свой движок, Assimp загрузчик посчитал, что это 1 анимация, с двумя Channel’ами(один channel хранит ключи анимации и имя 3d объекта).
Не пойму, в 3ds max когда я создаю анимации для каждого объекта, то это в сумме будет одна анимация, которая хранит в себе так называемые channel’ы с ключами?

Я думаю, что вопросы еще будут по мере поступления Ваших ответов.

22/05/2017, 12:20

1. В меню экспорта FBX, во вкладке Animation/Extra Options есть галочка Use scene name. Включи ее и имя анимации станет таким же, как имя макс-файла.

2. Если анимация продавливания простая, например, масштабирование или перемещение, то достаточно и одной анимации. Если вертексная, то придется для каждой надписи делать свою.

3. Для каждого объекта создавай отдельный макс-файл.

22/05/2017, 14:44
ProcXel.A,

В меню экспорта FBX, во вкладке Animation/Extra Options есть галочка Use scene name. Включи ее и имя анимации станет таким же, как имя макс-файла.

Нашел, спасибо. Я так понимаю, что на сцене может быть только одна анимация? А если у меня 2 и более анимированных объектов на сцене? Это не считается 2 анимации? Или это другое? Я спрашиваю это, так как мне нужно организовать загрузочный код, чтобы хранить анимацию в своем движке.

Если анимация продавливания простая, например, масштабирование или перемещение, то достаточно и одной анимации. Если вертексная, то придется для каждой надписи делать свою.

Ну вертексная я так понимаю это Skinned Mesh? Не, вначале надо с простой анимацией разобраться.

Для каждого объекта создавай отдельный макс-файл.

Вот это не очень понял. Возьмем на примере с кубиками. Мне нужно хранить в каждом макс файле 3 разных текста и соответствующей анимацией? Как это тупо будет выглядить. Не проще создать отдельный один макс с обобщенной анимацией продавливания любого 3d объекта, расположить эту анимацию в начало координат, а потом применять для каждого 3d текста в сцене кубиков?
Я не просто так выделил любого 3d объекта, так как я не знаю, можно создать анимацию в 3ds max обобщенную, тоесть не применять ни на какой 3d объект? Тоесть просто ключи. Можно?

22/05/2017, 15:08

Если max 2017 и выше, можно еще экспортировать в fbx через Game Exporter . В нем есть возможность экспортировать анимацию «кусками».

22/05/2017, 15:11

А если у меня 2 и более анимированных объектов на сцене? Это не считается 2 анимации? Или это другое?

Кто здесь программист — я или ты?) FBX — это всего лишь один из сотен форматов. Ты всегда можешь для своего движка написать свой собственный экспортёр в свой собственный формат, который будет поддерживать сотни объектов и тысячи анимаций. В этом плане 3ДМакс никого не ограничивает.

Мне нужно хранить в каждом макс файле 3 разных текста и соответствующей анимацией? Как это тупо будет выглядить.

Можно и в одном макс-файле хранить, но экспортировать в FBX все равно придется каждый объект отдельно. Такой уж он, FBX.)

Можешь еще документацию по FBX почитать, чтобы лучше представлять себе, что с этим форматом можно сделать, а что нет. https://wiki.blender.org/index.php/User:Mon. _File_Structure

22/05/2017, 15:50
RGhost,

Если max 2017 и выше, можно еще экспортировать в fbx через Game Exporter . В нем есть возможность экспортировать анимацию «кусками».

Можно и в одном макс-файле хранить, но экспортировать в FBX все равно придется каждый объект отдельно. Такой уж он, FBX.)

Вы имели ввиду экспортировать каждый 3d объект отдельно? Наверное я Вас не очень понимаю, но у меня 3ds max экспортирует в .FBX всю сцену целиком, причем даже с анимацией(правда одной). У меня вот эти кубики с текстом и плоскостью созданы в одном max файле, я экспортирую в .FBX всю сцену и гружу в двиг с помощью Assimp. Вся сцена целиком грузится.

А что по поводу обобщенной анимации? Вы как-то пропускаете этот вопрос. Можно ли в 3ds max создать анимацию без 3d объекта. Тоесть только ключи?

22/05/2017, 16:14

Можно сохранить анимацию отдельно через меню Animation / Save Animation. Там xml-ка какая-то с кадрами получается.

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

Каждый объект отдельно можно экспортировать в FBX через меню Export / Export Selected.

22/05/2017, 18:33
Цитата(ProcXel.A @ 22/05/2017, 16:14)

Можно сохранить анимацию отдельно через меню Animation / Save Animation. Там xml-ка какая-то с кадрами получается.

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

Каждый объект отдельно можно экспортировать в FBX через меню Export / Export Selected.

Да движок так и работает, натягивает анимацию на любой объект. Просто как-то глупо получается, в максе я анимирую, к примеру кубик, а потом натягиваю эту анимацию на текст в своем движке:)

22/05/2017, 21:29

Ты не поверишь, но сложные анимации так и делаются: создается скелет из кубиков, кубики анимируются, а потом вся анимация натягивается на персонажей.))) Риггинг называется.)

23/05/2017, 20:26

ProcXel.A, спасибо за ответы:) Вы мне многим помогли. Не знаю, на этом форуме есть репутация? Что-то не вижу

Как сделать вывод анимации 3ds Max в видеофайл

Image1 Image2 Image3 Image4

Многие новички задаются вопросом: «Что делать, после того как я создал в 3ds Max свою анимацию? Как её можно экспортировать в видеофайл?». На ум приходит, вроде бы, логичный ответ: сразу рендерить в формат .avi. Но такой подход мне кажется неверным и, на мой взгляд, он непрактичен. Я вам предлагаю делать это по-другому: производить рендеринг, сохраняя каждый кадр анимации отдельным изображением.

Это гораздо удобнее, чем делать визуализацию в .avi, ведь в этом случае вы можете отрендерить пару кадров сегодня, выключить компьютер, и продолжить рендерить анимацию в любой другой день, указав программе, чтобы она рендерила уже со следующего кадра. А когда последний кадр будет готов, все получившиеся изображения можно импортировать в любую программу по видеомонтажу и склеить. А можно сделать это прямо в самом 3D Max, хоть и не без лишних удобств. В этом случае не страшны отлючения света

Опишу способ пошагово.

1. Настроив свет и материалы в сцене, выполнив несколько тестовых визуализаций, укажем 3D Max, что мы собираемся произвести рендеринг анимации. Для этого в окне Render Setup установим переключатель Time Output в положение Active Time Segment, чтобы сообщить программе, что рендерить нужно с нулевого кадра по последний. Если вам нужен только диапазон кадров, то выбирайте в Range, с какого по какой кадр нужна визуализация. А если нужны какие-то конкретные кадры, то впишите их номера и/или диапазоны в поле Frames.

2. Если кто не знает, то разрешение выходного изображения устанавливается в разделе Output Size. Можно выбрать из предложенных вариантов, а можно ввести свое уникальное разрешение.

3. В разделе Render Output нажимаем кнопку Files и переходим в папку (или создаём новую), куда будем сохранять получившиеся кадры анимации. Далее, ребята, смотрите, здесь есть важный момент с выбором формата изображения. Нельзя использовать JPEG, так как этот формат построен на отсечении информации, недоступной человеческому зрению. Сжатие в одном кадре будет отличаться от сжатия в следующем, что на деле выльется в тихий ужас: всё склеенное из кадров видео будет дёргаться в конвульсиях. Поэтому нам необходимо выбрать формат изображения без потерь, например TIFF или TGA. В них от кадра к кадру не будет никаких артефактов сжатия.

4. Далее ещё один нюанс. Указываем имя первого сохранённого кадра pic_0000. Обратите внимание на структуру имени. pic — это просто имя самого кадра, оно может быть любым, а 0000 — порядковый номер первого кадра. Следующим за ним будет автоматически присвоено имя pic_0001, pic_0002 и т.д. Ну, вы уловили суть. Нолей не обязательно должно быть четыре, можно и три, это просто мне так удобнее делать с запасом

5. Как видите, у меня вместо названий кнопок какие-то крокозябры, мне это никак не мешает, так как назначение кнопок везде стандартное. Нажимаем кнопку Save для возврата в окно Render Setup Запускаем визуализацию нажатием на кнопку Render. Пока процесс рендеринга идёт, можно зайти в папку с рендерящимися кадрами и посмотреть первые из них с пылу-жару.

6. Когда закончится рендеринг, у вас должна получиться последовательность кадров. Давайте сделаем из неё видеоролик прямо в самом максе. Для этого откроем в меню Rendering > Ram Player.

7. Откроется окно RAM Player. В нём нажимаем на кнопку Open Channel A, далее выделяем любой файл и нажимаем кнопку Open.

8. Вылезет окошко Image File List Control. В нём уже будет указана вся последовательность ваших кадров. Жмём ОК и попадаем в следующее окно — RAM Player Configuration. Просто ещё раз нажимаем ОК. Запустится процесс загрузки кадров в оперативную память.

9. Воспроизвести анимацию можно, нажав кнопку Playback Forward. Рядом устанавливается частота кадров. Насмотревшись на ролик, можно сохранить его в .avi. Для этого нажмите кнопку Save Channel A. Откроется соответствующее окно. Выберите формат сохраняемого файла: AVI File (*.avi). Присвойте видеоролику имя и нажмите кнопку Save.

10. Выберите кодек, которым будет сжато видео. Наличие кодеков зависит от того, установлены они в вашей системе, или нет. Но кое-какие кодеки всё же у вас быть должны. Нажмите ОК и у вас появится сохранённое видео анимации.

Всё Я не затрагивал тему рендеринга по слоям, но в нём также применяется данный подход.

Экспорт файлов из 3ds Max

Каждая программа 3D моделирования сохраняет файлы в собственном формате. И крайне часто приходится перемещать модели между программами для удобства редактирования разными инструментами. Для этого модели приходится экспортировать в различные форматы, зависящие от самих программ. В 3ds Max есть большой выбор форматов, в которых можно сохранить модель.

1. Export

Для того, чтобы экспортировать всю сцену, нужно нажать File – Export – Export. В открывшемся диалоговом окне нужно ввести название файла и нужный формат.

Для большинства 3D редакторов практически всегда подходят форматы OBJ и FBX. С помощью FBX также можно экспортировать анимацию объектов. Также есть форматы DWG, DXF, DWF для удобного экспорта в AutoCAD, Revit, ArchiCAD.

Экспорт

После выбора формата появится диалоговое окно экспорта. Для каждого формата есть свое окно настроек. В качестве примера представлено окно настроек экспорта для формата FBX.

FBX

Для экспорта отдельных объектов нужно выделить эти объекты и выбрать File – Export – Export Selected. Если ничего не выделено, то такая возможность будет недоступна. В остальном такой метод не отличается от экспорта всей сцены.

Некоторые форматы недоступны для экспорта в режиме Export Selected. Например, формат STL. Его можно назначить только при экспорте всей сцены кнопкой Export. Однако, если вам не нужен экспорт всей сцены, то вы сможете указать это в специальном диалоговом окне.

Export to DWF экспортирует объект в виде защищенного от изменений документа. Такой формат подходит для AutoCAD. Такой же формат присутствует и разделе Export, вместе с другими.

Game Exporter – функция экспорта объектов и анимации для игр. В качестве экспорта она есть не во всех версиях (показана на примере 3ds Max 2017). Также можно ее найти в разделе Utilities. Этот инструмент экспортирует объекты в формате FBX, но имеет другие настройки экспорта. В нем находятся инструмент создания анимационных клипов. Клипами, например, являются отдельные части одной длинной анимации. Настроить эти части и их длину можно прямо в окне экспорта.

Game Exporter

2. Send to

Send to – это уникальный метод экспорта объекта для программ Autodesk. Находится он в File – Export – Send to. Работает он для таких программ, как Maya, Mudbox, MotionBuilder и Print Studio. При таком экспорте не создается файла с каким-либо форматом. Программа, в которую отправляется файл, автоматически открывается и объекты сразу оказываются в рабочей области.

Send to

Важно помнить, что отправка (Send to) файла осуществляется только для программ одной версии (года выпуска). То есть 3ds Max 2017 может отправить объекты только в 2017 версию указанных программ.

С помощью этих несложных инструментов можно переводить модели, созданные в 3ds Max в другие программы. Однако, еще остаются пакеты, в которые сложно экспортировать имеющиеся форматы. В таких случаях могут помочь дополнительные плагины или какие-либо онлайн-конвертеры. А если же вам нужно добавить какие-либо файлы в 3ds Max из других программ, стоит прочитать статью «Добавление готовых объектов в сцену. Импорт в 3ds Max».

Освойте профессию визуализатора

Научитесь создавать крутые рендеры, панорамы 360, виртуальные туры и анимационные ролики.

Как правильно в программе 3ds max сохранять анимацию для видеостоков

в Максе её вообще нельзя сохранять, отврвтительное качество при гигантском размере файла. Только для превьюшек
Надо сохранять в секвенцию (обычно в *.png, *.exr или другой формат без потерь, в зависимости от задачи), а само видео собирать в программе монтажа, например в Афтерэффекте

Iryna Timonina
Пользователь сайта

в Максе её вообще нельзя сохранять, отврвтительное качество при гигантском размере файла. Только для превьюшек
Надо сохранять в секвенцию (обычно в *.png, *.exr или другой формат без потерь, в зависимости от задачи), а само видео собирать в программе монтажа, например в Афтерэффекте

Спасибо большое за ответ. Никак не могу разобраться какие параметры при сохранении выставлять, чтобы подходило под требования микростоков (формат, кодеки и т.д)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *