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

ponimayka1

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

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

Переходим в камеру side.

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

Используя CV Curve Tool, привязку к сетке и клавишу shift, рисуем кривую так, чтобы первые и последние точки располагались вертикально, а остальные на горизонтальной прямой.

Далее, для построенной кривой выполняем Modify=>Center Pivot, а затем смещаем pivot в начало кривой.

Если построенный профиль выбран, выберите дополнительно край окна (Trim Edge) на передней стенке кабины.

Выполните операцию Surface=>Extrude (Tube, At Path, Component, Profile Normal).

271

Толщину скругления можно отрегулировать, масштабируя кривую по вертикали

Постройте такой же Extrude для другого иллюминатора, используя имеющийся профиль, Если профиль выворачивается внутрь кабины при экструдировании, достаточно развернуть направление кривой профиля на противоположное (Edit Curves=>Reverse Curve Direction).

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

Сохраняем сцену (trainNew5.ma).

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

С помощью FilletCurve удобно сгладить углы на профилях, которые изготавливались для колеса и рельс.

272

Зоркие умы, пардон, глаза, у которых включено постоянное отображение Edit Points для кривых, заметили, что при включенных опциях Trim и Join, сегменты возникают точно в тех пестах, где были отмечены Curve Point. Это наводит на мысль, что в этих местах появляются множественные точки.

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

"КЛЮВЫ".

В данном случае это не представляет опасности, но следует иметь в виду на будущее, что эта операция «молча» добавляет множественные точки.

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

273

В этом случае, кривую надо предварительно замкнуть с помощью Open/Close Curves с опцией Shape= Preserve.

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

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

О том, что не влезает в эту главу. Патчевое моделирование

Некоторые из вас наверняка слышали про патчевое моделирование, суть которого сводится к построению каркаса из кривых и последовательному обтягиванию этого каркаса поверхностями с помощью операций Boundary/Square или с использованием инструментов Birail. Суть метода патчевого моделирования и особенности инструментария Birail сводятся к тому, что через каркас из четырех (или трех) кривых можно провести поверхность, причем границами поверхности (то есть кривыми из каркаса) могут выступать края других поверхностей. При этом создаваемая поверхность гладко стыкуется на краях с соседними поверхностями. Можно назвать такой способ «заплаточным моделированием».

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

Не приводя конкретных упражнений, приведу общие рекомендации по использованию сшивания поверхностей. Если вы жаждете практики, то на сайте www.alias.com, есть прекрасное (и очень длинное) упражнение по изготовлению типа человеческого лица с помощью патчей. Выполнив эти инструкции, вы сможете вволю натешить себя применением операций Square, Birail и Stitch, а заодно ощутить всю прелесть такого подхода. Подумайте заодно, как анимировать такие маски.

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

274

упражнение-описание того, как смоделировать автомобиль Subaru. Текст этого упражнения с иллюстрациями занимает двести сорок три страницы, а инструкции дают исчерпывающее представление о моделировании твердотельных конструкций. В момент написания книги я видел это гениальное описание на сайте www.learning-maya.com.

Особенности использования операции Global Stitch

Чаще края объектов подгоняются друг к другу с помощью операции Global Stitch, позволяющей закрыть зазоры между всеми выбранными поверхностями и модифицировать их контрольные точки на границах, так, чтобы стык был «гладким» не только по позиции, но и по тангенсу и кривизне.

Для применения этой операции все поверхности должны быть обязательно подготовлены: параметризация должна быть типа Uniform и желательно по количеству сегментов (0 to #Spans). Крайне желательно также удалить Construction History.

В параметрах самой операции необходимо установить Stitch Corners=Closest Knot; Stitch Edges=Equal Params; Stitch Smoothness=Normals или Tangents. Это обеспечит плавное «втекание» поверхностей друг в друга.

Опция Stitch Corners=Closest Knot определяет, что углы поверхностей притягиваются к ближайшему углу или к ближайшей границе между сегментами на соседней поверхности. Если визуалыю, то к ближайшему месту пересечения изопарм.

Опция Stitch Edges=Equal Params обеспечивает то, что при стягивании краев изопармы соседних поверхностей стремятся «состыковаться» друг с другом. Это очень удобно для борьбы с дырками на швах.

Stitch

Smoothness=Normats/Tangents, задает, как

будет модифицироваться

второй (и

даже третий,

в случае Normal) от края ряд контрольных

вершин, для того, чтобы

поверхности

стыковались друг с другом не только без зазора, но и гладко.

275

Для бесшовного рендеринга опция Stitch Edges=Equal Params просто бесценна. Как вы помните, сплайновые поверхности, как правило, разбиваются на полигоны перед визуализацией, Чтобы на швах между объектами, сшитыми с помощью Global Stitch, гарантированно не появлялось дырок, следует для всех этих поверхностей включить в Attribute Editor опцию Enable Advance Tessellation в разделе Tessellation. После этого для всех поверхностей следует определить, на сколько полигонов разбивается каждый сегмент между изопармами. А так как изопармы сшитых поверхностей как бы «втекают» друг в друга, то с каждой стороны от края будет одинаковое количество полигонов между изпармами и, соответственно, ребра полигонов будут совпадать.

Если вы захотите отредактировать одну из поверхностей, сшитых с помощью Global Stitch, то, боюсь, вам будет проще удалить Construction History, изменить поверхность и сшить все заново, Так, по крайней мере, будет быстрее.

Чуть не забыл: в Option Box операции Global Stitch есть параметр Max Separation, задающий, насколько близко должны располагаться края поверхностей, чтобы они начали сшиваться. Его зачастую проще оставить по умолчанию, то есть достаточно маленьким, и настроить потом, после выполнения операции сшивания, в атрибутах ноды globalStitch.

Совет. Поэкспериментируйте с атрибутами ноды globalStitch после выполнения операции сшивания.

Пока вы не удалите Construction History, края поверхностей будут притягиваться друт к другу. Поэтому изменение формы одной поверхности будет влиять на соседние объекты.

Для тех, кто по прежнему страстно желает попрактиковаться с использованием сшивания и

276

применением сплайнов для органического моделирования, я могу порекомендовать переведенную на русский язык книжку Mastering MAYA Complete. Там есть пример прилежного моделирования собаки, кромсания ее на заплатки и пришивания конечностей с помощью операции Stitch.

Практические советы

На этом я бы хотел закончить разговор о сплайновом моделировании и дать еще немного практических рекомендаций.

Избегайте острых углов между поверхностями. Для реалистичной визуализации.

Старайтесь не применять Trim и Planar, в основном из-за потенциальных дырок на швах (Trim Edges).

Не оставляйте видимыми открытые края поверхностей. Они выглядят как острые грани

ирежут глаз. Загните или закамуфлируйте их чем-нибудь.

Не используйте Round Tool и Circular Filet. Они работают медленно, создают тяжелую геометрию, результат не всегда предсказуем.

Если не удается построить геометрию при помощи стандартных инструментов, пытайтесь сделать необходимые участки вручную, используя различные привязки, вспомогательные объекты для-приснапливания»; «отдирайте» изопармы там, где надо, и проводите по ним заново Loft или

Birail; не забывайте про Rebuild и т.д.

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

Используйте Hull для выбора целых рядов контрольных точек.

Следите, чтобы сетка соединяющая контрольные вершины, не «запутывалась» и не перекручивалась. «Хорошая сетка» из контрольных вершин - равномерная и гладкая.

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

Помните про параметризацию. Старайтесь контролировать количество сегментов и тип параметризации на выбранных поверхностях и кривых перед применением очередной операции сплайнового моделирования. Почаще перестраивайте поверхности с помощью Rebuild Surfaces, сохраняя форму (Keep=CV) и перераспределяя параметр (Parameter Range=0 to #Spans).

Имейте в виду, что некоторые операции (например, Freeform Fillet) создают поверхности

спараметризацией Chord Length. Это может быть источником неприятностей.

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

Главная практическая рекомендация

Основной практический совет относится не только к работе с NURBS, но и к моделированию вообще.

Не моделируйте лишнего!

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

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

277

движения изображение размывается и ваш брак» мало кто увидит. Глубина резкости также размывает очертания объектов, так что всегда держите под рукой (или в голове, если вы сам себе режиссер) раскадровку и описание планов. Кроме того, если внимание в кадре направлено на один основной объект, то остальные могут быть смоделированы прямо-таки с отвратительным качеством, особенно если план достаточно короткий.

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

Не знаю, кто как, а я попал в компьютерную графику благодаря горным лыжам. В конце 1996 года мне окончательно надоело продавать компьютеры для нефтегазовой отрасли народного хозяйства, в результате чего я уволился, откуда только мог, и уехал в горы. Естественно, на Чегет. Собираясь в дорогу, я встретил людей, которые довели до моего сведения, что российская компьютерная графика нуждается в относительно молодых и пытливых умах. В отличной компании и прекрасном настроении, предвкушая смену профессиональной деятельности, я погрузился в самолет и отправился навстречу заснеженным вершинам.

Снега не было вообще...

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

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

несколько привык, что опасные места обычно обозначены как на карте, так и на местности и что в Австрии, например, можно вообще загреметь в полицию за катание вне обозначенных трасс.

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

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

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

278

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

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

Самое интересное началось дальше, когда стоять между переходами стало уже невозможно: я плюхался на снег, даже не дожидаясь головокружения, а просто отсчитав норму шагов. Я читал в детстве у Джека Лондона, что замерзшие в пурге старатели не сильно мучились, а скорее, наоборот, имели весьма довольный вид. Я, конечно, не замерзал, но сев на снег, я запасался всей имеющейся силой воли, чтобы через минуту встать. Как только я закрывал глаза, чего делать было, оказывается, нельзя, перед моим взором возникали такие красочные картины и нереальные объекты, что я начинал просто глупо улыбаться .Никакие процедурные текстуры не могут сравниться с красотой психоделических калейдоскопов появлявшихся на моем внутреннем горизонте. При этом тело стремительно теряло вес, и я чувствовал, что с неторопливым блаженством взлетаю в голубое небо. Тут раздавался душераздирающий скрежет, и великолепные картины стремительно сьезжали в бок. Оказывается, я просто начинал заваливаться набок в сладком сне, и горнолыжный комбинезон принимался беспокойно шуршать. Это шуршание и приводило меня в чувство, хотя по правде сказать, возвращаться совершенно не хотелось. Открыв глаза, я долго удивлялся, где зто я, так как великолепные виды сверкающих снежных пиков казались детскими рисунками по сравнению с только что увиденными пейзажами. В конце концов я понял, что прохожу не более трех метров за раз и что такими темпами не дойду даже до скал Пастухова. Через четыре часа после начала подъема я усилием воли поставил себя на лыжи и потихоньку стал спускаться к Приюту Одиннадцати, стараясь не делать резких движений, чтобы снова не провалиться в мир иллюзий. Внизу меня ждала компьютерная графика, а за спиной остались самые красивые процедурные текстуры в мире. Впрочем, тогда я еще не знал, что такое текстуры, и уж тем более процедурные, поэтому просто запомнил все эти нереальные картины, как самое впечатляющее и красивое расширение сознания за всю свою жизнь. Тем, кто не знает, что такое процедурные текстуры, советую заглянуть в соответствующую главу этой книги. Про расширение сознания легальными (и негорнолыжными) методами можно почитать в трудах Станислава Грофа.

279

Про полигоны без прогона, или полигоны Про

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

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

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

Сдругой стороны, полигоны не накладывают таких жестких ограничений на методы работ, как те же сплайны. Поэтому вопрос, «как надо работать с полигонами» (или «как правильно»),

становится

бессмысленным. Опросив некоторое количество мастеров Полидзен, я убедился

в том, что

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

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

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

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

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

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

Не ждите сквозного проекта по созданию супермодели с нуля и до конца. На одной модели невозможно продемонстрировать даже четверть доступных инструментов, ибо для каждого класса моделей используются разные инструменты. Для персонажного моделирования одни, для архитектуры другие, для дизайна третьи. Так как я по жизни больше общался с «персонажниками», то возможно дальнейшее изложение будет иметь соответствующий уклон. Однако сразу сделаю безответственное заявление: я не собираюсь учить вас моделировать человеческую голову, а также туловище и другие части тела. Во-первых, потому что сам не умею, а во-вторых, не очень представляю, как можно написать такие инструкции: ведь основная часть этого процесса состоит «просто» в таскании вершин. В-третьих, специально для этого написаны (и даже переведены) очень неплохие книги, посвященные именно персонажному моделированию (например, Питер Ратнер. «Трехмерное моделирование и анимация человека»). Распределение вершин на голове персонажа на вписывается в концепцию «Понимая Майя».

280

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