Создание патчей из кривых
Создавая
поверхность при помощи патчей, удобно задавать ее форму с помощью кривых.
Начертив соответствующие кривые, можно преобразовать их в поверхность при помощи
следующих специальных инструментов моделирования:
Extrude (Экструдирование). Кривая, задающая профиль, перемещается вдоль указанной
линии или пути. В результате формируется поверхность, похожая на цилиндрическую
(рис. 2.37); Lathe/Revolve (Формирование поверхности вращения). Кривая,
задающая контур, вращается вокруг оси, образуя поверхность подобно тому, как это
делается на токарном станке. Получается поверхность, близкая к цилиндрической
или сферической (рис. 2.38); Lofting (Формирование поверхности на основе
сечений). Эта операция похожа на экструдирование, но позволяет задавать
различные профили вдоль пути. В результате можно более гибко управлять формой
поверхности (рис. 2.39);
Рис. 2.37. Операция Extrude
Skinning (Создание оболочки). Эта операция также называется U-loft или V-loft. Она очень сходна с операцией Lofting и позволяет
формировать поверхность на основе заданных кривых (рис. 2.40); Ruled (Конструирование поверхности по двум кривым). Две кривые задают форму
противоположных краев поверхности. Данная операция похожа на предыдущую, но
поверхность строится вдоль кривой, а не перпендикулярно ей (рис.
2.41);
Boundary (Формирование поверхности с заданными краями). Три или четыре кривые задают
края патча (рис. 2.42); BiRail (Формирование поверхности по двум
направляющим). Одна или две кривые, задающие профиль, перемещаются вдоль двух
кривых-направляющих, образуя поверхность. Если указан только один профиль,
операция похожа на Extrude или Lofting, если два - на Boundary (рис. 2.43).
Рис. 2.38. Операция Lathe/Revolve
Рис. 2.39. Операция Loft
Рис. 2.40. Операция Skin
Рис. 2.41. Операция Ruled
Рис. 2.42. Операция Boundary
Рис. 2.43. Операция BiRail
Сшивание патчей
Иногда возникают
ситуации, когда одного патча или регулярной поверхности, построенной на основе
кривой, недостаточно. Например, когда в модели есть выступающие детали,
расположенные таким образом, что их невозможно сконструировать из базового
цилиндра, сферы или тора. Хорошим примером объекта, имеющего «ответвления»,
может служить фигура человека - руки и ноги расположены в пространстве так, что
данный объект невозможно покрыть единственным прямоугольным патчем. Проводя
аналогию с упаковочной бумагой, можно сказать, что одного листа и ленточки будет
недостаточно, чтобы обернуть человеческое тело. Если сомневаетесь, возьмите
большой кусок оберточной бумаги, куклу Барби или солдатика и попробуйте это
сделать.
Чтобы решить
данную проблему, следует накладывать патчи по одному и сшивать их друг с другом.
Метод достаточно трудоемкий, но позволяющий с максимальной точностью
контролировать процесс формирования поверхности. Теоретически все очень просто.
Моделирование начинается с четырехугольного патча, созданного деформированием
исходного прямоугольного или построенного на основе контурной кривой (рис.
2.44). Затем формируется второй патч, и его край совмещается с краем первого
(рис. 2.45). Применение функции привязки обеспечивает точное соответствие вершин
и ребер (рис. 2.46). Если ряды вершин состыкованы абсолютно точно, патчи ведут
себя как одно целое.
Рис. 2.44. Формирование первого патча
На самом деле
края патчей не склеиваются - просто они располагаются в одних и тех же точках
пространства. Координаты вершин идентичны, и патчи одинаково реагируют на
деформацию, поэтому кажется, что они прочно соединены.
Некоторые пакеты,
например 3D Studio МАХ, обеспечивают автоматическую стыковку краев патчей,
освобождая разработчика от утомительной привязки каждой пары вершин. С точки
зрения пользователя, такой инструмент более эффективен, однако работает он по
тому же, описанному выше алгоритму. Другие системы, к примеру, Maya, обладают
инструментами, позволяющими задавать касательную при стыковке патчей, за счет
чего шов становится незаметным.
Чтобы лучше
понять устройство модели, созданной при помощи стыковки патчей, представьте
себе, что они являются предметами одежды. За счет попарного совмещения вершин
получается гладкая и убедительная модель персонажа. При использовании данного
метода в качестве образца для экспериментирования пригодится собственный
гардероб. На рис. 2.47 передняя и задняя части туловища, а также рука сшиваются
друг с другом, и в результате получается цельная поверхность.
Рис. 2.45. Совмещение вершин стыкуемых патчей
Рис. 2.46. Использование функции привязки
Рис. 2.47. Пример моделирования по методу стыковки патчей
Треугольные патчи
Большинство
пакетов работает с четырехугольными патчами. Их края можно сделать абсолютно
прямыми и строить из них регулярные поверхности, что упрощает процесс наложения
текстуры. Однако если пакет поддерживает только четырехугольные патчи, иногда
возникают проблемы при конструировании объектов, имеющих большие выступы,
например, при присоединении к туловищу ног и рук.
Но любой пакет
трехмерного моделирования, способный создавать сферы из патчей, сможет
сформировать и треугольный патч, поскольку верхний ряд модели сферы составлен из
треугольников, точнее, из четырехугольных патчей, одна сторона которых стянута в
точку.
Фрагмент
поверхности, имеющий три стороны, можно рассматривать как участок с четырьмя
сторонами, одна из которых стянута в точку и имеет нулевую длину. В результате
видны лишь три оставшиеся.
Следовательно,
четырехугольный патч можно превратить в треугольный путем соединения всех точек
одной стороны, чтобы они имели идентичные координаты в трехмерном пространстве
(рис. 2.48). В сущности, то же самое происходит на полюсах сферы. Лучше
выполнять такие операции над поверхностями, в основе которых лежат кривые малого
порядка, например фундаментальные, но можно использовать и другие типы патчей,
включая NURBS.
Имеется несколько
пакетов, поддерживающих треугольные патчи другого типа, в частности программные
продукты компаний Discreet и Hash.
Hash-кривые
похожи на фундаментальные, но обеспечивают интерполяцию конечных точек, то есть
могут определять поверхность по трем или четырем вершинам. Поддерживаются также
и треугольные патчи. Они позволяют создавать ответвляющиеся области и
поверхности с нерегулярной топологией, подобно тому, как это делается при
полигональном моделировании. Благодаря указанным возможностям модель
одновременно сохраняет простоту конструкции и все преимущества
патчей.
Другой уникальный
тип патчей имеется в системе 3D Studio MAX. Более всего они напоминают патчи,
построенные на основе кривых Безье, поскольку каждая вершина имеет
дополнительные манипуляторы для управления касательной к поверхности, причем все
вершины лежат на поверхности. В данной системе, как и в Hash, можно создавать
треугольные патчи.
Рис. 2.48. Получение треугольного патча из четырехугольного
Источник: http://www.3dmir.ru/s_tutor/tutor/229.html |