Как рендерить анимацию в 3ds max

Обновлено: 01.07.2024

Многие начинающие игростроевцы, которые только приступают к изучению 3 DS Max, часто полагают, что сложнее всего научиться моделировать различные конструкции (технику, гуманоидов, архитектурные сооружения), совсем забывая про анимацию. Мол, главное модель сделать, а уж с анимацией как-нибудь разберемся.

Подобный подход в корне неверен. Да, смоделировать красивое здание, слепить привлекательного персонажа или сконструировать первостатейное авто достаточно сложно. Но куда сложнее вдохнуть жизнь в созданные предметы — научить их реалистично перемещаться.

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

В сегодняшней статье мы научимся оживлять 3D-модели в «Максе», познакомимся с простейшим типом анимации — по ключевым кадрам.

Время, время, время.

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

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

Время в анимации определяется числом кадров в секунду. По умолчанию в 3DS Max установлена частота 30 кадров в секунду, что соответствует североамериканскому телевизионному стандарту NTSC. Очень важно уметь правильно согласовывать анимацию во времени. Научиться этому вовсе не сложно — пара-тройка анимированных сцен, и вот вы уже отлично знаете, как улучшить анимацию в определенном месте и стоит ли вообще анимировать тот или иной объект.

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

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

Простота спасет мир

Пожалуй, самым простым типом анимации в 3DS Max является кейфреймовая, или анимация по ключевым кадрам. В процессе работы формируются кадры, в которых фиксируется изменение положения того или иного объекта и траектория его движения. Каждый ключевой кадр в «Максе» обозначается цветным прямоугольником.

Основные элементы, необходимые для покадровой анимации.

Рассмотрим процесс создания простейшей ключевой анимации на конкретном примере — обыграем несложную сценку падения мяча на землю после его столкновения со стеной. Первым делом создайте плоскость произвольных размеров. Для этого в поле инструментов (на панели в правой части редактора) перейдите во вкладку Create\ Geometry и выберите из представленного списка строку Standard Primitives.

В свитке Object Type щелкните по кнопке Plane и создайте объект на одном из видов. Далее аналогичным образом поместите на сцену объекты типа Box (коробка) и Sphere (сфера) из категории стандартных примитивов. После этого затекстурируйте созданные конструкции таким образом, чтобы серая плоскость превратилась, скажем, в травяной массив, сфера — в мяч, а бокс — в кирпичную стену.

Выделите сферу и щелкните по кнопке Auto Key на панели анимации в нижней части рабочего окна «Макса». Граница окна вида, в котором мы находились до нажатия кнопки Auto Key, и временная шкала станут красными. Это означает, что теперь все изменения положения или размеров какого-либо элемента сцены будут регистрироваться и использоваться для создания анимации.

Переместите ползунок временной шкалы анимации (располагается над кнопкой Auto Key), кликните по сфере правой кнопкой мышки и в контекстном меню выберите пункт Properties. Далее в открывшемся окне параметров сферы перейдите в поле Display и поставьте флажок напротив комментария Trajectory — будет активирован режим показа траектории движения сферы во всех проекционных окнах. Щелкните по кнопке Ok, чтобы сохранить изменения и закрыть окно свойств объекта.

Траектория движения

Анимация в самом разгаре.

Если вы просмотрите созданную анимацию, то увидите, что по законам физики мячик должен был отскочить от плоскости. Устранить это досадное недоразумение можно следующим образом.

Передвиньте ползунок временной линии на 55-й кадр и переместите сферу на несколько делений вверх и влево. После этого по аналогии добавьте еще пару-тройку отскоков сферы от плоскости, учитывая, что каждый последующий из них должен быть меньше предыдущего — затухающие колебания. Когда закончите процесс покадрового изменения положения сферы, щелкните по кнопке Auto Key на панели анимации в нижней части окна 3DS Max.

Для воспроизведения созданной анимации кликните по кнопке Play. Если вы приглядитесь, то обнаружите, что передвижение мячика по сцене выглядит не совсем естественно: мяч не резко отскакивает от плоскости, а плавно удаляется от нее. Устранить данный недостаток можно с помощью специального редактора анимационных кривых — модуля Curve Editor. Для его вызова щелкните правой кнопкой мышки по сфере и в выпадающем меню выберите пункт Curve Editor. Появится новая форма, на которой содержатся различные кнопочки и поля для редактирования кривых, а также сами анимационные графики, ответственные за перемещение сферы по трем осям: красным цветом обозначено движение по оси X, зеленым — по оси Y, синим — по оси Z.

Красной пунктирной линией на сцене обозначена финальная траектория полета мяча.

Для начала давайте изменим положение сферы по оси абсцисс (X) в 30-м кадре, то есть в момент ее соприкосновения со стеной. На панели в левой части редактора кривых выберите из списка строку Sphere/ XPosition. Видимой останется лишь кривая красного цвета, ответственная за траекторию движения мячика по оси X. В редакторе кривых щелкните по ключевому кадру номер 30, расположенному на вершине кривой. Вы увидите, что в выделенной точке появятся специальные маркеры касательных, положение которых и нужно модифицировать.

Зажмите клавишу Shift на клавиатуре и передвиньте маркер, расположенный с левой стороны от вершины, вниз, после чего направьте его вдоль кривой, идущей до 30-го кадра. Изменение касательной приведет к формированию более резкого движения примитива. После того как вы совершите эту операцию, перетащите маркер, расположенный по правую сторону ключевого кадра, по направлению к 45-му кадру, на этот раз не зажимая Shift.

С движением мяча по оси абсцисс мы разобрались. Давайте слегка подправим траекторию сферы по оси аппликат (Z) — модифицируем траекторию отскока мяча от пола. Выберите из списка в левой части редактора кривых строку ZPosition, которая является дочерней по отношению к пункту Sphere. В окне кривых, в правой части подпрограммы, появится синий график, символизирующий движение сферы по оси Z.

Зажмите клавишу Ctrl на клавиатуре, кликните левой кнопкой мышки по кадрам, где мяч соприкасается с поверхностью плоскости и, наконец, щелкните по кнопке Set Tangents to Fast на панели инструментов редактора кривых. Закройте окно Track View — Curve Editor и просмотрите полученную анимацию. Анимация готова.

Motion Capture — довольно распространенный тип анимации, который нашел широкое распространение в создании современных компьютерных игр и кинокартин. Суть этой технологии состоит в том, что реального человека обвешивают датчиками, фиксирующими движение, после чего актер совершает определенные телодвижения в просторной комнате. Каждое действие фиксируется приборами и записывается в специальный анимационный трек.

После этого траектория датчиков «привязывается» к соответствующим точкам на «скелете» трехмерной модели. И вуаля — компьютерный персонаж начинает копировать все действия реального человека.

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

Сегодня мы рассмотрели один из самых распространенных типов анимации в 3DS Max (по ключевым кадрам) и сделали несложную анимированную сценку. Опираясь на материал, изложенный в статье, вы сможете задать движение простого объекта по определенной траектории — например, сымитировать полет авиалайнера, бросок и падение мяча, движение объектов по наклонной плоскости и даже ходьбу игрового персонажа.

В ближайшем будущем мы планируем опубликовать статью о более сложных способах анимации, с помощью которых можно «оживлять» значительно более сложные объекты.

alt

После создания объекта ли сцены в 3ds Max, их можно визуализировать. Визуализация в данном случае – это процесс создания 2D изображения на основе источника света и 3D объектов. Свет, попадая на объекты, отражается в виртуальную камеру и формирует картинку. В этой статье мы разберем создание изображения, используя программу Corona Renderer.

1. Сборка сцены

Прежде всего, необходимо создать объект и освещение для него. Без освещения рендер не сможет вести расчет и вместо картинки будет черный экран. В качестве объекты выступит Teapot. В качестве источника света – CoronaLight. Для создания чайника нужно перейти в Create – Geometry – Standard Primitives – Teapot. Источник света находится в Create – Lights – Corona – CoronaLight.

Teapot и CoronaLight

Для каждой системы рендеринга (Corona, V-Ray, Scanline, mental ray и т.д.) предназначены свои источники света. Сторонние программы добавляют в 3ds Max собственные источники. И редко одни программы воспринимают источники света от других программ. То есть используя V-Ray, нельзя устанавливать источник света CoronaLight.

Объекту можно добавить «пол». Поверхность, на котором будет располагаться объект. Это изменит общее освещение, так как свет дополнительно будет отражаться от пола и попадать на объект.

Пол

2. Установка камеры

Для рендера нужно создать точку обзора, из которой будет создан вид на будущее изображение. Точка обзора создается с помощью камер из меню Create – Cameras – Standard. Для перехода в вид из камеры нужно нажать горячую клавишу «C» или открыть окно вида, выбрать Cameras и нажать на камеру с нужным названием (Camera001). А какие камеры можно использовать вы узнаете из статей про объекты Physical Camera и Standard Camera.

Для рендеринга не обязательно устанавливать камеру. Достаточно будет перейти в режим Perspective. Камерой будет считаться вид на рабочую область 3ds Max.

Cameras

3. Настройка и запуск рендера

Чтобы настроить рендер, нужно открыть окно Render Setup кнопкой на панели Main Toolbar, через меню Rendering – Render Setup или нажать горячую клавишу «F10».

В открывшемся окне в строке Renderer нужно выбрать программу для рендеринга. В качестве примера – CoronaRenderer. Затем в разделе Common нужно установить, какой кадр нужно рендерить.

Single – рендерит один кадр, выбранный на временной шкале.

Active Time Segment – рендеринг всей временной шкалы. На примере это от 0 до 100, но если поменять длину шкалы, то значение 100 автоматически изменится.

Range – все кадры на установленном отрезке. Устанавливать можно как начальный, так и конечный кадр.

Режимы Active Time Segment и Range отлично подходят для анимации. Если в этих режимах воспользоваться функцией Save File и указать формат сохранения AVI, то все кадры будут сохраняться в единый видео файл. Так можно сделать видео-рендер анимации. А пример анимации можно увидеть в статье «Анимация и Motion blur в 3ds Max»

Frames – рендеринг отдельных кадров.

Теперь можно настроить размер финального изображения в разделе Output Size. Размеры Width и Height.

Если нажать Shift+F в рабочей области, то ее экран обрежется в соответствии с размером картинки. Это удобно для понимания области, которая будет видна на рендере.

Render Setup

После установки размера можно нажимать на кнопку Render (сочетания клавиш Shift+Q). Окно VFB с картинкой, информацией и расчете, настройках и прочими кнопками откроется автоматически. Там же в этом окне будут кнопки для сохранения, копирования и прочих функций.

VFB

Перечисленное здесь – минимальный набор действий для визуализации объекта. Может меняться количество объектов, число источников света, типы камер. Но все популярные системы рендеринга для 3ds Max работают благодаря сочетанию перечисленных объектов. Кроме того, если на объекты наложить материалы. Материалы, назначенные объектам, будут отображены на рендере. А про настройку материалов и текстур вы узнаете из статей:

А ещё расскажу, как можно получить gif-анимацию или видеоролик на выходе 3Ds Max.

Предисловие

Зачем нужна плавность анимации?

Дело в том, что человек видит окружающий мир по кадрам (примерно 24 кадра в секунду). Быстро движущиеся объекты, которые за эти доли секунды проходят большие расстояния, смазываются (иногда очень сильно). Монитор же показывает нам последовательность кадров с частотой примерно 60 кадров в секунду. Если на изображении нет размытия, но оно будет двигаться по экрану, максимум что увидит глаз человека, так это несколько последовательно идущих копий, а не плавную траекторию движения.

Если мы не будем самостоятельно размывать картинку, то человеку она будет казаться неестественной. (Далее мы сможем это проверить лично)

Подготовка

Для начала нам нужно создать или загрузить модель.

В моём случае, это три шестерёнки, полученные из цилиндра с 12 гранями, каждая вторая из которых была выдавлена (Extrude).

Я создал для них простую анимацию вращения.

gears1

Настройка размытия в движении

Тут всё очень просто. Для начала выбираем объекты, которые должны быть размыты.

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

Мы должны выделить нужные нам объекты по одному или вместе, кликнуть по ним правой кнопкой мыши и выбрать Object Properties.

gears2

В открывшемся окне, на вкладке General мы можем наблюдать группу свойств Moution Blur.

Там можно задать один из трёх вариантов обработки объекта: None, Object или Image.

Стоит отметить, что вариант Image работает быстрее, а Object даёт более красивый результат.

После задания способов размытия объектов, можно перейти к глобальным настройкам размытия движения.

Тут мы должны увидеть пункты показанные на картинке.

Нужно включить пункты размытия соответственно тем, что были выбраны для объектов (Object или Image). Так же, можно установить количество промежуточных положений объектов и количество кадров на которое будет распространятся движение с одного кадра. Честно говоря, имея не самое старое железо и очень простые сцены, я ставлю всё на максимум. На более серьёзных сценах лучше поэкспериментировать с этими настройками выбирая лучшее соотношению качества и скорости. Продолжительность (Duration) лучше не выставлять больше единицы.

1230075

Даже глядя на один кадр, можно увидеть что шестерёнки находятся в движении. Попробуем ощутить этот эффект создав видео.

Создание видеоролика

Жмём на Add Scene Event, выбираем камеру или окно проекции с которого будем снимать рендер.

videopost1

videopost2

Теперь жмём на бегущего человечка (Execute Sequence). Там мы настраиваем диапазон кадров (Time Output) и разрешение будущего видео (Output Size).

Если всё сделано правильно, то должна запуститься визуализация всех кадров, затем в выбранном ранее каталоге должен появиться файл ролика.

Теперь давайте зайдём в настройки рендера (F10) и уберём галки Apply с обоих настроек размытий в движении и повторим рендер видео.

Сравните полученные результаты. Я полагаю что вариант с размытием, всё же, выглядит лучше.

Создание gif анимации

Сам 3Ds Max не поддерживает создания Gif анимаций. Но это не проблема, так как есть множество приложений, позволяющих создать Gif анимацию на основе набора кадров в виде изображений.

Чтобы 3Ds Max на выходе Video Post выдавал набор кадров, сменим тип выходного файла с avi на png и повторим Render.

Описывать принцип его работы я не буду. Там всё просто, надеюсь что вы справитесь сами =)

Главное что вам нужно — указать все кадры (или только нужные) и указать частоту кадров (максимум 10 в секунду).

Мало вводных. Сколько рендерится 1 кадр? Может у вас там лакшари с хрусталями на потолке и 2ух головые зионы рендерят 5 часов на кадр. Тогда дешево. Средяя цена секунды готового видео - 3000 руб. Итого 90000 за все, включая ферму.

Встала задача сделать анимацию помещения. Длина предполагаемого ролика 30сек 25 fps. Решил посмотреть на фермах сколько будет стоить зарендерить все это и ценник меня немного ошеломил. Подскажите, 2500-3000$ это нормальная цена за 750 фреймов? И как вообще оптимально можно создать подобное?

Мало вводных. Сколько рендерится 1 кадр? Может у вас там лакшари с хрусталями на потолке и 2ух головые зионы рендерят 5 часов на кадр. Тогда дешево. Средяя цена секунды готового видео - 3000 руб. Итого 90000 за все, включая ферму.

Забыл сказать, что разрешение картинки 2500px по широкой стороне. На моем 1700x часа 3 рендерится до 2.7% шума

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

приложи один кадр для понимания масштабов происходящего

Встала задача сделать анимацию помещения. Длина предполагаемого ролика 30сек 25 fps. Решил посмотреть на фермах сколько будет стоить зарендерить все это и ценник меня немного ошеломил. Подскажите, 2500-3000$ это нормальная цена за 750 фреймов? И как вообще оптимально можно создать подобное?

Мало вводных. Сколько рендерится 1 кадр? Может у вас там лакшари с хрусталями на потолке и 2ух головые зионы рендерят 5 часов на кадр. Тогда дешево. Средяя цена секунды готового видео - 3000 руб. Итого 90000 за все, включая ферму.

Забыл сказать, что разрешение картинки 2500px по широкой стороне. На моем 1700x часа 3 рендерится до 2.7% шума

Для видео 2,7% не нужно. Хватит и 5% с денойзом. Всеравно немного блюра накидывается на посте. Вам нужно оптимизировать, если не хотите платить много на ферму. Причем как текстуры с моделями, так и удалять все, что не попадает в кадр с чисткой файла (например пруном). Например мои арх картинки рендерятся около 4ех часов. При этом если заказывают видео, при разрешении 1920Х1080 30фпс, умудряюсь уложиться в 2000 руб за 5 секунд на ферму. Итого 12000 за 30 секунд.

Для видео 2,7% не нужно. Хватит и 5% с денойзом. Всеравно немного блюра накидывается на посте.

Плюсую. Не тратьте зря деньги, для видео фактически не будет разницы 2.7 или 5% шума. Ну, если показать в двух вариантах, то разницу можно будет заметить, конечно, а если показать только 5%-ный вариант, то никто и не заподозрит что что-то не так. Плюс денойз конечно, он даст капельку мыла, но оно не страшно для видео.

GreatWhiteShark 2.7 конечно избыточно даже для статики и при снижении шума время растет почти по экспоненте, но тут все зависит от того,что именно надо рендерить, чем больше всяких мелких деталей, тем меньше возможности оставить высокий шум, если это экстерьер, то 5% шума вообще не проблема, а если сложный интерьер с кучей мелкого декора, то при денойзе будет весьма заметный флик, типо как при ирмапе в вирее, из-за того, что денойз несогласован между кадрами и для каждого кадра уникален, и чем меньше шума в оригинале тем чище работает денойз между кадрами

этот параметр вообще не показателен на самом деле, потому что он меряет количество шума по всей площади кадра и усредняет, если скажем 60% кадра небо, а остальные 40% сильно в тени, то уровень шума будет показывать небольшой за счет чистого(безшумного неба), а в тенях будет шумная каша. Для интерьера это параметр более менее соответствует значениям.

Сложно тут что то советовать автору, не видя, что он рендерит, интерьер/экстерьер, статика/динамика

Читайте также: