Кто не хочет читать ONLINE, можете скачать доступные части книги:

Скачать часть1 (1.1 Мб) - Ознакомление с программой 3ds MAX

Скачать часть2 (1.4 Мб) - Объекты произвольной формы

Скачать часть3 (2.2 Мб) (не завершена) - Текстурирование

Глава 16. Объекты Editable Patch и NURBS

 

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

Объекты Editable Patch

В прошлой главе говорилось, что Editable Patch можно получить, если применить к правильно собранной сплайновой конструкции модификатор Surface. Editable Patch получится не сразу. Если мы просто применим модификатор, то итогом его действия будет объект типа Patch, но не Editable. Чтобы превратить его в Editable Patch нужно выполнить операцию Collapse All.

Так же существуют заготовки для создания Editable Patch во вкладке Create в группе объектов Geometry. Надо развернуть список и выбрать в нём тип объектов Patch Grids (патч-сетки). Там на выбор есть Quard Patch - сетка из четырёхугольных лоскутков и Tri Patch - сетка из треугольных лоскутков.

Patch Grids сразу после создания своего являются параметрическими объектами, параметрами которых являеются: Length - длина, Width - ширина, и число сегментов по длине и ширине. Для того, чтобы преобразовать параметрический объект Patch Grid в Editable Patch надо кликнуть правой кнопкой мыши по слову в стеке и выбрать: Convert To: Editable Patch.

Что же такое Editable Patch? Это редактируемый объект, форма которого задаётся при помощи изолиний и касательных к этим изолиниям (handle). Линии эти подобны сплайновым формам, кривизну которых задают касательные. Касательные в каждой вершине имеют два режима: угловые Corner и копланарные Coplanar (то есть, лежащие в одной плоскости). Преобразовывать одно в другое можно так же как у сплайнов, правым кликом мыши по вершине, а затем выбором нужного типа из появившейся менюшки.

Изолинии должны образовывать криволинейные четырёхугольники и треугольники (их часто называют лоскутками), иначе интерполяция поверхности будет невозможна. То есть, с пяти- и более угольниками Editable Patch (и модификатор Surface) не дружат.

Параметром объекта Editabe Patch можно считать параметр Steps, который находится в группе Surface (кстати, этот параметр есть и у модификатора Surface, и означает он примерно то же самое). Steps - число шагов интерполяции, отдельно управляется для окон проекций View Steps и для рендеринга Render Steps. Так или иначе, объект Editable Patch отображается при помощи всё тех же треугольных граней, что и все другие объекты. Steps лишь задаёт, сколько шагов интерполяции надо выполнить вдоль линий, грубо говоря, сколько прямосторонних треугольников или четёрёхугольников по длине и ширине надо расположить, чтобы с помощью них аппроксимировать кривосторонние треугольники и четырёхугольники объекта Editable Patch.

Подобъекты Editable Patch - вершины, рёбра, трёх и четырёх угольники и элементы. Во многом, инструменты редактирования аналогичны Editable Mesh и Editable Poly, только их меньше. Есть уже знакомые нам Bevel и Extrude для многоугольников, и Extrude для рёбер.

Появилась операция Subdivide (подразделить), у которой можно включить опцию Propogate - распространить. Это некий аналог тесселяции Tesselate у объектов Editable Mesh и Editable Poly. Только ввиду природы Patch они имеют свои особенности. А именно, природа Patch такова, что он может состоять только из треугольных (Tri) и четырёхугольных (Quard) лоскутков. Subdivide применяется как к рёбрам, так и к лоскуткам, и при применении образуются новые рёбра, которые, если не стоит Propogate простираются не очень далеко. Там, где они кончают простираться, нарушается гладкость поверхности и образуется резкий переход. На самом деле резкий переход - это сжатый под форму ребра треугольный лоскуток, который обеспечивает стыковку с остальными лоскутами. Чтобы не было этой резкой складки, надо включить Propogate, и тогда, резделяя одно ребро или лоскуток, мы получим простирающиеся на весь объект линии.

То, что Patch может состоять только из треугольних и четырёхугольных лоскутков, это большой недостаток. Ведь для того, чтобы добавить подобъект, нам придётся создавать линии, проходящие почти по всему объекту. Так же нет у Patch такого замечательного инструмента, как Cut и Collapse. Есть только Weld, который работает примерно по той же идеологии, что и у Editable Poly.

 

Создание NURBS-объектов и подобъектов

Ещё один тип редактируемых объектов - это NURBS (не путать с NURMS - методом MeshSmooth или NURMS Subdivision). Это довольно-таки сложные редактируемые объекты, сложные не только для пользователя, но и для компьютера.

NURBS разделяются на NURBS-поверхности и NURBS-кривые, однако, такое разделение достаточно условно. Как правило, сложный объект, который считается NURBS-поверхностью, содержит в себе и NURBS-кривые (не обязательно, но чаще всего содержит). NURBS-кривыми считается NURBS-объект, который содержит кривые, но не содержит поверхностей. В объекте NURBS Curves (NURBS-кривые) содержатся только кривые и не должно быть поверхностей. Но поверхность может быть создана в любой момент инструментами редактирования NURBS, и тогда весь объект NURBS превращается из кривых в поверхность. Пока объект NURBS Curves не превратился в поверхность, кривые могут быть визуализированы подобно тому, как визуализируются сплайновые формы, у них есть своя группа меню Rendering, которая полностью аналогична такой же группе у сплайновых форм.

Подобно Editable Patch поверхности в NURBS аппроксимируются по готовым кривым, но у NURBS гораздо больше способов и методов задания кривых, больше типов подобъектов и средств работы с этими подобъектами. Скорей всего, NURBS предназначались для моделирования техники, поскольку в них имеются инструменты, которые как раз неплохо подходили бы для этих целей.

Например, если нам надо вырезать дырку в поверхности так, чтобы кривизна самой поверхности не изменилась за счёт появления самой дырки, но сохранилась возможность редактировать эту самую кривизну (не меняя при этом очертания силуэта дырки), то только NURBS даёт нам такую возможность. Так же NURBS позвляет создавать несколько одинаковых кривых), форма которых повторяет форму одной, исходной кривой. То есть, между подобъектами NURBS устанавливаются связи типа Reference. Чтобы лучше себе представить, о чём же всё-таки идёт речь, давайте перейдём к рассмотрению инструментов.

Создать NURBS-объект можно как обычно во вкладке Create. Только создавать его надо не путём преобразования параметрического примитива. Такое преобразование как правило невозможно. Персонально для NURBS существуют специальные заготовки типа NURBS. То есть, их создание чем-то похоже на создание сплайновой формы Line - создаёшь, и сразу, ни во что не преобразовывая, можно редактировать.

Заготовки существуют как в геометрических примитивах Geometry , так и в сплайновых формах Shape . И в том и в другом случае надо выбрать сразу под строкой с выбором типа создаваемых объектов в разворачивающемся меню либо NURBS Surfaces в случае Geometry, либо NURBS Curves в случае Shape. С чего именно начинать эпопею с NURBS - объектами, решать вам, всё зависит от того, как вам удобнее. NURBS Surfaces создаются по клику мыши подобно тому, как создаётся параметрический примитив Plane (плоскость) - сначала указывается положение одного угла, нажимается кнопка мыши и натягивается плоскость. NURBS Curves натягиваются подобно тому, как создаётся сплайновая форма Line.

Сразу при создании можно заметить, что нам предлагается создания NURBS объектов двух типов: CV и Point. CV - аббревиатура от Control Verticies - контрольные вершины. В одном и том же NURBS объекте могут быть подобъекты как CV, так и Point, просто заготовка представляет собой один подобъект, поэтому и надо выбрать его тип.

CV - подобъекты, кривизна которых задаётся фактически неким подобием касательных, вернее, ломаными линиями и состоящими из отрезков сетками. Касательные задаются положением вершин отрезкоа, и сетки задаются тем же самым, поэтому речь и идёт о контрольных вершинах. Результирующая поверхность не проходит через контрольные вершины, она представляет собой как бы результат многократного применения MeshSmooth к контрольной ломаной или сетке. Point - подобъект проходит через контрольные точки, и интерполяция осуществляется по сплайновому методу.

 

У всех объектов NURBS, не зависимо от того, как мы их создавали, в группе General должна быть кнопка , по нажатию на которую открывается меню создания подобъектов NURBS (рис 16.1).



Рис. 16.1. Меню создания подобъектов NURBS.


Впечатляет, не правда ли? Если вы не видите такую панель и не видите группу меню General, перейдите во вкладку Modify и всё появится. Если не появится, посмотрите в стеке, что у вас не выделено никакого подобъекта, и если выделен, выйдите на верхний уровень, тогда кнопка должна появиться. Если её выключить, то и меню, показанное на рис. 16.1 исчезнет.

 

Points

Points - точки. В зависимости от того, как они созданы, они могут служить для разных целей. Для проведения через них Pont-кривых, для управления кривизной кривых и поверхностей. Точка созданная сама по себе может служить опорной точкой, через которую в последствии проведут кривую. Точку можно создать на уже существующей кривой или поверхности, тогда перемещая её, можно будет управлять кривизной кривой или поверхности.

Create Point - создание свободной точки, которая не лежит ни на кривой, ни на поверхности. Потом через такие точки можно провести кривые, и в итоге получится, что ваша точка лежит на кривой. Через сами кривые можно провести поверхности, тогда ваша точка будет лежать и на поверхности.

- Create Offset Point - создаёт точку смещения. Точка смещения создаётся не сама по себе, а на основе какой-либо уже существующей точки. Это может быть любая точка, как свободная, так и лежащая на поверхности. Изначально, точка смещения создаётся в том же месте, где и исходная, и чтобы она сместилась, надо перейти в режим работы с подобъектами Point. Во-первых, можно будет сразу видеть группу меню Point, где есть строка Name. Здесь отображается имя подобъекта "точка", у каждой точки своё имя, которое генерируется автоматически, но его можно изменить на любое удобное для вас. Чтобы точка смещения не совпадала с исходной, надо найти меню Offset Point и в поля x, y, z ввести координаты вектора смещения. Исходная точка исчезает и превращается в точку смещения. Просто любая точка может быть либо самой собой, либо точкой смещения. То есть, если вы соберётесь проводить кривую, то через исходную точку ваша кривая уже не сможет быть проведена, только через точку, получившуюся в результате смещения. Перемещая точку смещения, мы так же меняем кривизну кривой или поверхности, как если бы на них была исходная точка. От точки смещения к исходной кривой или поверхности идёт красная ниточка, которая как бы и влияет на кривизну.

- Create Curve Point - создаёт точку на кривой

Create Curve-Curve Point - создаёт точку исходя из двух кривых. В идеале точка должна создаваться на пересечении двух кривых, но кривые могут и не пересекаться, а скрещиваться (то есть проходить в пространстве не параллельно, но и не соприкасаясь). Чтобы создать такую точку, надо последовательно указать сначала одну, потом другую кривую (они одна за другой должны посинеть), а потом отпустить мышь. Точка создастся первой указанной кривой, в том месте, которое ближе всего ко второй указанной кривой.

Create Surf Point - создаёт точку на поверхности

Create Curve-Surface Point - аналогично Curve-Curve Point, только оперирует с кривой и поверхностию.

Curves

Curves - кривые. Вообще, кривые можно создать на ровном месте, между друг дружкой и на поверхностях.

Create CV Curve - создаёт CV-кривую, кривую, которая вензеляет между отрезками ломаной линии.

Create Point Curve - создаёт точечную кривую. Точечная кривая интерполируется примерно так же, как сплайн, для каждой из вершин которого выбран параметр интерполяции Smoot.

Create Fit Curve - создаёт кривую, проходящую через указанные точки. Интерполяция происходит так же, как у Point Curve.

Create Transform Curve - создаёт трансформированную (перемещённую, повёрнутую, смасштабированную) зависимую копию исходной кривой. Эту копию нельзя редактировать, но можно трансформировать в режиме работы с подобъектами Curve. Копия будет повторять все изменения, которые будут происходить с исходной кривой. Можно сделать её независимой, если в режиме работы с подобъектами Curve, в группе меню Curve Common нажать кнопку Make Independent - сделать независимой.

Create Blend Curve - создаёт кривую смешения - то есть сегмент, который соединяет две указанных кривых и создаёт между ними плавную интерполяцию.

Create Offset Curve - создаёт кривую смещения. Кривая смещения - зависимая кривая, которая образуется смещением с искажением формы самой кривой.

Create Mirror Curve - создаёт зависимое зеркальное отражение. При этом можно управлять положением зеркала.

Create Chamfer Curve - создаёт прямую линию между двумя любыми точками разных кривых. Точки имеются ввиду математические, а не как подобъекты NURBS (в смысле, любое место на вашей кривой, не зависимо от того, стоит ли в нём контрольная точка, или нет).

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

Сразу после создания в меню под стеком должна быть группа Chamfer Curve. Если вы по каким-то причинам потеряли меню доступа к параметрам Chamfer Curve, вентуться к нему можно в режиме работы с подобъектом Curve, если выделить созданную нами соединительную линию. В меню есть пара групп с флажками Trim и Flip Trim. Пара - потому что для обеих кривых, которые вы выбрали для чамфера. Сверху - для той, которую вы выбрали первой, снизу - которую выбрали второй. Если флажки стоят, то кривая разбивается на две части точкой, из которой исходит оранжевая линия, и одна часть исчезает. Flip Trim переключает то, какая из частей должна исчезнуть. Вообще, сразу после создания кривой Chamfer Curve может ничего не произойти, чтобы что-то включилось, надо экспериментировать со значениями Length 1 и Length 2. Значения Seed 1 и Seed 2 задают положение точек, в которых кливая Chamfer Curve касается наших исходных кривых, и эти два параметра могут быть анимированы, то есть наша перетяжка может скользить обеими концами по нашим кривым. Если при этом сработал Trim, то скольжение происходит по исходным кривым, а результат мы видим уже с применённым Trim. Есть внизу ещё две кнопки: Replace First Curve (заменить первую кривую) и Replace Second Curve (заменить вторую кривую) - это на случай, если мы захотим вместо какой либо из этих двух кривых, либо вместо их обеих, вставить другие кривые.

Create Fillet Curve - аналогично предыдущему, только создаёт скруглённые переходы с заданным радиусом. Чтобы изменения вступили в силу, надо поэкспериментировать с параметром Radius - радиусом скругления. Все остальные параметры у этой кривой такие же, как у предыдущей.

Create Surface-Surface Intersection Curve - создаёт кривую по линии пересечения двух поверхностей, которые надо последовательно указать.

Прежде, чем продолжать, надо рассказать вот о чём. Вообще поверхности NURBS обычно представляют собой ленты, протянутые через заданные кривые, или самостоятельные поверхности, но так или иначе, интерполируются они четырёхугольниками. И можно ввести на такой поверхности криволинейную систему координат UV, U - вместо X, V - вместо Y. Это аналогичено обычной Декатровой системе координат, только UV. Вот она, геометрия Лобачевского. Если кому-то трудно это понять, просто представьте, что криволинейный четырёхугольник разбит на много-много мелких-мелких четырёхугольничков, и координаты отсчитываются не линейным расстоянием в Евклидовом пространстве, а числом этих мелких четырёхугольничков на поверхности. То есть, по оси U мы сместились на n четырёхугольничков, по оси V - на m четырёхугольничков, и координата у нас (n,m). Фактически, координаты отсчитываются, конечно не так, но нам их отсчитывать не понадобится, нам лишь понадобится понять следующие кнопки, что они под собой подразумевают.

Create U Iso Curve - создаёт на поверхности кривую, у которой в криволинейной СК координата U постоянна (U=const).

Create V Iso Curve - создаёт на поверхности кривую, у которой в криволинейной СК кооридината V постоянна

В криволинейной СК U и V направления взаимноперпендикулярны, поэтому, если создать на поверхности и те и другие кривые, они будут пересекаться.

Create Normal Projection Curve - создаёт проекцию некой не лежащей на поверхности кривой на некоторую поверхность параллельно нормалям к этой поверхности. То есть, если у вас есть кривая, вы можете расположить её над поверхностью, нажать эту кнопку, сначала указать кривую, потом протянуть ниточку к нужной поверхности. Если ваша кривая расположена так, что она проецируется на поверхность вдоль нормалей, то на поверхности возникнет проекция этой кривой, которая будет перемещаться в зависимости от того, куда вы двигаете вашу исходную кривую. Соответственно, в зависимости от кривизны поверхности, форма проекции будет меняться.

Create Vector Projection Curve - создаёт проекцию некой не лежащей на поверхности кривой на некоторую поверхность вдоль вектора. Сначала указать кривую, потом протянуть ниточку к нужной поверхности. Ниточка - это и будет ваш вектор, она отобразиться в виде оранжевой линии, которая и совпадает по направлению с вектором.

Create CV-Curve on Surface - создаёт CV кривую на поверхности.

Create Point Curve on Surface - создаёт точечную кривую на поверхности.

Create Offset Curve on Surface - создаёт кривую смещения, только на поверхности.

Create Surface Edge Curve - создаёт кривую, повторяющую форму края поверхности

Surfaces

Surface - поверхности.

Create CV Surface - создаёт CV поверхность на пустом месте. Создаётся прямоугольничек, подобно тому, как создаётся объект Plane (плоскость). Сразу в момент создания сбоку будет доступно меню, в котором можно выбрать параметры создаваемой плоскости - длину (Length), ширину (Width), число точек по длине и ширине (Length CVs, Width CVs) и не обратить ли нормали Flip Normals. Если вы вовремя не введёте нужные праметры, доступа к этому меню потом уже не будет.

Create Point Surface - аналогично, только создаёт Point-поверхность.

Create Transform Surface - создаёт зависимую трансформированную копию исходной поверхности.

Create Blend Surface - создаёт поверхность-переход между двумя выбранными поверхностями.

Create Offset Surface - создаёт поверхность смещения.

Create Mirror Surface - создаёт отражённую поверхность.

Create Extrude Surface - создаёт поверхность при экструзии одной из кривых.

Create Lathe Surface - создаёт поверхность вращения выбранной кривой. В параметрах можно выбрать направление (вокруг какой оси повернуть), а так же, создавать ли Cap на конце.

Create Rulled Surface - создать управляемую поверхность. Грубо говоря - лента между двумя кривыми.

Create Cap Surface - создаёт поверхность на замкнутом контуре. Замкнутый контур должен являться одной кривой.

Create U-Loft Surface - протягивает ленту через заданные опорные кривые. У этого типа поверхности есть группа меню U-Loft Surface, в которой по мере добавления появляются названия тех кривых, которые вы добавляете. С кривыми, отображёнными в списке можно работать - менять их последовательность при помощи стрелок вверх-вниз, расположенных над списком. Для этого надо выделить название нужной кривой, а затем двигать его стрелками.

Create UV-Loft Surface - аналогична предыдущей, но только помимо опорных поперечныъ кривых надо выбрать продольные. Лучше всего, если поперечные и продольные кривые будут соприкосаться в общих точках. У этой поверхности есть группа UV-Loft Surface, в которой имеется два списка, в один добавляются поперечные кривые U, которых может быть много, главное, не меньше двух, и другой список - в который добавляются кривые V, их тоже должно быть больше двух. Разделить добавление U кривых от добавления V кривых надо правым щелчком мыши: когда вы добавили все U-кривые, щёлкните правой кнопкой мыши, а затем приступайте к добавлению V-кривых.

Create 1-Railed Sweep - создаёт поверхность перемещением одной кривой вдоль другой. В итоге получается нечто вроде криволинейного четырёхугольника с параллельными противоположными сторонами.

Create 2-Railed Sweep - создаёт поверхность перемещения одной кривой между двумя выбранными кривыми.

Create a Multisided Blend Surface - создаёт поверхность, соединяющуюся с краями нескольких других поверхностей или опирающуюся на разные кривые. Можно одновременно соединять её и с кривыми и с краями поверхностей.

Create a Multicurve Trim Surface - Если на поверхности имеются кривые, которые пересекают друг друга или соприкасаются концами так, что образуется некоторый замкнутый контур, то можно вырезать внутри этого контура дырку. Сначала надо указать поверхность, а потом по очереди указать все кривые, которыми будет осуществляться вырезка дырки.

Create Filled Surface - аналог Create Filled Curve, только для поверхностей. Filled Surface задаётся двумя линиями, которые соединяют своими концами две выбранных поверхности. Для каждого конца можно задать положение x и y на кажой поверхности (x и y - криволинейные координаты на поверхности), а так же есть параметр Radius для каждой из боковых кривых Filled Surface. Чтобы сработало, надо долго и пристально крутить параметры, подбирая приемлемые.

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

Идеология NURBS

Итак, мы рассмотрели инструменты создания подобъектов. NURBS отличается от всех остальных типов объектов тем, что для него уже существуют готовые заготовки, которые уже при создании являются объектом NURBS. Фактически, NURBS Surfaces (СМ и Point) и NURBS Curves (СМ и Point), хотя и создаются каждый своей кнопкой, фактически это ни что иное, как подобъекты одного и того же типа объекта. Начать создание своего собстенного NURBS можно с любого из этих подобъектов, и не зависимо от того, с чего мы начали, можно добавить любой тип других подобъектов. У NURBS отображаются в стеке только те подобъекты, которые реально есть в наличии, если чего-то ещё не создано, то название такого типа подобъекта в стеке вы не найдёте. NURBS - это целый мир разнообразных подобъектов, которые ведут себя подобно самостоятельным объектам, им можно давать имена, можно создавать их зависимые копии, они имеют свои собственные параметры, к которым зачастую можно получить доступ. Нельзя только примянять к каждому подобъекту свой модификатор.

Проблемы создания поверхностей

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

Обратить можно кривую как самостоятельный объект, так и выбрать её как подобъект.

Обращение кривой как самостоятельного объекта: осуществляется в режиме работы с подобъектами Curves, при помощи кнопки Reverse. Стоит нажать на эту кнопку, начало и конец кривой меняются местами.

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

 

А теперь рассмотрим типы подобъектов NURBS особо не привязываясь к панели создания подобъектов, а в общих чертах.

Типы подобъектов

Не смотря на то, какой кнопочкой из панели инструментов создания был создан подобъект, существует несколько вполне определённых категорий подобъектов:

Единичный подобъект

Подобъектом является то, что можно выделить однократным кликом мыши. Следует обратить внимание, что даже если кривые или поверхности соединены между собой и гладко и плавно продолжают друг друга, вовсе не обязательно, что это один-единый подобъект. А если у нас одна линия состоит из нескольких плавно стыкующихся кривых, на неё нельзя натянуть поверхность как на цельную линию. То есть поверхность пройдёт или натянется только на одну из линий, а именно на ту, на которую будет совершён клик мышью при натягивании поверхности. Если вы кникните мышью по всем продолжающим друг дружку линиям, поверхность диким образом перекрутится. Исключение может составлять только Multisided Blend Surface, которая для того и предназначена, чтобы натягивать плёнку между множеством кривых и краёв других поверхностей.

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

Что касается поверхностей, то тот факт, что они гладко переходят друг в дружку, тоже не свидетельствует о том, что это единый подобъект. В чём недостаток того, что соединяющиеся поверхности не являются единым подобъектом? Да в том, что, во-первых, на них нельзя создать кривую, которая проходила бы по ним по всем. И даже нет такого подобъекта, как Fit Curve on Surface, то есть кривой, проходящей через заданные точки и лежащей при этом на поверхности. Но даже если бы и был такой объект, вырезать одну общую дырку в разных поверхностях тоже нельзя, вот это особенно удручает.

Скажем, вы создаёте автомобиль седан. нижняя часть - одна поверхность - крыша - другая, а там, где должны быть окна - Blend Surface и Multisided Blend Surface. Всё стыкуется, всё гладко, но прорезь для дверей не сделать, поскольку она должна лежать как на нижней, так и на верхней частях, а нижняя и верхняя части - разные поверхности.

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

А ведь делать части отдельно тоже не особо-то приятно, хотя это выход. Если создать зависимую копию кривой, а потом создать на ней Curve Point, и в режиме работы с подобъектами Point выделить эту точку и в группе меню Curve Point нажать ей Trim. Копия кривой разрежется, одна половина исчезнет. Если исчезнет не та половина, которую надо было убрать, поставьте флажок Flip Trim. Полученную таким образом половину можно использовать для создания передних или задних боковых крыльев. Меняя контур кривых, очерчивающих боковые части салона, мы автоматически будем получать такие же изменения для прилегающих контуров крыльев, и всё будет стыковаться. Если подумать и постараться, можно получить и для дверей кривые, повторяющие форму дверного проёма.

То есть, для моделирования техники, при определённых навыках, этот метод может быть очень очень полезен.

Дырку можно вырезать в поверхности, двумя способами - гладкая дырка вырезается если создать замкнутый контур, в режиме работы с кривыми выделить его и нажать для него Trim, тогда исчезнет часть поверхности либо вокруг контура, либо внутри него. Если исчезло не там, то нажмите Flip Trim.

Если нужна дырка с острыми углами, используйте Create a Multicurve Trim Surface.

Появившаяся дырка не меняет формы исходной поверхности.

 

Аппроксимация NURBS

Объекты NURBS и Editable Patch сочетают в себе два свойства - свойство редактируемых объектов и свойство параметрических объектов. Надеюсь, с редактируемой стороной всё понятно - это возможность вручную управлять формой кривых и поверхностей. А параметрическая часть - это число шагов аппроксимации и другие её параметры. В случае NURBS Curves у нас аппроксимироваться будут кривые. Тут всё аналогично сплайновым формам.

В случае NURBS Surfaces - всё несколько сложнее.

Во-первых, мы ещё нигде не упомянули о том, что каждая самостоятельная поверхность объекта NURBS не может рассматриваться как аналог лоскутка в Editable Patch или многоугольника в Editable Mesh или Editable Poly в том плане, что в отличии от составляющих всех других объектов, поверхности объекта NURBS не стыкуются между собой, то есть, как бы плотно они друг к дружке не прилегали, тем не менее, они физически друг с дружкой не соединены. Между всеми самостоятельными поверхностями NURBS есть разрезы. И даже если нам порой кажется, что поверхности переходят друг в дружку гладко и между ними нет швов, этот эффект достигается за счёт того, что для отображения поверхностей используется большое число шагов аппроксимации. А когда поверхность разбита на очень большое число граней, в тех местах, где на краях двух разных поверхностей грани почти параллельны друг дружке, может сложиться иллюзия того, что поверхности не соприкасаются, а продолжают одна другую.

Другой момент, что при моделировании вы можете видеть между прилегающими друг к дружке поверхностями весьма ощутимые дырки или пересечения, которые исчезают при рендеринге. Это происходит потому, что для аппроксимации поверхности при рендеринге стоят настройки, обеспечивающие более высокое качество конечной поверхности. Качество поверхности NURBS может быть достигнуто главным образом за счёт увеличения числа граней поверхности.

Surface Approximation - аппроксимация поверхности. Этот параметр аналогичен Steps в Editable Patch, только имеет некоторые свои особенности. Аппроксимация есть как для кривых (Группа меню Curve Approximation), где можно выбрать использовать ли Adaptive, а если не использовать - то указать число шагов Steps.

Для поверхностей - группа Surface Approximation, параметров побольше, но все они отвечают за число треугольников, которое будет использовано для апрроксимации. Важно это потому, что лишние треугольники съедают наши ресурсы, и если у нас слишком сложные NURBS объекты, если их много, то мы можем потерять не только на времени рендеринга, мы можем вообще ничего не срендерить, если компьютеру не хватит памяти для того, чтобы разместить в ней сцену. А вообще, если вы создаёте анимацию, опять же, чтобы слишком долго не ждать, можно и снизить число треугольников. Конечно, в большинстве случаев не стоит жертвовать качеством ради скорости, но если у вас проблемы со временем? К тому же, проблемы с памятью - это серьёзно.

Surface Approximation как обычно, можно выбрать для отображения в окнах проекций и для рендеринга отдельно, для этого есть круглый перключатель в самом верху. Когда он стоит напротив слова Viewports, мы делаем настройки для окон проекций, когда напротив Rendering - соответственно, для рендеринга.

Сразу под этими переключателями есть кнопки: Base Surface (основная поверхность), Surface Edge (края поверхности), Displaced Surface и маленькая кнопочка Lock, которая связывает и развязывает Base Surface и Surface Edge. То есть, нам даётся возможность при желании делать отдельно настройки для краёв и центра поверхности.

Далее идёт группа кнопок Tesselation Presets - преднастройки тесселяции. Тесселяция - дробление поверхности на треугольники. Преднастройки - это заранее сделанные настройки, на случай, если нам самим не охота возиться и настраивать вручную. Low - настройки, которые соответствуют малому количеству аппроксимирующих граней, Medium - среднему и High - высокому.

Tesselation Method - метод тесселяции.

Regular - регулярный - делает меньше граней, и может пропустить мелкие детали на ваших поверхностях, некоторые дырки могут исчезнуть.

Parametric - параметрический, дробит поверхность сильнее, зато лучше обходится со всякими деталями, в том числе дырками.

U Steps, V Steps - число шагов по направлениям U и V, которое может быть задано для каждого направления своё.

Далее идут переключатели методов дробления поверхности, Spatial - регулярное разбиение на равномерную сетку, Curvature - более рациональное разбиение, на неравномерную сетку, Spatial and Curvature - комбинация обоих методов. Далее идут параметры Edge (рёбра), Distance (дистанция, расстояние) и Angle (угол) - эначения этих параметров определяют:

Edge - максимальную длину ребра, чем больше значение, тем более длинные рёбра бутут присутствовать в вашей поверхности. То есть здесь фактически надо ввести ограничение на длину рёбер.

Distance - так же некое ограничение на расстояние, на котором всё должно срабатывать.

Angle - указывает значение угла, ниже которого углом можно вообще принебрегать и объединять сходящиеся под маленьким углом треугольники в более крупные треугольники.

И на последок: совсем маленькая группа меню - Display Line Parameters.

Ну вот, пожалуй, основное по NURBS мы рассмотрели. Конечно, у NURBS есть и некоторые другие параметры, которых мы не касались, но, надеюсь, зная основы, при необходимости вы сможете разобраться сами, по хелпу, или методом научного клика.

<< Назад Оглавление   Вперёд >>
homepage: http://teapot3d.narod.ru
Используются технологии uCoz