08 октября 2007
Обновлено 17.05.2023

Жизнь в движении. Основы анимации в 3DS Max

Жизнь в движении. Основы анимации в 3DS Max - изображение обложка

Многие начинающие игростроевцы, которые только приступают к изучению 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 , чтобы сохранить изменения и закрыть окно свойств объекта.

Движемся дальше. Щелкните по кнопке Select and Move (значок с изображением пересекающихся стрелок) на панели инструментов или же воспользуйтесь горячей клавишей W для активации режима перемещения объектов. Передвиньте мячик (сферу) к верхней части стены. Подтяните бегунок временной линии сначала на первый, а потом на тридцатый кадр. Если вы все сделали правильно, то увидите, что сфера будет двигаться по прямой линии, а на временной шкале появятся два красных прямоугольника. Это и есть ключевые кадры созданной анимации. Именно в них было зарегистрировано перемещение сферы.

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

Поскольку настоящий мяч не может двигаться по абсолютно ровной линии, необходимо подправить траекторию его полета. Поместите бегунок временной линии на 15-й кадр и в режиме Select and Move (клавиша W ) переместите мяч на несколько делений вверх по оси Z, дабы траектория движения приняла более естественную форму — отклонилась от прямой. Теперь перейдите к 45-му кадру и измените положение мяча таким образом, чтобы он коснулся плоскости.

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

Передвиньте ползунок временной линии на 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 ViewCurve Editor и просмотрите полученную анимацию. Анимация готова.

Motion Capture

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

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

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

* * *

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

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

Комментарии
Чтобы оставить комментарий,Войдите или Зарегистрируйтесь