Перенос баз данных с одного SQL Server на другой Изменения в системе защиты SQL Server Новые средства разработки Новые элементы программирования на языке Visual Basic Редактирование и анализ данных с помощью запросов

Компьютерная анимация Компьютерная анимация

Основы моделирования

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

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

Типы поверхностей

Поверхность для модели персонажа можно получить различными способами: при помощи полигональных каркасов, патчей и на основе NURBS (неоднородные рациональные В-сплайны). Помимо перечисленных трех основных подходов применяют метод Metaballs (Метасферы), мембраны, иерархии патчей и др. Если вы научитесь работать с тремя базовыми средствами (полигональными каркасами, патчами и NURBS), вам подойдет любой пакет трехмерного моделирования.

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

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

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

Полигональные поверхности

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

Основное преимущество полигонального моделирования заключается в том, что данный метод применим к поверхностям различного вида. Многие инструменты, основанные на использовании патчей и NURBS, хорошо работают лишь с поверхностями, имеющими простую топологию, например цилиндрами или сферами. Чтобы создать более сложный объект (скажем, модель тела человека), приходится конструировать несколько поверхностей, а затем стыковать их друг с другом. В то же время с помощью многоугольников легко решаются любые топологические головоломки, и конструируются сколь угодно сложные поверхности.

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

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

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

Патчи

Патч - это фрагмент поверхности, ограниченный кривыми, которые, в свою очередь, определяют форму модели. Линейная кривая состоит из последовательности отрезков, соединяющих управляющие вершины (рис. 2.1). Кривые, определяющие поверхность, играют роль ребер полигонального каркаса. Ассортимент используемых кривых, как и соответствующих им патчей, весьма широк. Кривые могут называться по-разному, например линейными, фундаментальными, В-сплайнами, кривыми Безье. Фундаментальная кривая - это кривая, проходящая через управляющие вершины. В каждой вершине задана также касательная к кривой (рис. 2.2). В-сплайн редко проходит через управляющие вершины. Из-за того, что они находятся на некотором расстоянии от кривой, манипулировать поверхностью достаточно сложно (рис. 2.3). Кривые Безье наверняка знакомы вам по популярной программе Adobe Illustrator. Кривая проходит через каждую управляющую вершину, в которой задана касательная к кривой и имеются два манипулятора, позволяющие контролировать ее форму по обе стороны от вершины (рис. 2.4).

Другая классификация кривых основывается на степенях соответствующих полиномов.

Порядок кривой - степень (или порядок) полинома, ее представляющего. Чем выше порядок кривой, тем больше вычислений требуется для ее создания. Проще всего порядок кривой устанавливается по следующему правилу: он на единицу меньше количества точек, необходимых для ее определения. Следовательно, кривая первого порядка определяется двумя точками, кривая второго порядка - тремя и т.д. Некоторые пакеты позволяют комбинировать кривые различных порядков при формировании патчей, например, линейные кривые располагать вдоль оси U, а В-сплайны - вдоль оси V.

Рис. 2.1. Линейная кривая

Рис. 2.2 Фундаментальная" кривая

Рис. 2.3 В-сплайн

Рис. 2.4 Кривые Безье

NURBS-поверхности

NURBS-поверхность фактически является уже известным вам патчем, но построенным на основе В-сплайнов. Такая поверхность существенно отличается от патча тем, что в некотором смысле она неоднородна. Для каждой ее вершины может быть задан вес, позволяющий более точно управлять кривизной. При этом сама поверхность оказывается проще, поскольку для ее определения требуется меньше вершин.

В большинстве случаев NURBS-поверхностями манипулируют так же, как патчами. Имеется ряд инструментов, разработанных специально для объектов данного типа. Они позволяют создавать кривые на поверхности, делать вырезы и формировать плавные переходы между поверхностями.


Дизайн, инженерная и Web графика