CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Максимальный 3D MAX

Сергей БОНДАРЕНКО, Марина ДВОРАКОВСКАЯblackmore_s_night@yahoo.com

(Продолжение, начало в МК № 37 (156), 39—47 (158—166), 49—52 (168—171))
Если вас спросят, что такое 3D-графика, отвечайте так: «Во-первых, это движение, то бишь анимация, и уже только во-вторых — геометрически правильное отображение объекта». Если в сцене отсутствует динамика, изображение выглядит сухо и безжизненно, а если еще и неправильно подобраны текстуры, то и вовсе удручающе. Присутствие в сцене какого-нибудь действия, например, ходьбы человека, отвлечет внимание зрителя от мелких недостатков неподвижных объектов. Да и вообще, какая же это была бы 3D-графика, если б невозможно было смоделировать человека?! Что ж, пришла пора поговорить о «характерных особенностях человекодвижения».

В повседневной жизни наши движения настолько естественны и привычны, что мы не думаем, например, запрокинуть ли нам голову во время смеха или пригнуться, проходя под низким навесом. Моделирование же подобного поведения в мире 3D сопряжено с множеством «подводных камней», и воссоздать жесты человека не так-то просто. Именно поэтому для упрощения задачи применяется следующий способ: на тело подопытного навешивается большое количество датчиков, которые фиксируют перемещение любой части тела в пространстве и подают соответствующий сигнал на компьютер. Тот, в свою очередь, полученную информацию обрабатывает и использует ее по отношению к некоторой модели. Имитация движения трехмерных существ производится по такому принципу: вначале строится скелет, в котором иерархично взаимодействуют его составляющие —кости (bones). Затем при помощи какого-нибудь 3D-пакета на этот скелет «натягивается» оболочка, так сказать, кожа (skin). Так как фантазия природы бесконечна, и форма скелетов у каждого существа своя (а у некоторых их вообще нет :-)), то остановимся на рассмотрении телодвижений, которые производит человек, царь зверей :-).

Все, кто устанавливал на компьютере 3DSMax, обращали внимание на небольшой довесок под названием Character Studio 3.1 (http://www2.discreet.com/games). Последний является, пожалуй, самым мощным инструментом для работы с анимацией персонажей. Это огромный плагин, предлагающий три основных направления в работе.

Первое — Biped (двуногий). Character Studio моделирует скелет практически любого двуногого создания и задает его поведение. Второе — Physique (телосложение). С его помощью можно «одеть» оболочку на скелет. И третье направление — это Сrowd (толпа) — анимирует группы 3D-персонажей, используя систему связей и поведения. Чтобы лучше разобраться с интерфейсом Character Studio, продемонстрируем ее возможности на примере. Допустим, в арсенале бойца-аниматора имеется некая модель человека. Для первого раза ее можно взять из детского Позера (Poser). Модель экспортировать в *.3ds (напрямую или при помощи плагина Maximum Pose (cм. МК № 51-52 (170-171)), а затем импортировать в Макс. Работа с плагином начинается тогда, когда мы переходим на закладку Create, в категорию Systems. После установки Character Studio появится новая кнопка под названием Biped. Нажав ее, можно тут же, при помощи одного щелчка мыши, создать новый объект «bip 01».

Перед вами возникнет скелет двуногого существа. Справа от окон проекции, в свитке Create Biped, находятся все параметры, отвечающие за анатомические особенности модели. Строение скелета, конечно же, максимально упрощено. Вместо, скажем, костей рук и ног взяты параллелепипеды. Оно и понятно — ведь для прорисовки движений любого существа требуется указать не все, а лишь те кости, которые представляют собой опорно-двигательный аппарат. Среди прочих настроек системы костей этого «бипеда», бросается в глаза то, что можно менять количество пальцев на руках и ногах, равно как и число позвоночных и шейных костей от одной до пяти. Помимо этого, имеется возможность добавить немножко «нестандартные» типы костей для таких «нестандартных» персонажей, которые будут иметь хвост или гриву. Наряду с этим регулируется присутствие-отсутствие костей рук вообще.

Итак, скелет есть, оболочка тоже. Теперь их необходимо совместить и подогнать по размеру. Выделяем из списка всех объектов сцены, основную часть которого теперь составляют в большинстве своем кости скелета, строчку «Bip01». После этого можно перемещать модель «бипеда», совмещая его, насколько это возможно, с фигурой человека. Настройки системы костей переместятся из закладки Create на закладку Motion, в самый последний свиток —Structure. На первом свитке включим режим Figure Mode и, не выходя из него, поочередно будем выделять и перемещать составляющие скелета. Основная задача заключается в том, чтобы кости оказывались внутри оболочки и располагались там по возможности как можно более естественней. Правдоподобность в движении конечной модели человека будет зависеть от того, насколько тщательно удалось совместить все элементы скелета и внешней оболочки.

Поскольку скелет симметричен, часто приходится выполнять одни и те же действия с обеих сторон. Например, нужно поднять правую руку, а потом точно также — левую. Если в закладке Motion развернуть свиток Track Selection и нажать на кнопку Symmetrical, то все действия, которые будет производить человечек на экране, станут симметрично отображаться. А для того чтобы мгновенно перейти на симметрично расположенную косточку, предназначена кнопка Opposite, находящаяся там же. Форма костей у каждого существа своя, и это обстоятельство вынуждает каким-нибудь способом регулировать размеры (длину и толщину) каждой из них.

После того как будут правильно расположены скелет и внешняя оболочка, переходим в режим Rubber Band Mode, кнопка включения которого находится в свитке General общих настроек «бипеда». Сейчас можно управлять формой отдельно взятой bone. Если попытаться кость переместить в окне проекции, то ее форма изменится и начнет вытягиваться, так, как если бы она была сделана из резины, отсюда и название режима (кто не знаком с английским — Rubber переводится как резина). Величина элементов скелета изменяется обычной функцией Scale (правая кнопка мыши — Scale).

Когда все размеры подогнаны, пришла пора использовать модификатор Physique. Применяется он к внешней оболочке будущего персонажа Характер Студии. Оживление персонажей — процесс очень трудоемкий, поэтому необходимо набраться терпения. Скелет двуногого существа состоит из иерархично связанных компонентов, поэтому удобнее «приаттачивать» к нему не сразу всю Mesh, а по отдельности (конечно, если позволяет сцена), то бишь сначала руки и плечи, затем ноги, а под конец и все остальное. В свитке с таким же названием, как и у модификатора, Physique, имеется кнопка, на которой нарисован человечек. Если подвести мышку в это место, то можно прочитать название —Attach to Node. Это значит «присоединить оболочку». После нажатия этой кнопки выбирается элемент скелета, главный в той группе костей, на которую одевается внешняя оболочка. На экране возникнет окно под названием Physique Initialization. Модификатор Physique по своему принципу немножко напоминает другой, стандартный —Skin. В месте, где кожа изгибается, вокруг выбранной кости, будет построена огибающая в форме капсулы (Envelope). В окне проекции вершины той части оболочки, которая охвачена огибающей, окрасятся в разные цвета. Цвета вершин символизируют их «веса», то есть степень воздействия на них перемещений текущей кости. Огибающая состоит из внешнего и внутреннего контура, а также содержит два поперечных сечения в форме кругов. Чтобы модифицировать характер сгиба оболочки, нужно изменить размер сечений огибающей или настроить «веса» вершин.

Однако вернемся к окну Physique Initialization. На нем вы найдете несколько свитков с параметрами, определяющими начальные настройки огибающей. Пока их можно оставить без изменений и нажать кнопку Initialize. Теперь переходим вновь на закладку Motion. Отключив режим Figure Mode, загрузим файл, в котором хранится информация о движении скелета. Расширение этого файла *.bip, его можно найти по адресу …\3dmax4\Cstudio\ среди разнообразных примеров, предложенных разработчиками.

Теперь проиграем анимацию, нажав кнопку Play Animation. Результат виден после того, как вы нажмете на кнопку Biped Playback в закладке Motion, свиток General. Но в последнем случае двигаться будет только схематично нарисованный персонаж, в то время как при 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. Так что изучайте, ищите что-то новое, делитесь опытом, пишите.

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov