|
Лоскуты создаются множеством способов.
Можно создать их как исходные
прямоугольники, направить на лоскуты
вывод Extrude или Lathe, конвертировать
в лоскуты ЗО-примитивы. Наконец, 3DS МАХ
дает возможность преобразовать в лоскут
любой произвольный каркасный элемент.
Это достигается при помощи двух разных
типов лоскутов Безье - прямоугольного
(бикубического) и треугольного. Данные
базовые формы обеспечивают взаимное
преобразование лоскутов и каркасов.
Использование лоскутов, полученных из
примитивов
Достаточно часто будет возникать
необходимость работать с различными
типами лоскутов. Когда каркасы
конвертируются в лоскуты (через
добавление модификатора EditPatch), они
всегда превращаются в TriPatch, даже
если их топология ближе к
четырехугольникам. Более
предпочтительные QuadPatch формируются
как результат параметра создания.
Большая часть стандартных примитивов,
как и сплайны, полученные из
моди-фикаторов Extrude или Lathe,
порождают QuadPatch.
СОВЕТ
Создание примитивов с отрицательной
высотой порождает лоскуты с
реверсированными нормалями. Это может
оказаться весьма удобным методом
создания лоскутных объектов для
контейнеров, сосудов и комнат из Box,
Cylinder, Tube и Cone.
Использование лоскутов из Extrude и
Lathe
И Extrude, и Lathe имеют опции для
вывода лоскутов вместо каркасов. В этой
связи они становятся двумя наиболее
удобными способами начала лоскутного
моделирования.
Сплайны являются естественными
стартовыми точками для лоскутных
моделей, поскольку оба их типа
основываются на одной и той же
геометрической форме - сплайне Безье.
Сплайны можно преобразовать в лоскуты за
счет применения модификаторов Extrude
или Lathe. Lofter, к сожалению, лоскутов
не порождает.
СОВЕТ
По иронии судьбы в 3D Studio Release 4
лоскутные объекты можно создавать из
loft-объектов. SDS-модели, созданные
модулем 3DSR4 3D Surfer, при импорте в
3DS МАХ транслируются в лоскуты.
Модификатор Lathe очень полезен при
создании базовых форм для лоскутного
моделирования. Lathe (получение объектов
за счет вращения) можно рассматривать
как гончарный круг, вытачивающий сплайн
в мягкой, податливой глине лоскута. При
работе с Lathe сложно направлять его
нормали. В отличие от каркасов,
перенаправить нормали лоскута нельзя.
Если нормали лоскута показывают не в ту
сторону, необходимо либо изменить способ
создания нормалей, либо
переориентировать существующий лоскут,
либо использовать двусторонний материал.
Последнего следует избегать, поскольку
отключение Backface Cull затрудняет все,
в особенности базовое редактирование
лоскута.
Покрывание (capping) лоскутов
Лоскутные объекты, сформированные через
Extrude и Lathe, покрывать не так
просто, как их каркасные эквиваленты.
Если конечное покрытие (cap) является
трехсторонним, оно выполняется с
TriPatch, если четырехсторонним - с
QuadPatch. Если покрытие имеет большее
число сторон, что вероятнее всего,
должен проводиться более тщательный
анализ с учетом следующих правил:
-
Вложенные формы покрывать нельзя
(например, вытянутые пончики).
-
Должна существовать чистая линия
зрения от каждой вершины к центру
формы.
На практике именно второе правило обычно
препятствует покрытию и может вызывать
разочарование. Для более изощренных
форм, таких как рука, покрывание следует
выполнять вручную. В данном случае к
видимым ребрам добавлялись лоскуты (с
помощью функции Add Quad из EditPatch) и
затем вершины новых лоскутов
объединялись с вершинами напротив.
Подобный подход предпочтителен для
органических форм, поскольку имеется
контроль за тем, где проходят линии
лоскутов и какой тип лоскутов
генерируется (автоматическое покрывание
обычно продуцирует TriPatch). Еще важнее
то, что добавляемые лоскуты и швы на
поверхности объекта имеют непрерывное
сглаживание - как раз то, что не
происходит с автоматически покрытыми
ребрами. В следующем разделе покрывание
ребер обсуждается более детально.
Непрерывность сглаживания
Тип вершины сплайна оказывает
существенное влияние на результирующее
сглаживание вытянутых (extrude) или
полученных за счет вращения (lathe)
лоскутов. Хотя типы вершин Smooth или
Bezier превращаются в гладкие лоскуты,
но типы вершин Corner или Bezier Corner
превращаются в отчетливые ребра, через
которые невозможно продолжить
сглаживание. Данная ситуация похожа на
описанную для примитивов, хотя в отличие
от примитивов можно возвратиться к
EditSpline и изменить вершины на Smooth
или Bezier . Если разрушить стек до
лоскутного объекта, созданного через
Extrude или Lathe, непрерывность
сглаживания объекта будет фиксированной
и неизменяемой. Таким образом модели
следует тщательно анализировать на
предмет выяснения, нуждаются ли вершины
сплайна в переклассификации, прежде чем
выполнять разрушение.
Покрытия, созданные модификаторами
Extrude и Lathe, либо определенные как
часть параметрического объекта, всегда
демонстрируют прерывистость сглаживания
вдоль своих покрытых ребер. Это точно
такая же ситуация, которая была описана
ранее для сплайнов с угловыми типами
вершин. Единственная разница заключается
в том, что для покрытий изменить
что-либо невозможно - ребро всегда будет
визуализироваться как гребень.
СОВЕТ
Если требуется продолжить сглаживание
через ребро покрытия Extrude или Lathe,
удалите вначале покрытие либо убрав
лоскуты, либо убрав опцию покрытия в
модификаторе. Затем добавьте лоскуты к
ребрам, вытяните открытые вершины к
противоположным ребрам и выполните
объединение.
Лоскуты, сгенерированные стандартными
примитивами, имеют свойство, которое
нельзя продублировать каким-либо другим
лоскутным моделированием и которое, к
сожалению, невозможно изменить.
Примитивы, начинающиеся с покрытий
(отчетливых, жестких ребер, подобных
вершине цилиндра или стороне коробки),
поддерживают эти жесткие ребра в течение
всей жизни лоскута. В отличие от ребер
покрытия Extrude или Lathe, лоскуты,
добавленные к примитивам вдоль
первоначально покрытых ребер, всегда
представляются как ребра. Рисунок 14.16
рассматривает ситуацию, при которой
вершина цилиндра была удалена и вновь
показавшимся ребрам даны QuadPatch.
Поскольку вершина цилиндра изначально
была "жесткой", ребро существует даже
несмотря на дальнейшее объединение с
лоскутными вершинами. Данная ситуация
является уникальной, поскольку
прерывистость сглаживания нельзя ни
ввести для других лоскутов, ни устранить
для этих. Памятуя о вышесказанном,
прерывистость можно избежать или
использовать для своей выгоды, когда
требуется представить разрыв в
сглаживании, но вы не хотите
конвертировать лоскутную модель в
каркасную (вынужденно добавляя
модификатор Smooth или EditMesh).
|