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

Обновлено: 29.06.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 (по ключевым кадрам) и сделали несложную анимированную сценку. Опираясь на материал, изложенный в статье, вы сможете задать движение простого объекта по определенной траектории — например, сымитировать полет авиалайнера, бросок и падение мяча, движение объектов по наклонной плоскости и даже ходьбу игрового персонажа.

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

''), array("string" => ''), ); if (!isset($_COOKIE['rek'])) < print($banners[$GLOBALS["banner_num"]]["string"]); >elseif ($_COOKIE['rek'] == "rek1") < print($banners[0]["string"]); >elseif ($_COOKIE['rek'] == "rek2") < print($banners[1]["string"]); >?>

Анимация Pivot Point стандартными средствам 3ds Max: контроллер CATHDPivotTrans

Анимировать Pivot Point в 3d Max 2010, 3ds Max 2009 и ниже нельзя стандартными средствами. Но вот если у вас 3d Max 2011 или 3ds Max 2012 (т.е. версия с CAT), то это можно сделать и очень легко.

Если вы раньше не задумывались об анимации опорной точки, то скажу по секрету, что анимация центра вращения в 3ds Max открывает широкие возможности.

Но сначала нужно выполнить небольшую махинацию. Достаточно создать куб (или любой другой объект, для которого нужно проанимировать опорную точку), зайти на панель Motion (движение), раскрыть свиток Assign Controller (назначить контроллер), выбрать главную трансформу, нажать кнопку Assign Controller и, в открывшемся окне Assign Transform Controller, выбрать новый контроллер CATHDPivotTrans.

В этом случае, если говорить грубо, то ничего для вашего объекта не изменится за исключением того, что у вашей модели появится возможность анимировать точку поворота. Об этом говорит новая трансформа, которая появилась в самом низу - Pivot: Bezier Position:

Выбор подобъекта PivotControls для анимации опорной точки в 3ds Max

Также, на месте старого Pivot'а, добавилось новое синее перекрестье, которое и будет играть роль центра вращения. Чтобы его анимировать, достаточно зайти на уровень подобъектов (т.е. просто нажать кнопку Sub-Object под надписью Selection Level), что автоматически активирует возможность анимации новой опорной точкой (PivotControls).

Теперь можно спокойно нажимать кнопку Auto Key для автоматической установки анимационных ключей и пользоваться всеми безграничными возможностями анимированного центра вращения.

На закуску смотрите англоязычный урок про анимацию перекатывающегося куба с помощью анимации центра вращения в 3ds Max 2012:

Подпишитесь на обновление блога (вот 3 причины для этого).

Похожие статьи:


Вам понравилась статья ? Хотите отблагодарить автора? Расскажите о ней друзьям.
Или подпишитесь на обновление блога по E-Mail.

1. Создаем сферу в центре координат с радиусом 50: Standart Primitives - Sphere - Keyboard Entry - Radius:50 - Create

2. Открываем редактор материалов: Rendering - Material Editor и загружаем текстуру в реестр материалов: Diffise - Bitmap - указать текстуру. Выбранная текстура отобразится на выделенном шарике.

3. Текстурируем сферу: Выделяем сферу и выполняем Assign Material to Selection. Для наглядности можно включить Show Standart Map in Viewport, чтобы текстура отображалась на сфере в окне редактирования.

4. Переходим собственно к анимации. Поворот планеты - 360 градусов. Считаем, что в нашей анимации нам достаточно 36 кадров на каждом из которых планета будет повернута на 10 градусов. Настраиваем шкалу анимации: Правой кнопкой мышки щелкаем на кнопке воспроизведения анимации и в открывшемся окне настроек выставляем End Time: 36. После нажатия Enter временная шкала внизу пересчитается на 36 делений.

5. Default In/Out Tangents for New Keys - выставляем в линейный. Это необходимо, чтобы планета вращалась равномерно. Если оставить значение по умолчанию, совершая полный поворот, планета сначала будет укорять, а потом замедлять вращение.

6. Переходим к расчету кадров вращения: Auto Key - переводим бегунок анимации в крайнее положение - выбираем контроллер вращения - в окне проекции Left цепляем мышкой горизонтальную линию (вращение вокруг оси Z) - тянем вправо, обеспечивая поворот на 360 градусов (точно можно не подгонять - подправим на следующем шаге).

7. Так как точно на 360 градусов повернуть сферу мышкой сложно, подкорректируем значение поворота на последнем кадре. Для этого щелкнем правой кнопкой мышки на белом прямоугольнике под 36-м кадром - выбрать Sphere 01: Z-Rotation - установить значение Value: 360.

8. Анимация создана. Можно отключить Auto Key и двигая бегунок анимации вперед-назад или же нажав кнопку проигрывания анимации, наблюдать за вращением нашей планеты.
Однако никакая планета не вращается вокруг вертикальной оси. Всегда есть наклон. Сделаем наклон оси и нашей планете. Использовав контроллер вращения в окне проекции Left захватываем мышкой линию вокруг сферы (вращение вокруг оси X) и обеспечиваем наклон в 15 градусов.

9. Однако наклонив планету, мы словили неприятный момент: если снова включить проигрывание анимации, планета будет, как и раньше, вращаться вокруг вертикальной оси Z а не вокруг локальной оси, которую мы наклонили и чего добивались. Происходит это потому, что все вращения задаются в 3D MAX через так называемые углы Эйлера, а при таком способе задания трансформаций важен порядок указания осей, вокруг которых происходит вращение тела (нашей сферы). Меняем порядок указания осей: Закладка Motion - Parameters - Rotation - Axis Order - выбираем такой порядок осей, чтобы ось Z (вокруг которой вращается сфера) шла бы первой - ZXY. Снова запустив проигрыватель анимации мы видим, что сфера вращается именно так, как и требовалось.

10. Создание набора спрайтов для анимации: Rendering - Render Setup - Common - Time Output - выбираем Active Time Segment 0 to 36. В Output Size устанавливаем нужный нам размер выходной картинки Widt:100 и Height:100. В Render Output - Files указываем директорию, куда будут сложены готовые спрайты и их формат и жмем Render

11. После завершения процесса рендеринга в указанной директории будут созданы 36 спрайтов с анимацией планеты. К сожалению, 3D MAX не умеет сам собирать анимацию в формат анимированного gif, но готовые спрайты можно элементарно собрать в любой программе, это умеющей, например Macromedia Flash Mx или Adobe Flash Builder. При сборке нужно учесть, что 36-й кадр у нас повторяет 1-й и его можно выбросить. В итоге получится вот такая анимация:

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


Приступим к анимации маятника. Сначала нужно переместить центр вращения объекта в самый верх. Для этого во вкладке Hierarchy выбрать Pivot - Affect Pivot Only и переместить в самый верх как на скриншоте:


Теперь непосредственно об анимации. В низу экрана вы видите Track Bar, изначально длинной в 100 кадров (число кадров можно изменить). На этом трэкбаре отображаются специальные ключи (разноцветные квадратики). Каждый объект имеет свои ключи. Каждый такой ключ хранит определенное значение позиции или вращения или размера объекта.

Для ручного создания ключей нажмите на кнопку Set Key. Далее если нужно поставить ключ, просто нажимайте на иконку ключа ( на скриншоте обозначил зеленой галочкой).

В нулевом кадре поверните маятник в начальное положение и создайте ключ:


Теперь перейдите на 50ый кадр, поверните маятник в другое крайнее положение и вновь создайте ключ:


Последний ключ создайте на 70-80 кадре когда маятник останавливается над столом.

В итоге при проигрывании анимации должно получится примерно следующее:

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


Далее будем создавать ключи в автоматическом режиме. Для этого смените режим Set Key на Auto Key.

Теперь когда вы будете передвигать\вращать чайник, на выделенном кадре автоматически будет создаваться ключ анимации. Итак, перейдите на пару кадров вперед и переместите чайник так, что бы он был слева от маятника:


Создайте ещё несколько ключей анимации в середине пути, а последний ключ в конце падения на пол:


Для того, чтобы посмотреть траекторию движения объекта, нужно кликнуть по нему правой кнопкой мыши, выбрать Object Properties и поставить галочку в поле Trajectory:


В итоге мы имеем анимацию падающего чайника, но необходимо создать ещё и вращение. Для этого, переключитесь на Set Key и в ручную поставьте ключ анимации в начале падения чайника, далее снова в режиме Auto Key создайте ещё пару ключей, поворачивая чайник по мере его падения:

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