Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ponimayka1

.pdf
Скачиваний:
123
Добавлен:
07.06.2015
Размер:
37.11 Mб
Скачать

Когда устанете мотать, загляните в Channel Box, и там вы обнаружите строчку CVs (Click to

show).

Щелкните по ней - увидите координаты выбранной контрольной вершины. Только координаты не в пространстве, а на плоскости цилиндра, типа широты и долготы. Также можно заметить, что координата Z равна нулю. Пытливые умы быстро сообразят, что X и Y соответствуют координатам U и V.

Вбейте для Y довольно большое значение, например, 64. Спираль намотается на цилиндр около восьми раз. Поэкспериментируйте со значением X и положением нижней точки.

Вдумайтесь еще раз: всего две точки определяют спираль, притом с произвольным количеством витков. Вспоминайте про лист бумаги (если будет совсем туго).

Недовольное примечание. То, что MAYA рисует построенную кривую в виде ломаной угловатой линии - это глюк последней версии программы, чья-то недоработка, чистая профанация или неуклюжее желание напомнить пользователю, что кривая имеет первую степень. На самом деле, такая кривая абсолютно точно лежит «в поверхности» и никоим образом не оттопыривается в виде ломаных уголков. (Ведь при сворачивании листа бумаги нарисованная линия не топорщится!) В версии MAYA 1.0, помнится, такого безобразия не было.

Чтобы завершить свой «психоделический эксперимент», выберите кривую на поверхности целиком и превратите ее в обычную трехмерную кривую с помощью операции Edit Curves=>Duplicate Mace Curves.

Возникнет новая обычная кривая третьей степени, которую можно оттащить в сторону и

191

убедиться, что Construction History полностью сохраняется в ходе выполненной операции. Изменяя форму цилиндра, вы будете изменять форму спирали.

Дальше я изложу еще немного теории, предназначенной для взрослых мальчиков связанной с понятием «жесткости» точек (Multiplicity), их весами (CV weights) и определением граничных условий. В принципе изложенных сведений про кривые достаточно, чтобы начать с ними работать, особенно если ваши задачи лежат только в области создания органических форм Однако если вы намерены строить изощренные сплайновые модели или собираетесь заняться полупромышленным дизайном, деваться некуда - вы просто обречены на углубленное изучение свойств сплайновых объектов.

Небольшой раздел для взрослых. Multiplicity. Концевые условия (End Conditions)

MAYA позволяет притягивать кривую к контрольным точкам с помощью операции Еdit Curves=>CV Harden. (Не надо путать эту операцию с изменением весов контрольных точек, она оперирует таким понятием как CV Multiplicity.)

Эта операция работает адекватно, только если включить опцию Keep Originals. В этом случае создается нода типа hardenPoint, у которой можно вручную задавать значение параметров multiplicity. В противном случае значение multiplicity всегда устанавливается равным степени кривой, то есть трём в нашем случае. Эта команда также работает только в том случае, если справа и слева от выбранной контрольной точки находятся по две точки со значением multiplicity равным единице. Иначе говоря, эта операция не работает на концах кривой.

Терминологический комментарий. Multiplicity можно перевести как «множественность» или, если уж совсем по-умному, «мультипликативность» Этот термин указывает, сколько реально точек скрываются под одной видимой

192

точкой. В случае, когда в контрольных вершин, говорят Points, их называют multi-knot

одном

месте пространства находятся несколько

про

CV

Multiplicity. Если совпадают несколько Edit

или

multiple knot.

Аналогичного эффекта «множественности точек» можно достичь, вставляя в любом месте кривой(в том числе и в Edit Point) multiple knot при помощи операции Edit Curves=>lnsert Knot. В этом случае контрольная точка как бы притягивается к кривой и приобретает multiplicity равную

трем. При перемещении ее также обнаруживается угол на кривой.

Если вы выберете Edit Point в этом углу и понажимаете стрелки вправо и влево, то увидите, что там, на самом деле, целых три точки. Правда, попытка таскать их индивидуально не будет успешной. В этом и состоит иллюстрация понятия multiple knot, то есть «множественный узел». При этом, контрольная вершина в углу одна, в чем также нетрудно убедиться, нажимая стрелки вправо-влево.

Нетрудно также убедиться, что на концах любой кривой всегда присутствуют «множественные» точки, то есть multiple knots. Однако команда Rebuild с опцией No Multiple Knots не «развязывает» эти узлы. Для того, чтобы удалить «множественность» на концах кривой нужно задать Rebuild Туре = End Conditions и установить End Conditions = No Multiple Knots.

Пытливые умы тут же вспомнят, что в иструментах создания кривых (CV/EP Curve Tool) была похожая опция, которая называлась Multiple End Knots, включенная по умолчанию.

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

193

Такие кривые, конечно, не сильно удобно редактировать с помощью контрольных точек однако они обладают весьма замечательными свойствами.

Если вы построите и гладко состыкуете две обычных кривых, а потом примените к ним обоим любой деформер (например, Lattice или Bend), то в месте соединения кривых явно вылезет угол. Тоже самое будет и с поверхностями.

Однако если построить две кривые с выключенной опцией Multiple End Knots и гладко их состыковать (это очень легко сделать, просто «приснапив» три последние контрольные точки первой кривой к трем первым точкам второй кривой, причем можно это сделать прямо в процессе построения), то применение любого деформера не вызовет появления швов и углов между кривыми. (Пример применения bend деформера сохранен в файле endConditions.ma.) Можете также проверить это явление и для поверхностей, у которых края не являются «множественными».

Таким образом, кривые и поверхности без multiple knots на концах обладают весьма полезными свойствами, однако их применение совершенно не распространено в связи с трудностями контроля и редактирования границ объектов.

Веса контрольных точек (Weights)

Теперь разберем, что такое веса контрольных точек. Особо эрудированные пытливые умы уже прослышали, что буква R в аббревиатуре NURBS, означает "rational", что, в свою очередь,

194

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

Совсем уж филологически подкованные умы спросят, а где же ratio (отношение! из слова rational? Ответ на это - сугубо математический: формула для NURBS может представлять собой отношение (частное) двух полиномов.

Изменение весов контрольных точек должно вести к изменению степени притяжения кривой или поверхности к этим контрольным точкам.

«И как будем менять?», спросите вы.

Легально никак! MAYA работает с rational-геометрией в режиме Read Only. То есть, она понимает такие объекты и корректно отображает их. Если вы, например, импортируете в MAYA сцену в формате IGES, созданную за пределами MAYA и содержащую геометрию с дробными весами, то MAYA прекрасно ее скушает и даже позволит вам с нею работать. Но никаких стандартных инструментов для изменения значений весов в MAYA нет. И, похоже, не будет, так как MAYA позиционируется как пакет для анимации, а не для промышленного дизайна, и поэтому требования к точности построения онлайновых поверхностей не являются слишком строгими. Более того, MAYA имеет определенный набор инструментов, чтобы избавляться от rational-геометрии. В частности, в опциях операции Rebuild Surfaces есть метод Non-Rational, с помощью которого вычищаются все веса,отличные от единицы, и поверхность перестраивается в тип non-rational.

Однако, зная, как пользоваться языком MEL, и обладая известной сообразительностью, можно попробовать поиграть с весами точек. С помощью документации к ноде nurbsCurve=>curve Shape=>controlPoints выясняем, что представляет собой атрибут weights, который содержит веса точек.

Строим сплайновую окружность по умолчанию Create=>NURBS Primitives=>Circle.

• Script Editor выполняем команду

getAttr ,wt[0:7]

// Result: 1 1 1 1 1 1 1 1 / /

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

setAttr .wt[0:7] 5 15 15 15 1

Получаем «угловатую окружность», притянутую к своим четным контрольным точкам.

195

Продолжим издевательства. Выполните команду

setAttr .wt[0:7] 10 10 10 10

Получим квадрат.

Таким образом, чтобы изменить вес контрольной точки кривой, надо знать ее номер и синтаксис команды setAttr. Для поверхностей все немного сложнее, так как номер точки зависит от количества столбцов и строк контрольных точек, однако вычисляется это без труда. На сайте www.highend3d.com находится некоторое количество скриптов с адекватными интерфейсами для редактирования весов точек. Однако я бы не советовал увлекаться rational-геометрией, так как многие операции работы с поверхностями не будут корректно работать с такими объектами.В частности, операция Align не обеспечит гладкую стыковку, а конвертирование таких поверхности в сабдивы просто игнорирует rational-геометрию.

Для любителей Безье

Для неутомимых любителей кривых и патчей Безье могу предложить один инструмент, который, возможно, немного скрасит их ностальгию по «усикам» и «гантелькам». Но немного и ненадолго. Для кривых такой инструмент называется Edit Curves=>Curve Editing Tool. При помощи него можно выбрать любое место на кривой и отредактировать кривую в этом месте. В отличи от кривых Безье, этот инструмент позволяет редактировать кривую в любом месте, а не только на границах сегментов.

196

Манипулятор этого инструмента представляет собой «паровоз», который умеет ездить по кривой, может изменять положение любой точки кривой, а также величину и направление касательной в любой точке.

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

Две пунктирные линии позволяют сделать касательную к кривой вертикальной или горизонтальной. Часто это удобно делать для крайних точек кривой, когда надо «подвести» кривую к какой-нибудь границе строго вертикально или горизонтально.

Для поверхностей существует аналогичный инструмент по адресу Edit NURBS=>Surface Editing=>Surface Editing Tool. Он также позволяет перемещать любую точку поверхности и дополнительно редактировать направление нормали.

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

илегонько их поворачивая.

Вэтом месте очень удобно сделать стремительный реверанс в сторону артизана. И заодно потихоньку перейти к работе с поверхностями.

Артизан. Воплощение в скульпуре

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

В приложении к моделированию Артизан имеет три воплощения. Это три инструмента: Edit NURBS=>Sculp Geometry Tool, Edit Polygons=>Sculp Polygon Tool и Subdiv Surfaces=>Sculp Geometry Tool

Сразу оговорюсь: все они относятся к разряду инструментов абсолютно неточного моделирования. Их задача состоит в том, чтобы облегчить нормальному человеку (а не безумному инженеру) создание трехмерных форм привычными и интуитивно

197

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

Инструменты основаны на концепции кистей, которыми можно надавливать (Push) вытягивать (Pull) или сглаживать (Smooth) поверхность прямо в трехмерной перспективной камере.

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

Использование этих инструментов вызывающе просто. Достаточно выбрать объект, затем соответствующий инструмент, а далее желательно открыть Option Box этого инструмента, чтобы получить доступ ко всем его настройкам. Настройки всех артизановских инструментов практически идентичны, поэтому я буду пока говорить про Edit NURBS=>Sculp Surface Tool.

Совет. Можно быстро добраться до зтого инструмента с помощью меню на правой кнопке мыши, где нужно выбрать Paint->Sculpt.

I "'шашш"

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

Настройки инструмента, хоть и многочисленны, но быстро осваиваются методом тыка, Первое, во что стоит потыкать, это радиус кисти и тип операции (Operation). Так как по кнопке Tool Help выскакивает очень понятная документация с картинками, нет смысла перечислять все параметры. Комментариев к некоторым из них и немного практических советов будет вполне достаточно.

Идеальным является наличие планшета при использовании Артизана. Наличие двух радиусов позволяет задать диапазон изменения радиуса кисти при нажатии на планшет. В случае использования мыши второй радиус игнорируется.

Совет. Используйте горячую клавишу 'Ь' для интерактивного изменения радиуса кисти (brush). Для этого нажимайте и удерживайте эту клавишу, при этом

198

нажимайте и перемещайте левую кнопку мыши прямо в окне камеры.

Нажатая и удерживаемая кнопка 'и' показывает marking menu, «обслуживающее» инструмент Артизан. В нем можно быстро выбрать операцию и другие параметры.

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

Часто бывает необходимо рисовать сразу двумя кистями симметрично относительно какойнибудь оси. Это можно сделать в разделе Stroke, включив галку Reflection и выбрав ось.

Совет. Чтобы замаскировать часть поверхности, то есть защитить ее от рисования, выделите нужные контрольные вершины, а потом снова включите инструмент. Рисование будет производиться только по выбранным вершинам.

199

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

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

Полезное применение Артизана заключается также в загрузке карты изображения прямо в выбранную операцию. Иначе говоря, выдавливание и вытягивание объекта целиком по карте изображения. Некий интерактивный displacement.

Для этого нужно выбрать операцию (например Pull), а затем в разделе Attribute Maps=>lmport нажать кнопку Import и выбрать нужный файл с изображением.

Но одно из самых полезных и не таких очевидных применений Артизана основано на его способности сглаживать поверхности. Дело в том, что операция Smooth предназначена не только для того, чтобы сглаживать ваши неуклюжие движения мышью. Ее можно применять для редактирования поверхностей, вообще не затронутых Артизаном прежде. Операция Smooth «расправляет» поверхность, более равномерно распределяя точки вдоль самой поверхности. Это очень удобно, когда ваша поверхность в результате редактирования «запуталась», то есть

200

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]