Студия характеров

Студия характеров

Если вас спросят, что такое 3D-графика, отвечайте так: "Во-первых, это движение, то бишь анимация, и уже только во-вторых — геометрически правильное отображение объекта". Если программа гордо именует себя графическим пакетом, и при этом результатом ее работы является только статическое изображение, то есть один кадр, то такая утилита неполноценна. Если в сцене отсутствует динамика, работа выглядит сухо и безжизненно, а если еще и неправильно подобраны текстуры, то и вовсе удручающе. Присутствие в сцене какого-нибудь действия, например, ходьбы человека, отвлечет внимание зрителя от мелких недостатков неподвижных объектов. Да и вообще, какая же это была бы 3D-графика, если бы нельзя было смоделировать человека?! Что ж, сегодня поговорим о "характерных особенностях человекодвижения".

В повседневной жизни наши движения настолько естественны и привычны, что мы не думаем, например, запрокинуть ли нам голову во время смеха или пригнуться, проходя под низким навесом. Моделирование же подобного поведения в мире 3D сопряжено с множеством подводных камней, и воссоздать жесты человека не так-то просто. Именно поэтому для упрощения задачи применяется следующий способ: на тело подопытного навешивается большое количество датчиков, которые фиксируют перемещение любой части тела в пространстве и подают соответствующий сигнал на компьютер. Тот, в свою очередь, полученную информацию обрабатывает и использует ее по отношению к некоторой модели. Имитация движения трехмерных существ производится по такому принципу: вначале строится скелет, в котором иерархично взаимодействуют его составляющие — кости (bones). Затем при помощи какого-нибудь 3D-пакета на этот скелет "натягивается" оболочка (skin).
Character Studio ( http://www2.discreet.com/games ) — это, пожалуй, самый мощный инструмент для работы с анимацией персонажей (рис.1). С Character Studio пытались конкурировать многие продукты, но даже те из них, которые добились хоть каких-нибудь результатов, все равно совместимы с названной программой. Это еще раз доказывает, что на сегодняшний день она на первом месте.

Итак, Character Studio — это огромный плагин, предлагающий три основных направления в работе.
Первое — Biped (двуногий). Character Studio моделирует скелет практически любого двуногого создания и задает его поведение. Второе — модификатор Physique (телосложение). С его помощью можно "надеть" на скелет оболочку.
И третье направление — Сrowd (толпа) — анимирует группы 3D-персонажей, используя систему связей и поведения.
Чтобы лучше разобраться с интерфейсом Character Studio, продемонстрируем ее возможности на примере. Допустим, в арсенале 3D-аниматора имеется некая модель человека. Если вы работаете с Character Studio в первый раз, такую модель можно взять из программы Poser. Модель можно импортировать в 3D Studio Max, например, при помощи плагина Maximum Pose.
Нажатием на кнопку Biped (Командная панель > закладка Create > категория Systems > кнопка Biped) создается новый объект — bip 01. Перед вами возникнет скелет двуногого существа (рис.2). Справа от окон проекции в свитке Create Biped находятся все параметры, отвечающие за анатомические особенности модели. Строение скелета, конечно же, максимально упрощено. Вместо, скажем, костей рук и ног взяты параллелепипеды. Оно и понятно — ведь для прорисовки движений любого существа требуется указать не все, а лишь те кости, которые представляют собой опорно-двигательный аппарат. Среди прочих настроек системы костей Biped бросается в глаза то, что можно менять количество пальцев на руках и ногах, равно как и число позвоночных и шейных костей от одной до пяти. Помимо этого, имеется возможность добавить немножко "нестандартные" типы костей для таких "нестандартных" персонажей, которые будут иметь хвост или гриву. Наряду с этим регулируется присутствие-отсутствие костей рук вообще.

Итак, скелет есть, оболочка тоже. Теперь их необходимо совместить и подогнать по размеру. Выделяем из списка всех объектов сцены, основную часть которого теперь составляют в большинстве своем кости скелета, строчку Bip01. После этого можно перемещать модель "бипеда", совмещая его, насколько это возможно, с фигурой человека.
Настройки системы костей переместятся из закладки Create на закладку Motion, в самый последний свиток — Structure. На первом свитке включим режим Figure Mode и, не выходя из него, поочередно будем выделять и перемещать составляющие скелета. Основная задача заключается в том, чтобы кости оказывались внутри оболочки и располагались там по возможности как можно более естественно. Правдоподобность в движении конечной модели человека будет зависеть от того, насколько тщательно удалось совместить все элементы скелета и внешней оболочки.
Поскольку скелет симметричен, часто приходится выполнять одни и те же действия с обеих сторон. Например, нужно поднять правую руку, а потом точно так же — левую. Если в закладке Motion развернуть свиток Track Selection и нажать на кнопку Symmetrical, то все действия, которые будет производить человечек на экране, станут отображаться симметрично (рис.3). А для того, чтобы мгновенно перейти на симметрично расположенную косточку, предназначена кнопка Opposite, находящаяся там же. Форма костей у каждого существа своя, и это обстоятельство вынуждает каким-нибудь способом регулировать размеры (длину и толщину) каждой из них.
После того, как будут правильно расположены скелет и внешняя оболочка, переходим в режим Rubber Band Mode, кнопка включения которого находится в свитке General общих настроек Biped. Сейчас можно управлять формой отдельно взятой bone. Если попытаться переместить кость в окне проекции, то ее форма изменится и начнет вытягиваться — так, как если бы она была сделана из резины, отсюда и название режима (Rubber). Величина элементов скелета изменяется обычной функцией Scale (правая кнопка мыши — Scale).

Когда все размеры подогнаны, нужно воспользоваться модификатором Physique (Командная панель > закладка Modify > группа Object Space Modifiers > строчка Physique). Применяется он к внешней оболочке будущего персонажа Character Studio. Оживление персонажей — процесс очень трудоемкий, поэтому необходимо набраться терпения. Скелет двуногого существа состоит из иерархично связанных компонентов, поэтому удобнее "приаттачивать" к нему не сразу всю Mesh, а по отдельности (конечно, если позволяет сцена), то есть сначала руки и плечи, затем ноги, а под конец — и все остальное. В свитке с таким же названием, как у модификатора, Physique, имеется кнопка, на которой нарисован человечек. Если подвести мышку в это место, можно прочитать название — Attach to Node. Это значит "присоединить оболочку". После нажатия этой кнопки выбирается элемент скелета, главный в той группе костей, на которую одевается внешняя оболочка. На экране возникнет окно под названием Physique Initialization. Модификатор Physique по своему принципу немножко напоминает другой, стандартный — Skin. В месте, где кожа изгибается, вокруг выбранной кости будет построена огибающая в форме капсулы (Envelope). В окне проекции вершины той части оболочки, которая охвачена огибающей, окрасятся в разные цвета. Цвета вершин символизируют их "вес", то есть степень воздействия на них перемещений текущей кости. Огибающая состоит из внешнего и внутреннего контура, а также содержит два поперечных сечения в форме кругов. Чтобы модифицировать характер сгиба оболочки, нужно изменить размер сечений огибающей или настроить "вес" каждой из вершин.
Однако вернемся к окну Physique Initialization. В нем вы найдете несколько свитков с параметрами, определяющими начальные настройки огибающей. Пока их можно оставить без изменений и нажать кнопку Initialize. Теперь переходим вновь на закладку Motion. Отключив режим Figure Mode, загрузим файл, в котором хранится информация о движении скелета. Расширение этого файла *.bip, его можно найти среди разнообразных примеров, предложенных разработчиками.

Теперь проиграем анимацию, нажав кнопку Play Animation. Результат виден после того, как вы нажмете на кнопку Biped Playback в закладке Motion (свиток Gene-ral). Но в последнем случае двигаться будет только схематично нарисованный персонаж, в то время как при Play Animation видна вся анимация без упрощения. Двуногий человечек совершает определенные действия: прохаживается, разгоняет пчел, размахивает руками и многое другое.
Но не обошлось и без проблем. Оболочка "надета", но имеет множество недостатков. Во-первых, есть большая вероятность того, что некоторые вершины не попадут под действие огибающей, поэтому на экране форма оболочки сильно исказится, как будто она прибита гвоздями к полу. Во-вторых, несмотря на все старания, не получится добиться правильного соотношения размеров скелета и оболочки. Чтобы исправить первый недостаток, нужно перейти на закладку Modify и развернуть модификатор Physique, после чего проследовать на строчку Vertex (вершина). На командной панели появится свиток Link-Assignment. Здесь расположены кнопки Select, Select by Link, Assign to Link, Remove from Link, Lock Assignments, Unlock Assignments, Type-in Weights, Hide и Unhide All. Для того, чтобы убрать "прибитые гвоздями" вершины, нужно нажать кнопку Select и выделить в сцене неудавшиеся вершины. Затем нажимаем Assign to Link и указываем, к какой кости мы хотим закрепить выбранные vertex. Можно также совершить обратную операцию: выбрать вершины той же кнопкой Select, после чего нажать на Remove from Link и указать элемент, с которым желательно порвать отношения.

Для решения второй проблемы потребуется также развернуть модификатор Physique, после чего перейти уже на строчку Envelope. Теперь появилась возможность редактировать оболочку на уровне огибающей.
Чтобы при проигрывании анимации общий скелет не был виден, можно пойти двумя путями. Более простой — поставить галочку напротив Hide Attached Nodes в свитке Physique Level of Detail. Второй метод — выделить сам скелет, затем нажать правую кнопку мышки и выбрать Properties. Далее в окне следует выставить параметр Visibility на ноль.
Когда настройка модификатора Physique будет завершена, результат можно сохранить с расширением *.phy, нажав на кнопку Save Physique File в свитке Physique. Таким же образом при помощи Open Physique File в дальнейшем его можно открыть.
Конечно, вся Character Studio не исчерпывается только описанными возможностями: программа, например, позволяет в т.ч. по нарисованным следам, расположение которых вы указываете сами, создать имитацию ходьбы персонажа. При этом результат сохраняется/загружается в файле с расширением *.stp.

Сергей Бондаренко, Марина Двораковская, blackmore_s_night@yahoo.com


Компьютерная газета. Статья была опубликована в номере 04 за 2003 год в рубрике soft :: графика

©1997-2024 Компьютерная газета