Тонирование МакГизмо

Следующая задача — тонирование машины,  которую Машизмо  использует для путе­ шествий.  В данном разделе обсуждаются типы  материалов,  а также методы наложения.

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

МакГизмо представляет собой одноместный аппарат с  вертикальным  взлетом и  по­ садкой (Vertical Take Off and Landing — VTOL), сконструированный  и  построенный уче­ ным, которого Машизмо спас в  начале своей карьеры супергероя.  Для Машизмо этот ап­ парат очень дорог, поэтому он всегда содержит его в  отличном  рабочем состоянии.  Ниже описан план тонирования  МакГизмо.

•          Сложнее всего тонировать  двигатели. Хорошая новость заключается в  том, что  при­ дется тонировать только один двигатель,  а затем можно применить  созданный тонер к  другому  двигателю. Обтекатель  двигателя  имеет три  явно  выраженные области, которые выглядят по-разному. Область, покрываемая  краской, описывается  в  разде­ ле "Тонирование обтекателя двигателя с помощью  узла градиента". Часть обтекателя около турбины должна быть хромированной,  а задняя часть двигателя  будет иметь рифленую текстуру  в  виде   бороздок,   которые  рассеивают тепло,  вырабатываемое двигателем.  Носовые конусы  двигателей — это хромированная  или  зеркально отпо­ лированная сталь, а лопасти турбин — металлокерамика. Чтобы избежать смешения, эти  поверхности  необходимо определить.

•          Обшивка аппарата сделана из  суперсовременного сплава, покрытого отполированной  до блеска краской металлического  цвета, как совсем новый автомобиль. Для начала тониру­ ем двигатели, а затем воспользуемся созданным тонером для раскраски корпуса.

•          Обод кабины и  ниши шасси — это отполированная до зеркального блеска сталь.

•          Внутренняя часть кабина может быть окрашена серой или  черной матовой  краской.

Это будет сделано в  последнюю очередь, поэтому можно будет подобрать  цвет,  гар­ монирующий с остальными  поверхностями.

•          Кресло — кожаное или виниловое.   Это также зависит от тонирования остальной час­ ти  корабля.

Навыки ,  необходимы е для создани я собственны х тонеро в

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

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

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

Другой  ценный  метод  создания тонеров  заключается   в  загрузке  готовых тонеров  и  изуче­  нии того,  как  связаны  их  узлы  в   каждой  сети. Поставляемая  с  Maya  библиотека  тонеров (Shader  Library)  является отличным источником сетей  тонеров  начальной  и  средней  сложно­ сти. Доступ  к этим тонерам  можно  получить с помощью  вкладки  Shader Library  (Библиотека тонеров) в  окне   гипершейдера.  Для  просмотра  сети  тонеров  достаточно  перетащить  их  с помощью  средней  кнопки  мыши  в  область  хранения и  щелкнуть  на  кнопке  Show  Upstream And  Downstream  Connections  (Показать  входящие и   исходящие связи). Конечно,  предпола­ гается,  что библиотека  тонеров  установлена.  Если  это  не так,  ее стоит установить согласно руководству     Инсталляция     и     лицензирование      (Installation     and     Licensing)      в     документации Maya. Научившись читать эти  сети, можно  воспользоваться сайтом Highend3d.com это отличный источник передовых и  более сложных  сетей тонеров.

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

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

Имея  "план  наступления" для создания собственного тонера,  можно  начинать  плани­ ровать    области     разделения.    Помните,    в      данном     случае     используются  NURBS- поверхности,  которые    имеют  направления  U   и    V.   Пространство   текстуры  NURBS- поверхности  имеет неявные  направления   UV  (implicit  UVs),  т.е.  направления UV  невоз­ можно  изменить, и  они  всегда находятся  в числовом диапазоне 0—1.  Это важно помнить, поскольку  это  позволяет предвидеть,  где  на  поверхности  окажется  текстура.  Для  иллю­ страции  этого  и  для  ознакомления  с  чрезвычайно мощным  и  полезным  узлом  градиента определим, где должны  располагаться  цвета.

1.    Создайте новый файл и импортируйте сцену MacGiZmoEngine.m b с прила­ гаемого  CD.

2.    Выделите объект EngineCowlSr f и выберите пункт Edit NURBS => rebuil d surfaces  •    (Редактировать NURBS-поверхности  =>  Перестроить    поверхно­ сти  • ) .  При  моделировании  поверхности  всегда  перестраиваются с парамет­ рами  от  0 до интервала между  изопараметрическими  линиями,  но  в  данном случае  необходимо  перестроить  поверхность  с  параметризацией от  0  до  1. Этот    метод    называется    параметризация     по    длине    связки    (chord    length parameteriZation),    такая   перестройка    облегчит  тонирование, переведя   по­ верхность  в   те  же  параметры,   что  и   направления UV  текстуры.   Назначив диапазон параметров  (Paramete r range ) от 0 до  1  и  установив  флажок  Keep CVs    (Сохранять    контрольные     вершины),   щелкните    на    кнопке    Apply (Применить). Обратите внимание на то, что  интервалы  не изменились.

3.    Выберите изопараметрическую линию на объекте  EngineCowlSrf, как по­ казано   на   рис. 12.7,   слева.   Запомните  или    запишите  число  в   заголовке (0.166666666666667); оно понадобится позднее.  Если используется по­ верхность, созданная  самостоятельно,  то это число  может быть другим.

Рис. 72.7. Выбор изопараметрических линий спереди и сзади объекта Engine­

CowlSrf;  в заголовке окна отображается длина связки

4.    Выберите изопараметрическую  линию, показанную на рис. 12.7,  справа,  и  запишите число; в данном случае 0 .722222222222222.

5.    Перестройте поверхность EngineCowl, выбрав  в   качестве диапазона  параметров значение о   То   #Spans и  установив  флажок Keep CV s  (Сохранять контрольные вершины).  Чтобы получить два  указанных  выше  значения, необходимы только  па­ раметры от 0 до 1.

6.    В гипершейдере создайте материал Blinn и  назовите его Cowl_mat.

7.    С помощью средней кнопки  мыши  перетащите его из рабочей области  гипершейдера на объект EngineCowlSrf.

8.    Чтобы  создать  в   рабочей  области  узел  градиента  (ramp  node),  найдите в  панели  соз­ дания область плоских текстур и щелкните на кнопке ram p (Градиент).

9.    Свяжите атрибут OutColo r градиента с каналом цвета материала  Cowl_mat. Пер­ вое, что можно отметить, — градиент проходит поперек, а не вдоль по  поверхности обтекателя.

10.  Дважды щелкните на узле градиента в  рабочей области  гипершейдера. В результате от­ кроется  редактор  атрибутов  для  градиента. Измените значение  атрибута Туре  на U ramp, а для атрибута Interpolation установите  значение  None. Вместо плавного градиента по умолчанию будут созданы отчетливые полосы цвета. Окружности с левой стороны градиента называются  манипуляторами  и  представляют выбранную позицию цвета на градиенте. Щелчок на них выделяет Манипулятор  и изменяет образец Selected Color (Выбранный цвет), расположенный ниже линейки градиента. Для изменения по­ зиции цвета  на линейке градиента эти манипуляторы можно перемещать вертикально.

11 . Удалите синюю полоску, щелкнув  на прямоугольнике справа от синего цвета в  верх­ ней части линейки градиента.

12.    Измените цвет красной полоски, выбрав  красный манипулятор и  переместив  ползу­ нок, расположенный рядом с образцом Selecte d Color (Выбранный цвет),   в крайнюю левую позицию.

13.    Щелкните на зеленом манипуляторе. Значение параметра Selected Position (Выбранная позиция) будет равно примерно 0.5. В поле Selected Position (Выбранная позиция) вве­ дите число 0.166, которое представляет значение изопараметрической линии, упомяну­ той в п. 3. В результате граница черной полосы переместится к выбранной ранее изопара­ метрической линии.

14.   Дважды щелкнув  на образце зеленого цвета, откройте диалоговое  окно  выбора цвета

(Color Chooser ) и замените зеленый цвет белым.

15.    Щелкните левой кнопкой  мыши  на черной области  линейки  градиента,  чтобы соз­ дать  новый круг,  который  представляет индексную позицию   цвета (Colo r  Index  Position) (более подробная информация  об  индексных позициях  цветов  приведена разделе  "Мощь  узла  градиента").  Чтобы  переместить позицию вверх  точно  к  вы­ бранной  ранее  изопараметрической  линии  черного  цвета объекта  EngineCowlSrf , введите в поле Selecte d Position (Выбранная позиция) значение  0. 722. Поверхность должна выглядеть так, как показано на рис. 12.8.

Рис.   12.8.   Поверхность    EngineCowlSrf   с   определен­

ными областями  для текстур

16.     Переименуйте узел градиента в  ColorSeprmp.

Мощь узла градиент а  

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

Первый из них  представляет собой версию градиента  с градацией серого цвета в редакторе ат­ рибутов. Неважно,  сколько цветов есть в градиенте; атрибут outAlpha всегда будет соответст­  вовать градациям  серого цвета  и иметь числовое значение от О до 1. Это означает, что с его по­ мощью можно управлять любой входящей связью с диапазоном 0-1 любого узла.

Имя атрибута outColor говорит само за себя: это изображение  цвета RGB,  созданное с помощью  градиента. Оно  может  быть  связано непосредственно с  любым  входом, пред­ ставляющими   собой  тройное  значение или    вектор.   Исходящий цвет задают  атрибуты outputR, outputG, outputB, где каждое значение находится в пределах от 1 до о.

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

та. Каждая из этих  окружностей имеет индексное  число. Индекс начинается с  [0] и увели­ чивается по вертикали, как показано ниже. Каждый член списка имеет атрибуты  позиции  и цвета. Атрибут цвета выражается в  виде  значения RGB, а атрибут позиции  соответствует расположению  цвета на градиенте. Дополнительная информация  об  использовании  гради­ ентов   содержится в    книге  Эрика   Келлера   (Eric  Keller)    Maya     Visual   Effects:    The   Innovator’s   Guide   (Sybex,   2007).

Способ смешения цветов  градиента контролирует метод интерполяции,  выбранный в  рас­ крывающемся списке Interpolation (Интерполяция),  расположенном в  верхней части  вкладки ram p  Attributes  (Атрибуты  градиента).  В   данном  случае   используется   метод   Smooth (Сгладить), в   результате  которого  входящие  цвета смешиваются   равномерно, или   метод None (Нет), который создает резкие границы между входящими  цветами.

В этой главе градиенты используются почти для каждого аспекта создания тонера.

Выше рассматривалось  использование градиента  для  определения способов  наложе­ ния  текстур на поверхность. Текстуры разных конфигураций  довольно  часто использу­ ются в  описанном здесь процессе текстурирования,  а данный  градиент послужит базой, на которой будут созданы многие из  них. На рис. 12.9  показана сеть, которую необходи­ мо создать. Не пугайтесь! Эта сеть будет создана с помощью выделения компонентов ма­ териалов  в  отдельные области  гипершейдера.  Стратегия "разделяй и  властвуй" позволя­ ет создавать сложные тонеры и  точно  понимать при  этом, что происходит и  как это сде­ лать потом для других тонеров.

Наложение окружающего отражения  

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

мощью  окружающей сферы,  как  в   примере на  CD .  Ниж е  описан процесс  создания окружающей  карты.

Рис. 12.20. Выделение входящих узлов, связанных с тек­ стурой        Facingratio_rmp

6.    Свяжите параметр Facing rati o (Коэффициент обзора поверхности) дублированного узла информации  образцов  с атрибутом V Coord градиента.  Дл я этого перетащите с помощью средней кнопки  мыши  узел информации  образцов  на градиент и,  выбрав в контекстном меню пункт Other (Другое), откройте редактор связей.

7.    Используя редактор связей, свяжите  атрибут outColo r дублированного узла  фай­ ловой  текстуры   GreenMetal_fil e с  атрибутом  Color Entr y  List[2] .Color дублированного  градиента.

8.   Свяжите атрибут outColo r дублированного градиента с входящим цветом материа­

ла   BodyWing_mat.

9.   Для создания градиента отражения в  новом материале выделите  и  дублируйте  гра­ диент, узел информации  образцов, узел place2dTextur e и  узел реверса,  которые связны с  узлом  градиента reflectivity_rm p в   сети   тонирования   материала Cowl_mat.

10. Свяжите  узел place2dTextur e и  узлы информации  образцов  с  дублированным градиентом (см. шаги 5 и  6).

11. Свяжите атрибут  outAlph a дублированного градиента с входящим отражением  ма­ териала BodyWing_mat. Для этого понадобится редактор связей.

12.  Свяжите атрибут outAlph a того же градиента с входным каналом inputx узла ре­ верса. Затем  свяжите  канал ouputX узла реверса с  входной  диффузией  материала BodyWing_mat.

13.  В окне Outliner выберите следующие  поверхности:

WingSrf ConnectSrf BodySrf

EngineGrp|circularFilletSurfасеб_ 1

EngineGrp|EngineWngSr f

rEngineGrp|circularFilletSurfасеб_ 1 rEngineGrp|EngineWngSr f

и  примените к ним материал  BodyWing_mat.

14.  Для просмотра результатов  выполните пробную визуализацию.

Иногда направление  поверхности  фрагмента или  поверхности   NURBS  может  кон­ фликтовать  с  созданным тонером.  Если  поверхность выглядит  так,  как  будто она не­ правильно  отражает  окружающие предметы,  сначала  следует  проверить  направление поверхности,  щелкнув  на фрагменте и  отобразив  нормали.  Если  нормали  направлены

в   обратную сторону,  выберите   пункт  меню  Edit NURBS => reversesurfac e   Directio n  (Редактировать NURBS-поверхности => Обратить направление   поверхности) с  уста­ новленным флажком Swa p (Заменить) и  заново выполните  визуализацию.  Это долж­ но устранить проблему.

Основное преимущество  такого способа создания тонеров  для корпуса и  крыльев  за­ ключается в  дополнительных  возможностях  управления, которые являются результатом дублирования  двух градиентов.  Регулируя манипуляторы  Color  Index (Индекс  цвета) двух этих градиентов,  можно управлять тем, как  поверхность отражает окружающую об­ становку отдельно от материала Cowl_mat.

Последний этап  этого  упражнения подразумевает создание металлического  тонера для всех крышек и  ободков из материала Cone_mat. Для этого применим  предоставляе­ мый  Майя  узел трехзначного переключения тонирования (triple shading switch node). Уз­ лы  переключения тонирования  являются мощным,  но  непонятным  средством, позво­ ляющим переключать атрибуты тонера в  зависимости  от тонируемой  поверхности. Обо­ значения   однозначное   (Single) ,     двухзначное        (Double) ,    трехзначное   (Triple )    и четырехзначное (Quad )  подразумевают тип  данных, используемый для  операции  пере­ ключения. Узел  однозначного переключения обрабатывает одно число с плавающей точ­ кой  (например, отражающая способность или  канал диффузии).  Двухзначное переклю­ чение принимает  в   качестве ввода  двойные данные,  например атрибуты   repeatUV, wrapU V или UVCoord. Трехзначное переключение  принимает в качестве типа переклю­ чающей поверхности тройные данные, например RGB, XYZ,  или переменную векторного типа.  Последнее,  четырехзначное  переключение   принимает четырехзначный  атрибут изображения, например RGB и  прозрачность, и  переключает этот атрибут между отдель­ ными  объектами. Ниже описана  последовательность создания трехзначного  переключе­ ния тонирования (Triple  Shading Switch — TSS).

1.    Примените материал Cone_mat к следующим объектам:

DriveWheelrimSr f rWheelWellrimSr f LWheelWellrimSr f InnerWheelGe o DriveWheelSpokesGr p WindShieldrimSr f CockpitInteriorSr f rHubcapGe o

HubcapGe o

2.    Отключите материал Spec_mat от материала Cone_mat, выделив соединяющие их зеленые линии   и нажав  клавишу <Delete>.

3.    В панели создания откройте раскрывающийся список Switch Utilities (Утилиты переклю­ чения). Выберите пункт Triple Shading Switch (Трехзначное переключение тонирования), чтобы создать в рабочей области узел трехзначного переключения тонирования.

4.    Создайте тонер Phong и  назовите его rimPhong_mat. Пока он предоставляет другой цвет. Кроме того, он обеспечивает более сфокусированные  блики, чем материал Blinn или  анизотропный  материал.

5.    Дважды щелкните на тонере,  чтобы  открыть  его  в   редакторе  атрибутов.  Выберите тусклый желтый цвет. Измените параметр Cosin e Powe r (Степень  косинуса) до  60, а цвет бликов  измените на светло-серый.

6.    Узел трехзначного переключения  тонирования связывается не совсем так, как другие узлы.  Его необходимо связывать с многослойным тонером  стандартным  перетаски­  ванием средней кнопкой мыши на входящий канал  Cone_mats . input [3] . color. Чтобы блики  и  отражаемый цвет  отображались, индекс должен быть выше, чем ин­ декс материала Trans_mat. На рис. 12.21 показано, как это делается.

7.    Щелкните правой кнопкой мыши  на материале Cone_mat и  в  появившемся  контек­ стном меню выберите пункт Select Objects Wit h material (Выделить  объекты с мате­ риалом). При этом будут выделены  все ранее созданные  геометрические формы.

8.    Нажав клавишу <Shift>, дважды щелкните на узле tripleShadingSwitch, чтобы открыть его в  редакторе атрибутов,  сохранив  при  этом выделение  всех  геометриче­ ских форм.

9.    Чтобы загрузить  все геометрические  формы в  область inShap e окна Shadin g  Switc h (Переключатель  тонирования),   щелкните на  кнопке  Ad d  surfaces  (Добавить по­ верхности).  Обратите  внимание на то, что группы не загружаются — загружаются все дочерние  узлы этих групп по отдельности.

10. Опуститесь   вниз по списку и  с помощью средней кнопки  мыши  перетащите  матери­ ал  Spec_mat или   rimPhong_mat в   область inTriple. В   результате  чего  атрибут outColor будет назначен этой форме, а все остальные атрибуты останутся теми же. На рис. 12.22 показано, как это происходит.

Рис. 12.21. Связывание выхода трехзначного переключателя с входом многослойного тоне­ ра материала  Cone_mat

Рис. 12.22. Узел трехзначного пере­ ключения тонирования с  цветами, загруженными в области inShape и inTriple

Пробная визуализация  показывает все недочеты и  ошибки.  Внутри  кабины был  при­ менен материал rimPhong_mat вместо материала CockpitrimSrf . Но кабина имеет неплохой вид,  поэтому оставим  все как  есть. Добавим  поверхность  CockPitrimSr f и вручную назначим материал rimPhong_mat.

1.    В  окне Outliner с помощью средней кнопки  мыши  перетащите поверхность  Cock­ PitrimSrf в  область  inShap e окна  Triple  Shadin g  Switch  (Трехзначное  переключе­  ние тонирования).

2.    С помощью средней кнопки  мыши  перетащите материал rimPhong_mat в  область

inTripie вышеупомянутого  окна.

3.    Назначьте материал Cone_mat поверхности CockPitrimSrf. Этот этап очень важ­ ный.  До  сих  пор  поверхность CockPitrimSr f тонировалась   используемым по умолчанию методом  Ламберта  (Lambert).  Чтобы  узел  трехзначного  переключения  тонирования работал  правильно,  его  поверхность  должна быть  назначена  объекту; только включить ее в область inShap e не достаточно.

4.    Чтобы просмотреть результаты, выполните пробную визуализацию.

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

В процессе визуализации можно заменить некоторые несоответствия и дефекты в  цвет­ ной карте, которая используется для наложения на поверхности BodySrf, ConnectSrf и WingSrf. Эти недостатки являются результатом того, как была создана карта из трехмер­ ной текстуры, конвертированной в  файловую текстуру. Во время преобразования текстуры она была назначена поверхности обтекателя двигателя, поэтому Майя визуализировала ее в файл, тогда как она была назначена плоской текстуре объекта EngineCowlSrf. Плоская текстура обтекателя отличается от примененной к поверхностям BodySrf, ConnectSrf, WingSrf, крыла и переходных поверхностей,  соединяющих крыло с двигателем.  Эти  не­ достатки можно ясно увидеть, открыв файл MacGiZmoShadeFinal.mb и выполнив проб­ ную  визуализацию  области  позади  кабины без трассировки  лучей.  Если  подобные недос­ татки  слишком существенны, чтобы мириться с ними,  то можно воспользоваться  несколь­ кими способами их исправления.

Кроме того,  могут  проявиться  дефекты,  вызванные  неверным сопряжением  геомет­ рических  форм.  Такие недостатки  легко  исправляются  редактированием  контрольных вершин  (CV).

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

Компромиссное  решение заключается в  том, чтобы открыть файловую  текстуру в  та­ ком  графическом редакторе,  как  Photoshop  и,   используя   инструмент rubbe r  Stam p  (Штамп), устранить все  дефекты  (которые видны   в  открытом файле).  Сохраните файл как granitelEngineCowlSrf.tga и свяжите его с файловой текстурой, которая в на­ стоящий момент связана с каналом цвета материала BodyWing_mat. На рис. 12.23 показа­ ны результаты визуализации до и после операций редактирования контрольных вершин.

Рис. 12.23. Исправление дефектов цве­ товой карты корпуса с помощью пере­ ключения цветовых карт и редактиро­ вания  контрольных вершин  поверхно­ сти     ConnectSrf

Чтение текстур с помощью гипершейдера  

Чтобы завершить  моделирование  МакГизмо, необходимо импортировать  файл, содержащий материалы для стекла  кабины, ниш  шасси  и   кресла.  Не закрывая

файл MacGiZmoShadeFinal.mb, импортируйте файл MacGiZmo_matFinishPack.mb . Назначьте материал Chair_mat группе  SeatGrp, материал Glass_mat —  поверхности WindShieldSrf, а материал Tire_mat – объектам TireGeo, LFrontWheelGrp | TireGeo и rTireGeo. Кроме того, назначьте материал wheelWell_mat геометрическим объектам  форм LWheelWellGeo, RWheelWellGeo и DriveWheelWellGeo. Выполните пробную визуализа­ цию основного содержимого, а после этого откройте гипершейдер и  изучите эти материалы; каждый из них в определенном смысле уникален.

Материал    Glass_mat

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

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

Материал    Tire_mat

В этом материале для создания простой уступчатой текстуры используется  градиент по направлению V со значением 1 атрибута V wave. Уступчатая структура создается при связывании  ее  со  средней  индексной позицией   градиента и   последующем  наложении градиента с использованием  канала шероховатости  материала.

Материал    Chair_mat

Материал Chair_mat является производным от материал Leather_mat, который был подключен во время импорта файла MacGiZmo_matFinish.Pack.mb с прилагаемо­ го CD. В материале Leather_mat атрибут outColo r трехмерной  кожаной текстуры связан с каналом цвета, а атрибут outAlph a контролирует  карту выдавливания.  Если выделить  спинку кресла  и   преобразовать кожаную  трехмерную  текстуру  в   файловую текстуру,  Майя  создаст файл цветов (color file)  и  файл полутонов (grayscale file), а затем свяжет их  с соответствующими  каналами  нового материала, который является переиме­ нованным материалом Chair_mat.

Материалы   WheelWell

Все   материалы  ниши    шасси    были    созданы   из    одного   исходного    материала MasterWheelWell_mat. Узел плоской текстуры с вкраплениями  (шумом) управляет атрибутом Blende r узла blendColors. Это позволяет выбрать два цвета, которые бу­ дут использоваться в  поле Noise (Шум) .  Сам по  себе  узел шума такой возможности  не дает. Атрибут Blende r определяет, как будут смешиваться  два заданных пользователем цвета. В данном случае цвета Colo r 1 — темно-серый, a Color 2 — светло-серый. Затем выход узла смесителя  связывается  с каналом  цвета данного материала. Однако, так  как вывод  узла  смесителя всегда представляет собой  цвет RGB,  необходимо использовать узел яркости, чтобы преобразовать цвет RGB в  черный и  белый. Затем вывод этого узла можно связать с  каналом карты  выдавливания  материала. Впоследствии  этот  материал присваивается трем объектам ниши  шасси  и  конвертируется в  файловые  текстуры с соз­ данием отдельного материала для каждой выделенной  геометрической формы.

В начале этой главы упоминалось, что набор плоских и  трехмерных текстур  Майя  по­ зволяет добиваться  изящных и   реалистичных  результатов. Но для  тонирования  персо­ нажей  нужны  многослойные  растровые текстуры,   создаваемые  с  помощью  Photoshop или  других графических  инструментов.  Но  прежде чем нарисовать  первый пиксель, не­ обходимо создать  карту  UV,  которая  является ключевым фактором  для  оптимального создания текстуры.

Источник: Кундерт-Гиббс, Джон,  Ларкинс, Майк,  Деракшани, Дариус, Кунзендорф, Эрик,  и др., Освоение Maya  8.5.:  Пер.  с англ.  – М.:  ООО  «И.Д.  Вильямс», 2007.  – 928  с.:  ил.

По теме:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий