При создании анимационных роликов самое сложное и захватывающее — настройка и управление анимацией персонажей. Многие об этом мечтают, некоторые пытаются делать, и только единицы достигают цели упорным трудом. Знание же индивидуальных особенностей наиболее популярных 3D-пакетов, описанных в предлагаемой статье, надеюсь, увеличит число добившихся успеха. У остальных же появится новый повод для обсуждения вопроса, какой 3D-редактор самый-самый.

Конкурсанты

Для обзора возможностей средств анимации я решил рассмотреть два пакета — 3dStudioMax 4 и LightWave3D 7. Почему выбран первый, долго объяснять не нужно. Уже несколько лет у большинства мало-мальски «продвинутых» пользователей этот пакет ассоциируется с 3D-графикой. Второй также имеет богатую историю и пользуется заслуженной популярностью, но уже в среде профессионалов, чей стаж в киноиндустрии исчисляется пятью и более годами. Впрочем, теперь и у любителей появилась возможность ознакомиться с этой замечательной программой благодаря книге Дэна Аблана «LightWave3D 6/7 для дизайнера» (Киев: DiaSoft, 2002). Отмечу, что именно из-за отсутствия литературы о данном пакете он до сих пор пребывал в неизвестности у нас в стране.

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

Знакомство

Итак, мы имеем две программы примерно равных возможностей, принадлежащие к одному классу. Обе они ориентированы на весьма широкий круг задач: от создания элементов сцен для 3D-игр, сцен для Shockwave-проигрывателя до анимационных фильмов кинематографического качества. Поэтому рассмотрим только основные отличительные особенности программ.

Интерфейс 3dStudioMax большинству пользователей кажется знакомым, так как он построен на основе, ставшей уже классической для Windows-приложений. Пакет LightWave3D, напротив, пришел из мира Unix и Atari. На первый взгляд его система меню может сбить с толку, но на самом деле здесь все организовано весьма удобно. Впрочем, и у той и у другой программы интерфейс очень гибко настраивается: предусмотрено большое число команд, с помощью которых можно управлять рабочим пространством в широких пределах.

Интерфейс программы 3dStudioMax 4

Но основное различие заключается в том, что интерфейс LightWave3D разделен на два модуля: Modeler и Layout. При этом персонажи со множеством настроек сохраняются в отдельных файлах с расширением .LWO. А в 3dStudioMax все записывается в один файл сцены. Поэтому для вставки или замены объекта в LightWave3D нужно выбрать только имя файла, в 3dStudioMax — сначала имя файла, а потом (из списка моделей, представленных в сцене) название необходимого объекта. Можно спорить сколько угодно, какой вариант лучше, но все же для крупных и долговременных проектов раздельная схема значительно удобнее.

Работать с более ранними версиями программ было еще труднее: в 3dStudioMax приходилось «извлекать» модели из файлов для вставки их в другую сцену вручную, а формат представления моделей в LightWave3D имел существенные ограничения, из-за чего в одном файле нельзя было представлять комплексные объекты из множества составляющих.

Интерфейс модуля Layout программы LightWave3D 7

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

После интерфейса обращает на себя внимание высокое качество рендеринга. В прошлом году в редакции журнала PC Magazine проводилось тестирование на качество рендеринга наиболее популярных 3D-пакетов, в том числе и рассматриваемых в данной статье. Лучшим был признан LightWave3D. Но все же хочу отметить, что этот фактор не имеет значения при разработке игр или 3D-сайтов*, а кроме того, существует несколько систем рендеринга (к примеру, RenderMan), которые можно подключать к обеим программам. Впрочем, такой подход требует не только значительных финансовых затрат, но и дополнительной настройки и самой программы, и материалов, используемых в сцене.

Цена пакетов также существенно различается. Программа LightWave3D стоит 2500 долл., а 3dStudioMax — около 4500 долл. При этом в цену последней не входит стоимость модуля Character Studio — основного средства анимации персонажей, а также инструментов для моделирования реалистичных волос, качественной эмуляции мягких материалов и создания анимируемой одежды. Таким образом, в ценовой сфере LightWave3D выигрывает.

Тем не менее программа 3dStudioMax приобрела самую широкую популярность благодаря усилиям разработчика — компании Kinetix — по продвижению ее на российский рынок: издавалась специализированная литература, появлялись новые дистрибуторы. И отличная поддержка пользователей — вот, пожалуй, основной фактор популярности 3dStudioMax.

Рассмотрим теперь непосредственно средства анимации персонажей.

Концептуальный подход

Модели, созданные в программе 3dStudioMax 4

Развитие средств анимации различных программ графически можно представить в виде конусов с единым основанием и смещенными вершинами. Сначала каждый производитель определяет свои методы анимации. Потом оказывается, что такой точки зрения придерживаются еще несколько разработчиков, и данный метод совершенствуется, обрастает новыми приемами и техниками. В итоге через несколько лет любой 3D-редактор использует метод анимации, мало чем отличающийся от предлагаемых конкурентами. Так было с классической техникой анимации костей — морфингом, теперь это происходит с модулями нелинейной анимации. (Исключением остается лишь метод, применяемый в Character Studio.)

Итак, классический метод анимации костей — 3dStudioMax против LightWave3D. Классическими в данном случае я называю средства управления, которые есть в каждом 3D-редакторе и для применения которых не требуются какие-либо дополнительные модули, а только основные механизмы 3D-редактора. Это средства построения скелета, настройки области и характера их влияния на анимируемый каркас, инверсной кинематики и ее настройки, стандартные механизмы анимации редактора.

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

Конечно, такой способ построения иерархических структур есть и в LightWave3D, но в 3dStudioMax это делается нагляднее. Так, в этой программе имеются гибкие и развернутые средства управления размещением центров вращения объектов (pivot point). Их настройка — первое, что нужно сделать после расстановки объектов. Можно использовать различные методы выравнивания как отдельных объектов, так и их составляющих. В LightWave3D таких средств нет, и все приходится делать вручную. Кроме того, в 3dStudioMax имеются инструменты визуального связывания объектов. Достаточно отметить дочерний объект и с нажатой клавишей мыши переместить курсор на родительский, после чего кнопка отпускается, а объекты становятся связанными. У конкурента эти операции осуществляются через список, элементы которого так быстро прокручиваются, что для выбора нужного необходима немалая сноровка (впрочем, задачу можно упростить, вводя имена объектов вручную).

Такая ситуация весьма характерна для сравнения исследуемых продуктов: 3dStudioMax функционально более насыщен, в нем имеются гибкие настройки. С одной стороны, это подкупает (приятно чувствовать, что у тебя в руках мощный и послушный инструмент), а с другой — зачастую мешает работе, так как нередко простые операции оборачиваются серией из нескольких (необходимая дань гибкости).

Но у LightWave3D есть своя изюминка, которая большинству аниматоров покажется весьма интересной. В этой программе скелетон можно выстроить непосредственно в Modeler. Каждая кость рисуется в ортогональной проекции как отрезок прямой. При этом иерархическое связывание осуществляется автоматически. Такая сложная процедура, как построение скелетона человека, в Modeler занимает всего две-три минуты даже у не очень опытных пользователей. И если ранее одной из задач была автоматизация построения скелетонов, то сейчас в этом нет необходимости: построить скелетон почти так же просто, как нарисовать карандашом человечка из отрезков.

Настройка областей влияния. Трудно поверить, но в 3dStudioMax до версии 3.0 не было средств «прикрепления» костей к каркасу персонажа (уточню, что речь идет о персонажах с органической, гибкой поверхностью). Такой подход лишил пользователей возможности анимировать реалистичные поверхности живых существ стандартными средствами. Для этого приходилось применять весьма недешевые пакеты BonusPro или Character Studio (последний, например, стоит 1500 долл.). Но вот в 3dStudioMax появился модификатор Skin («Кожа»), и это был настоящий прорыв. Анимация персонажей с органической поверхностью стала доступной всем пользователям пакета. Принципы работы модификатора были во многом позаимствованы из Bonus Pro. Модификатор Skin имеет все необходимое для тщательной настройки зон влияния и гораздо более удобен, чем аналог конкурента.

Модели, созданные в программе LightWave3D 7

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

Инверсная кинематика. Это, пожалуй, самое больное место 3dStudioMax. Несмотря на множество функций и их настроек, данный метод был очень некачественным вплоть до версии 4.0. Добиться с его помощью точных результатов при имитации ходьбы было невозможно. Но основным камнем преткновения оказывалось то, что инверсная кинематика работала только с контроллером Эйлера, и ни с каким другим (в этой программе контроллерами называются отдельные функции, которые выполняют интерполяцию значений между заданными значениями параметра). Причем контроллер Эйлера по умолчанию никогда не назначался. Поэтому добиться положительного результата можно было только после тщательного изучения документации.

Такое игнорирование разработчиками классических принципов работы с костями объяснялось тем, что главным инструментом анимации персонажей являлся пакет Character Studio. Судя по процессу эволюции 3dStudioMax, эта позиция теперь считается ошибочной и с каждой версией корректируется. Последнее влияет на цену пакета, которая постепенно растет.

В пакете LightWave3D инверсная кинематика, как и средства настройки влияния костей, уже в нескольких версиях не претерпевает существенных изменений. Впрочем, механизм отлажен достаточно хорошо и особых нареканий не вызывает. Хотя настроек в нем меньше, чем в 3dStudioMax, сам процесс конфигурации позволяет достичь качественного результата значительно быстрее.

Стандартные средства анимации. Это, пожалуй, единственная область, в которой LightWave3D и 3dStudioMax имеют примерно равные возможности. Наряду с простейшим методом анимации по ключевым кадрам в обоих редакторах используется анимация по пути, процедурные типы анимации на основе математических формул и проч. У 3dStudioMax, как всегда, более насыщенная функциональность и более сложные настройки, в LightWave3D функций вполне достаточно, а настройки нагляднее.

Специализированные модули

А теперь о самом «вкусненьком» — Character Studio и Motion Mixer. Первый пакет — постоянный спутник 3dStudioMax и с давних пор считается самым главным средством анимации персонажей. Второй инструмент появился в версии 7.0 LightWave3D и представляет собой более универсальную анимационную надстройку, с помощью которой удобно анимировать не только персонажи, но и все, что двигается.

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

Пакет состоит из двух частей — модификатора Physique и модуля Biped. Первый служит только для привязки каркаса к скелетону, который может быть взят из Character Studio либо построен из стандартных костей или объектов 3dStudioMax. Второй является контроллером анимации и необходим для управления скелетоном, созданным на основе имеющегося в Character Studio.

Модификатор Physique — сложнейший и очень мощный инструмент, более мощного аналога вы не найдете ни в каком другом графическом редакторе. Пользователь может очень тонко настраивать связи каркаса персонажа со скелетоном. Можно выбирать способы связи: по отдельным вершинам (vertex), назначая вершины нужной кости; по поперечным сечениям (crossection), управляя объемными зонами вокруг костей. Можно редактировать связи и проч.

Однако эта сложность и гибкость больше всего и смущает. Для получения качественного результата придется очень хорошо потрудиться, и все, кто занимался настройкой связи каркаса со скелетоном с помощью Physique, согласятся, что данная задача гораздо сложнее, чем могла бы быть. Поэтому большинство предпочитают работать с более традиционными средствами — Bonus Pro и Skin.

Модуль Biped позволяет создать скелетон буквально одним движением. При этом у вас появится модель скелета с уже полностью настроенными костями, связями и отличной инверсной кинематикой, которая в Character Studio имеет собственный алгоритм. Именно Biped, на мой взгляд, наилучшее средство работы с двуногими персонажами, пользователю которого может позавидовать обладатель любого другого 3D-редактора. В Biped имеется большой набор готовых скелетонов, причем можно, выбрав любой из них, сразу назначить ему один из множества имеющихся вариантов анимации. Кстати, удобство работы с анимационной библиотекой и коллекцией скелетонов в Character Studio просто непревзойденное.

Интерфейс модуля анимации Motion Mixer программы LightWave3D 7

В Biped предусмотрена возможность очень тонко настраивать уже готовые эпизоды. Судите сами: в арсенале аниматора есть инструменты управления ходьбой путем перемещения следов ног, можно создавать свободную анимацию на основе ключевых кадров, совмещать анимацию шагов со свободной, привязывать части скелетона к другим объектам сцены (к примеру, ноги к педалям велосипеда или мячу). Кроме того, можно управлять и самими траекториями движения костей, для чего необходимо перейти в режим редактирования траектории и перемещать вершины пространственной кривой в нужном направлении.

В общем, о Biped можно писать очень много, но главное, что с этим средством анимации персонажей пока никакое другое тягаться не способно.

Модуль анимации Motion Mixer поклонники LightWave3D 7 ждали давно, так как в этом пакете анимацию персонажей приходилось делать вручную, при помощи ключевых кадров, а средств сохранения и загрузки эпизодов не было (впрочем, данная задача решалась при помощи языка сценариев lscript). Как читатель, наверное, уже догадался, Motion Mixer, подобно Biped, является инструментом анимации групп объектов. Но в этом модуле работают совершенно другие принципы.

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

Фактически модуль Motion Mixer представляет собой средство управления отрезками анимации совокупностей объектов. То есть можно создать отрезок анимации какой-либо конструкции и сохранить его в файле, объединять различные отрезки, управлять переходами между ними. Возможно объединение как по времени, так и по функциональности. В первом случае вы просто склеиваете отдельные отрезки анимации одного и того же объекта, в результате чего получается последовательная анимация нескольких эпизодов. В случае объединения по функциональности отдельно создается, скажем, анимация ходьбы и анимация жестов кисти, а потом они в различных сочетаниях применяются к персонажам.

Управление отрезками анимации групп объектов в последнее время стало популярным и в других 3D-редакторах. Но такой метод более сложен, так как в этом случае трек анимации имеет многослойную структуру, а одна секунда движения состоит из множества коротких отрезков на множестве параллельных полос (каждая полоса в Motion Mixer представляет собой трек для отдельной кости).

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

Заключение

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

В области кинопроизводства и высококачественного графического дизайна бесспорно лидирует LightWave3D. Это в первую очередь связано с высоким качеством рендеринга и великолепными средствами моделирования. А в области профессионального дизайна в пользу LightWave3D говорит еще и тот факт, что версии 3dStudioMax для основной платформы дизайнеров, Apple Macintosh, просто не существует.

Что касается компьютерных игр, Web-сайтов и анимационных фильмов, в которых реалистичность изображения не является необходимым качеством, то для их создания 3dStudioMax окажется одним из лучших инструментов.

Ну и последнее — пожалуй, самое главное. Если вы собрались создать киностудию, то набрать штат специалистов по LightWave3D будет на порядок сложнее. Так что жизнь сама расставит точки над «i».

С автором можно связаться по e-mail: vit3d@mail.ru.


* Имеется в виду software-рендеринг, который в играх не используется. Тем более что он и не может быть использован, поскольку рендер LightWave является закрытым и отдельно от программы не распространяется, да и в принципе предназначен для медленного, но качественного рендеринга.