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

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

Деформация и тип поверхности

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

Деформация многоугольников

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

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

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

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

Рис. 6.32. Деформированная модель с низким разрешением

Рис. 6.33. Модель, к которой применена операция дробления каркаса

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

Деформация патчей

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

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

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

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

Рис. 6.34. Скрытые NURBS-сопряжения

Рис. 6.35. Модель с визуализированными сопряжениями

Скелет и сегментированная модель персонажа

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

При использовании цепочек прямой кинематики такой метод избыточен, поскольку элементами скелета в данном случае можно управлять непосредственно. Если же установлены цепочки инверсной кинематики, он вполне уместен.

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