Вход/Регистрация
Журнал «Компьютерра» №1-2 за 2006 год
вернуться

Журнал Компьютерра

Шрифт:

Создание же CG-персонажа обычно начинают не со скелета, а, наоборот, с тела. Сначала, в 3D-редакторе строится модель в так называемой позе одевания[Поза, в которой разные части тела максимально отстоят друг от друга. Для человекообразных существ это прямые руки в стороны, пальцы растопырены, ноги вниз]. Обычно это замкнутая поверхность, состоящая из элементарных плоских фигур (треугольников или четырехугольников) – полигонов. Эта модель еще одноцветная, практически лишена деталей – тут нет ни ресниц, ни волос, ни морщин – форма и только форма. Все эти «недостатки» устраняются на следующем этапе разработки персонажа. Для него создается текстура, карта неровностей, добавляется множество деталей – зачастую даже волоски на коже героя требуют внимания разработчиков, в случае же с Кинг-Конгом волосяной покров составляет чуть ли не основу персонажа.

Теперь мы можем видеть именно то, что мы привыкли видеть в современном кино, только в неестественной позе.

Текстура представляет собой просто картинку, части которой впоследствии будут «натягиваться» на персонажа. Для каждой вершины (угла полигона) на теле задаются текстурные координаты (обычно их называют UV). После чего цвет каждой точки полигона считается как цвет соответствующей ей точки на текстуре, если полигон «положить» на текстуру так, чтобы его углы попали в свои UV-координаты.

Рисование текстур и привязывание их к модели – это целое искусство. Текстурщик должен совмещать в себе талант художника и скульптора. Это на плоскость текстуру наложить просто, как на стену наклеить обои, а на сложную поверхность существа сделать это не так уж просто. Представьте, что вам надо обклеить обойной бумагой скульптуру человека, да так, чтобы еще и рисунок совпадал, и не было никаких перехлестов.

Но кожа практически всех существ не гладкая, а имеет какую-то фактуру. Для имитации этих пупырышков и трещинок обычно используют карты неровностей. Карта неровностей – это та же текстура, только она задает не цвет, а направление нормали. И при освещении плоская поверхность начинает выглядеть рельефно. Большинство программ 3D-моделирования позволяют использовать в качестве карты неровностей саму текстуру, после чего объект выглядит куда живее.

Поподробнее хотелось бы остановиться на волосах. До недавнего времени прически большинства персонажей были примитивны. Они моделировались на этапе создания формы персонажа и были статической конструкцией на голове у героя. Сейчас же волосы компьютерных актеров очень похожи на настоящие, Они моделируются или по отдельным волоскам, или как набор прядей. Каждая прядь представляет собой «пластичную» полоску. Такие волосы могут развеваться на ветру, колыхаться при резком движении головы.

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

Теперь настал момент вдохнуть в персонажа «жизнь». Для начала нам нужен скелет. Скелет у CG-существ очень похож на наш с вами. Только в отличие от наших все кости в нем прямые, зато могут не только поворачиваться в суставах, но и изменять длину. Чтобы сделать что-то похожее на ребро, приходится строить цепочку из прямых костей. Компьютерные скелеты иногда включают несвойственные биоорганизмам части, для лучшего контакта с кожей. Теперь кожу и скелет необходимо связать вместе. Эта операция называется скинингом. Что такое вообще привязка кожи к скелету? Каждой вершине ставится в соответствие некоторое количество костей, за которыми она будет следовать, и весовой коэффициент для каждой из костей. Как нетрудно понять, эта операция крайне трудоемкая и муторная, к счастью есть автоматические системы скининга, которые хоть и обладают рядом недостатков и не всегда верно «скинят» объекты сложной формы, существенно облегчают жизнь создателям 3D-персонажей. Теперь мы можем пошевелить кости нашего существа, и его тело в точности повторит движения скелета. Уже можно худо-бедно управлять нашим зверем. Однако каждый раз задавать положение персонажа с помощью взаимного поворота костей не всегда удобно.

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

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

Если для создания инверсной кинематики обычно достаточно пары кликов мышкой, то для того, чтобы сделать мышцу, придется программировать. Большинство солидных 3D-пакетов включают в себя язык для написания встроенных программ. Вот и в этом случае поведение мышцы зависит не только от расположения костей, но и от скорости их взаимного движения. Ведь при одном и том же положении локтевого сустава бицепс будет находиться в совершенно разных состояниях в зависимости от того, сгибается рука или разгибается.

  • Читать дальше
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: