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

ponimayka1

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

Блокировка, возможно, случилась при импорте модели или была сделана вручную операцией Set Vertex Normal с включенной опцией Lock Normals.

Совет. Если вы не

занимаетесь производством

игр,

вам вряд ли придется менять

вершинные

нормали

вручную. Поэтому советую

вам

разблокировать их (с помощью

Set Vertex

Normal),

а жесткостью ребер управлять

с помощью Soften/Harden.

Проследите также, чтобы галка Set User Normal не была включена в Option Box операции Set toFace. Эта, еще одна нелогично названная, галка блокирует вершинные нормали и устанавливает их в весьма экзотическое направление.

Немного про историю и инстансирование

Практически все операции полигонального моделирования создают историю. Как правило, исходные объекты основательно прячутся (превращаются в Intermediate Objects), однако остаются в сцене. Поэтому если вы не планируете использовать историю некоторых операций, удаляйте ее. В общем случае, история моделирования выглядит как цепочка нод, передающих друг другу модифицированную поверхность в виде связки атрибутов .output=>.inputPolymesh.

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

361

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

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

Они здесь:

http://highend3d.com/maya/downloads/meLscripts/data_management/257. html http://highend3d.com/maya/downloads/mel_scripts/1722.html

В главе про изнанку MAYA я привел довольно подробный пример, объясняющий работу полигональной историей и атрибутами inMesh и outMesh.

Здесь я лишь напомню про распространенный трюк, активно применявшийся и применяющийся поныне, как альтернатива операции Smooth Proxy.

Возьмите полигональную поверхность, например, куб.

Удалите историю, скопируйте и отодвиньте его вправо.

Выберите обе копии, откройте Hypergraph и выполните там Graph=>lnput and Output Connections.

Нажмите Shift и перетащите средней кнопкой мыши ноду pCubeShape1 на pCubeShape2.

Появится Connection Editor. В нем надо соединить атрибут pCubeShape1.outMesh с атрибутом pCubeShape2.inMesh.

362

Теперь поверхность второго куба «синхронизирована» с поверхностью первого. При изменении формы первого куба происходит немедленное обновление связи и форма второго куба мгновенно перестраивается.

Внимание! В этом случае есть кардинальное отличие от простого инстансирования с помощью операции Duplicate (Geometry Type=lnstance). Оно заключается в том, что поверхностей две и одна повторяет форму другой. В случае инстансирования поверхность одна на два объекта (трансформа).

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

363

Это дает возможность, например, сгладить форму второго куба и наблюдать на ней изменения, сделанные для первого, несглаженного куба.

Дерево истории выглядит при этом предельно просто.

Таким образом, вы может сконструировать свой вариант Smooth Proxy, комбинируя инстансирование и синхронизацию inMesh/outMesh.

Текстовый графический режим. Работа с текстами

Вопрос создания объемного текста был исторически довольно слабым звеном в MAYA. С те! | пор как умер плагин Invigorator компании Zaxwerks, это свято место зияло пустотой, ибо стандартная в операция Create=>Text всегда поражала меня своим аскетизмом. Но на рубеже седьмой версии» этом вопросе случился прорыв. Даже два прорыва!

364

Во-первых, в Option Box операции Text появилась опция Bevel, позволяющая автоматически сглаживать объемный текст нужными фасками и создающая нормальную историю объекта с возможностью изменения самого текста позже.

Во-вторых, наконец-то появился нормальный обмен с файлами пакета Illustrator с помощью операции Create=>Illustrator Text. Создаваемый трехмерный текст отслеживает связи с исходным файлом в формате .ai, и, в случае изменения последнего, вы можете обновить созданный текст одним нажатием кнопки.

Вершинные цвета и симуляция освещения

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

Я не буду подробно останавливаться на работе с вершинными цветами (Vertex Colors), так как эта технология используется в основном в игровом производстве. Скажу лишь, что в меню Edit Polygons->Colors содержится набор операций для работы с такими цветами. Вы можете назначать

365

цвета вручную, рисовать их прямо на поверхности или «запекать» текущие текстуры и освещение

ввершинные цвета. Последняя операция обычно называется «прелайтом» (Prelight) и состоит из полноценного просчета с помощью выбранного рендерера и конвертации полученного изображения

ввершинные цвета.

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

Карты нормалей, ZBrush, Modo и другие

Когда-то полностью интегрированные ЗD-пакеты типа МАУА были чем-то вроде законодателей мод во всей индустрии компьютерной графики, однако со временем выяснилось, что неболышие компании могут делать гораздо более гибкие и функциональные программы, предназначеные для решения узкого круга задач, например, только для моделирования или специально для рендеринга. Шквально растущая игровая индустрия спровоцировала появление шустрых и удобных программ специально для полигонального моделирования, отвечающих практичесм всем требования трехмерных моделлеров. Производители «тяжелых» интегрированных программ не могли столь же оперативно реагировать на стоны пользователей, и в результате на рынок вышли новые игроки.

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

Было бы гораздо удобнее взять болванку и начать ее мять, гнуть или отсекать все лишнее, не заботясь о том, где и сколько вершин находится на поверхности. Развитие технологии иерархических Subdivision Surfaces спровоцировало появление новых подходов и инструментов. Мощный толчок получило развитие концепции кистей, с помощью которых пользователь может редактировать поверхность с любой степенью детализации, «прокрашивая» морщины, впадины, рельеф поверхности, используя текстуры в качестве выдавливающих кистей и пр. Появились новые программные продукты, исповедующие новую, «художественную», парадигдму, в отличие от старой, «инженерной» - я, конечно, сгущаю краски, но звучит, согласитесь, красиво... Перечислю некоторые из них.

Компания Sensable Technologies (www.sensable.com) доводит концепцию трехмерной скульптуры до реализации обратной связи модели с пользователем. Решение ClауTools представляет собой программно-аппаратный набор, и если программная часть чем-то напоминает рисование майскими кистями в Sculp Geometry Tool, то аппаратная представляет собой перо (или стилус, если угодно), конец которого закреплен в шарнирной «руке». Перо используется как трехмерная мышь, а «рука» обеспечивает обратную связь, то есть если вы пытаетесь надавить курсором этой мыши на поверхность модели на экране, устройство отвечает вам упругим сопротивлением. Это дает совершенно неповторимое ощущение «реальности» и «твердости» модели, находящейся перед вам на экране.

Компания Luxology (www.luxology.com) выпустила на рынок пакет Modo. Основной лозунг программы «Model Like You Mean I t » предполагает максимальную дружественность интерфейса» в то же время множество мелких и приятных доработок, облегчающих и ускоряющих довольно монотонный труд трехмерных моделлеров. Кошмар по созданию UV-карт превращается в Modo я набор несложных действий, а система кистей обеспечивает интуитивно понятное взаимодействие

366

художника и модели.

Королем нового подхода к полигональному моделированию является компания Pixologic (www.pixologic.com). Она создала и продолжает разрабатывать, я не подберу другого термина, совершенно чумовой пакет ZBrush. Он использует крайне своеобразную концепцию (ZSpheres), благодаря которой объем модели набирается из множества перекрывающихся сфер, и в то же время пользователь может использовать уникальные возможности трехмерного рисования, выдавливая или вытягивая объем подобно обычному процессу создания скульптуры. Вдобавок ко всему программа использует иерархические полигональные сетки с любым количеством уровней сложности (subdivision surfaces), позволяет гнуть модель с помощью подобия скелета и костей, потрясающе работает с картами деформаций и нормалей (normal/displacement maps) и имеет еще много разных уникальных особенностей. Программа позволяет ворочать модели весом в миллионы полигонов в реальном времени. ZBrush явно изменяет представление о традиционном полигональном моделировании. Зайдите на сайт, почувствуйте атмосферу и загляните также в галерею на www.pixolator.com/zbc/featured2col.php

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

Из-под пера (точнее, кисти) вышеперечисленных пакетов выходят потрясающие высокодетальные модели, фантастические выглядящие на финальном просчете. У них, правда, есть недостатки. Их всего два: они вызывающе тяжелые и совершенно не годятся для анимации. Оба этих недостатка призваны скомпенсировать технологии Normal Maps и Displacement Maps.

Если вы сделаете модель из пятидесяти миллионов полигонов в ZBrush и попытаетесь втянуть ее в MAYA, вас, очевидно, ожидают некоторые проблемы. Прежде всего с памятью. Выход может быть такой:

Можно взять низкополигональную (или адекватнополигональную) версию супермодели и создать карту-текстуру дисплейсмента (displacement map), которая будет

содержать

пространственную разницу

между

двумя версиями

модели. Грубо

говоря, берется

низкополигональная

поверхность и

в каждой точке измеряется расстояние

до ближайшей

точки (по

нормали)

на высокополигональной

поверхности. Это

расстояние затем записывается

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

Если предполагается не финальный качественный просчет, а вывод изображения в реальном времени на экран, например, игровых консолей, то вместо карт дисплейсмента обычно вычисляют карты нормалей (Normal Maps). Они похожи на карты бампа (Bump Mapping), только используют не один, а все три канала цвета. Они, в отличие от бампа, не «подворачивают» нормали освещенности, а полностью заменяют их.

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

Карты дисплейсмента и нормалей вычисляются обычно в тех программах, где эта модель создается, однако в MAYA есть свой инструмент для вычисления разности между поверхностями и для сохранения ее в карту-текстуру. Этот инструмент называется Surface Sampler, и находится он в меню Modify.

367

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

В раздел Target Surfaces надо загрузить низкополигональную модель, в раздел Source Surface высокополигональную или даже сплайновую поверхность (их может быть несколько), Желательно, чтобы поверхности располагались в одном месте пространства, максимально близко друг к другу. Затем надо выбрать тип создаваемых карт (например, Displacement Map), задать разрешение, формат и установить опцию Shading Network=Attach to Shading Network чтобы генерируемая карта сразу присоединилась в каналу дисплейсмента и можно было, просчитать картинку, увидеть результат. После этого надо повозиться с настройками для эффективного просчета дисплейсмента.

Имейте в виду две неочевидных вещи: первое, Mental Ray не понимает (пока!) формат dds, и, второе, низкополигональная модель должна иметь хорошие неперекрывающиеся текстурные координаты, расположенные в диапазоне от 0 до 1.

Если вы будет создавать карты нормалей (Normal Maps), то они автоматически цепляются к каналу Bump Mapping. Чтобы увидеть их в окне камеры, надо включить режим Shading=>High Qual­ ity Rendering.

Технология использования карт нормалей и дисплейсмента стремительно развилась буквально в последние годы и продолжает совершенствоваться. Уже появились специальные плагины для генерации и поддержки 64-битных карт, улучшены системы импорта-экспорта. Новая технология становится стандартом.

368

Практические советы мастеров Полидзен

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

Здесь же я хочу поблагодарить всех мастеров, помогавших мне при подготовке этой главы. Это Владимир «Piastro» Панкратов, Саша «Вlаск» Коршунов, Стае «Stass3D» Глазов, Нилc «Dr.Snake» Блумберг, Ян Зубарев, Сергей Луценко и Миша Бажуткин.

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

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

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

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

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

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

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

По поводу пристального взгляда. Во время моделирования не следует торопиться (если вы только не идете на рекорд или не пытаетесь выиграть пари). Имеет смысл крутить модель со всех сторон, анализировать ее под разными углами, определяя, где еще нужно подтянуть пару вершин перед добавлением новых ребер. Кроме того, заведите на рабочем столе небольшое зеркало и почаще смотритесь в него - помогает! Давайте глазам отдыхать, ведь глаз имеет свойство «замыливаться».

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

369

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

По поводу объема. Чувствуйте объем, поэтому не тяните слишком сильно в одном месте - если потеряете текущий объем, придется «вдавливать» в других местах. Речь идет не об экструдировании, а о доводке и разрезании поверхности в нужных местах. Любая сложная форма может быть низведена до примитивной, и в большинстве случаев это - кубик. Мысленно представляйте его себе, и следите, как он изменяется.

Держитесь четырехугольников. Еще раз. На всякий случай.

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

Не перемоделивайте. Значительную часть работы можно сделать текстурами. Бамп и дисплейсмент могут творить чудеса и экономить уйму времени.

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

Если графическая карта надрывается и начинает «коматозить», не забывайте, что существует специальный режим отображения объектов на экране. Он включается выбором Display=>Fast In­ teraction. После этого большие сцены начинают отображаться с учетом удаленности объектов от камеры (Level of Detail). Поработав с в этом режиме, не забудьте его выключить в следующей сцене, он может быть источником проблем, например, при работе с Image Planes.

Хорошую альтернативу Image Planes составляют полигональные плашки, на которые натянуты текстуры с прозрачностью. С помощью атрибутов Alpha Gain и Color Gain текстуры типе File, можно настроить комфортное отображение скетчей. Дополнительное преимущество плашек состоит в том, что их можно запихать в слои, быстро включать/выключать, сделать их как Refer­ ence, чтобы предотвратить их выбор.

370

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