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