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

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

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

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

Глава 21. Введение в мир текстур

!!! Некоторые иллюстрации на этой странице анимированы. Чтобы увидеть анимацию, в вашем Интернет-Эксплорере должен быть включён параметр по адресу меню: Сервис / Свойства обозревателя / Дополнительно (искать в пункте параметров "Мультимедиа").

Текстура является компонентом материала и применяется к объекту только через материал. В 3ds MAX нет такого слова как текстура (texture), вместо него используется слово Map - карта.

Карты - они как и материалы, их можно выбрать при помощи специального навигатора.

Мы будем стараться употреблять слово "текстура" применительно к графической картинке, которую мы нарисовали или получили каким-либо другим способом (отсканировали, отрендерили, сфотографировали цифровым фотоаппаратом, нашли готовую). Иногда под текстурой будем понимать нечто, приготовленной из карт.

Итак, текстура - это свойство материала.

У материалов для разных их свойств (прозрачность, цвет и др.) существуют специальные слоты, в которые можно применять карту. Одна и та же карта может быть применена в разные слоты, при том сразу в несколько слотов. То есть, одна и та же карта (текстура) может определять разные свойства материала или даже сразу несколько свойств.

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

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

Материалы и карты

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

1) Напротив некоторых свойств, например, того же Diffuse, есть маленькие пустые квадратики. Если нажать на такой квадратик, то для него можно будет выбрать карту, и в квадратике появится большая буква "М". Эта буква означает, что для материала выбрана карта, а то, что буква большая, означает, что карта активна. Ведь её можно и выключить, тогда буква станет маленькой. Квадратик - это как бы вход в слот для карты.

2) Так же снизу, под основными свойствами материала есть разворачивающиеся группы меню. Одна из них - Maps - карты. Здесь перечислены все слоты, в которые могут быть применены карты. И их намного больше, чем свойств материала.



Рис. 21.1. Редактор материалов.

 



Такие свойства есть только у основных материалов. И это именно физические свойства.

Вот пример некоторых из свойств, для материала "Стандартный". В группе меню Maps слотов ещё больше, в том числе продублированы и те, которые доступны из группы основных свойств в виде квадратиков. Просто некоторые свойства, например отражение (Reflection) можно смоделировать только при помощи карты, но никак не при помощи одного сплошного цвета.

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

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

Здесь же можно задавать "количество примененея" карты. Для большинства карт оно даётся в процентах. По умолчанию для всех (кроме Bump) стоит значение, равное 100. Это значит, что карта, находящаяся в слоте применена на все 100% и полностью игнорируется цвет или численный параметр для соответствующего свойства.

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

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

Свойства материалов могут быть цветными, например Diffuse, Ambient, Specular и нецветными Opacity, Specular Level, Glossiness, Soften. Их легко отличить друг от друга. Напротив названия цветного свойства всегда есть прямоугольничек, где можно выбрать цвет, а напротив нецветного свойства - численный параметр. Численный параметр определяет интенсивность свойства, обычно в процентах. Например, Opacity - непрозрачность, определяется процентами. Если мы поставим не 100, а 50, то получим полупрозрачный материал, сквозь который будет просвечивать то, что находится сзади. Если мы поставим 0 - то объекта, к которому будет применён материал, будет не видно вообще, но блик Specular, если для Specular Level стоит значение больше нуля, останется.

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

Особо следует сказать о свойстве Self-Illumination. Можно видеть, что для него есть флажок Color. Если флажок выключен, то Self-Illumination ведёт себя как нецветное параметрическое свойство, и объект светится тем цветом, который применён в слот Diffuse с указанной яркостью. Если же включить Color, то объект будет светиться тем цветом, который мы ему укажем. И если применить цветную карту - он будет светиться этой картой. А если отключить флажок, то применённая карта будет указывать, какие участки станут светиться ярче, а какие - тускнее.

Примечание: Self-Illumination - это такое свечение, при котором объект будет ярким не зависимо от того, находится ли он в тени или на свету, но сам объект другие предметы в сцене не освещает. То есть, источником света он не является. Если вам надо, чтобы он что-то освещал, всуньте внутрь него лампочку (Omni) и настройте нужным образом её яркость и цвет.

У основных материалов некоторые параметры совпадают, например, у всех есть Diffuse. Другое интересное свойство Bump. Для стандартного материала его можно найти в группе меню Maps. Bump - такой параметр, который может быть задан только в виде карты, но никак не при помощи цвета или величины, потому что это карта рельефа на поверхности. При том не реального рельефа, а иллюзии рельефа. Геометрия объекта при этом не меняется, но при рендеринге нам кажется, что поверхность рельефная (рис. 21.2).



a) b) c)

Рис. 21.2. Пример влияния свойства Bump (процедурная карта Celluar).

a) - Bump-карта не применена

b) - Применена карта Bump со значением Amount =30

c) - Применена карта Bump со значением Amount = 999



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

Но рельеф не рисуется на силуэте нашего объекта, поэтому если вы хотите смоделировать более рельефные выступы, их всё же придётся либо проделывать вручную, либо воспользоваться другими средствами: картой или модификатором Displace.

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

Во-первых, она работает не со всеми объектами, к примеру, она не работает со многими параметрическими приметивами, Patch и Nurbs. Чтобы она работала с Mesh и Poly надо у этих объектов включить соответствующую опцию внизу, в группе параметров Subdivision Displacement поставить одноимённый флажок. При желании, можно сделать так, чтобы карта Displace работала с другими типами объектов, для этого к объектам надо применить специальный модификатор Disp Approx. Но об этом пока не будем. Наша тема - наложение текстур, и рассматривать её мы будем на наиболее ярких и полезных примерах Diffuse и Bump.

Во-вторых, в местах стыковки разных ID к которым применены разные материалы, поверхность может разрезаться, и в разрезе будет дырка. Разрез поверхности может происходить даже не в местах стыковки разных ID, а вообще в трудных для обработки местах. Если отключить флажок Split Mesh, по идее этот эффект должен исчезнуть. Но не факт, что именно так и будет.

Применение карт

Карты применяются к объекту при помощи так называемых координат наложения. Карта существует в неком пространстве UVW (оно такое же трёхмерное и декартово как XYZ, только координаты обозначены по-другому). Чтобы понять, как это, карту надо представить себе примерно так же, как географическую карту. Разные участки картинки имеют разные координаты.

Пространство uvw не случайно трёхмерное, ибо карты тоже бывают трёхмерными, как например карта Celluar или Noise. Это две наиболее полезные и часто используемые карты.

Celluar (ячеистая) - карта представляет собой либо много мелких шариков, либо ячеек. В редакторе материалов она отображается как двухмерная - то есть светлые пятна на тёмном фоне. Но на самом деле, она трёхмерная. И представить себе такую текстуру можно как, скажем, кусок гранита (рис. 21.3).

Рис. 21.3. Гранитная глыба

Гранит неоднороден, он состоит из разнообразных вкраплений, и эти вкрапления находятся в трёхмерном пространстве.

Теперь из этой глыбы гранита мы высекаем наш объект (рис. 21.4).

Рис. 21.4 Статуя, высеченная из гранитной глыбы (статуя показана ближе, чем глыба)

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

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

Глыба, показанная на рис. 21.3 и динозавр на рисунке 21.4 затекстурированы при помощи стандартного материала, в Diffuse-слот которого помещена карта Celluar. Рисунок этой карты по умолчанию чёрно-белый, но если изменить цвета, то можно получить нечто, похожее на гранит.

Если карту Celluar с настройками по умолчанию применить в слот Bump, то можно получить такую картину:

Рис. 21.5. Результат применения карты Celluar в слот Bump для стандартного материала. (в слоте Diffuse карта отсутствует, для Diffuse выбран серый цвет)

Как применить к материалу карту? Очень просто. Надо выбрать в редакторе материалов слот с нужным материалом, а далее либо нажать на маленький пустой квадратик напротив нужного свойства, либо зайти в группу меню Maps где нажать на кнопочку в столбце Map. Если на этой кнопочке написано None, значит в данном слоте карта отсутствует. Если что-то другое, значит в слоте находится карта с соответствующим названием.

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

Рис. 21.6 Навигатор карт.

Цифрой 1 помечено поле, в котором осуществляется укрупнённый просмотр выбранной карты.

  • View list - показывать только названия карт, без картинок
  • View list + Icons - показывает маленькие привьюшки и напротив - названия. Список располагается в столбик.
  • View Small Icons - показывает маленькие привьюшки без названий
  • View Large Icons - показывает большие привьюшки с названиями под каждой картинкой
  • Далее идут кнопки для работы с библиотекой материалов и карт. У нас они сейчас будут серыми и неактивными, и мы с ними пока знакомиться не будем.

  • Update Scene Materials From Library
  • Delete From Library
  • Clear Material Library

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

Их отличить от двухмерных можно если поставить кружочек 3D Maps, а так же по внешним признакам: все они выглядят в виде пёстрых рисунков. Карты, которые отображаются однотонным цветом - либо композиторы (Compositors) либо карты-фильтры (Color Mods). И те, и другие сами по себе ничего не значат, у них имеются слоты, в которые надо вставлять другую карту.

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

Рис. 21.7. Так выглядит трёхмерная текстура в окне проекций. Как та же самая текстура выглядит при осуществлении рендеринга, можно видеть на рис. 21.4.

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

К сожелению, это такой недостаток. И даже если нажать в меню вида в окне, которое открывается если выбрать Configure флажок Texture Correction, ничего не меняется.

Дело в том, что исторически так сложилось, что текстуры раньше были только двухмерными. В окнах предварительного просмотра (да и в редакторе материалов, если у нас не нажата кнопка Show End Result ) трёхмерная текстура отображается как двухмерная. То есть в объёме выбирается некая плоскость, на которой вырезается некий рисунок из всего трёхмерного объёма, и вот этот плоский рисунок и накладывается на наш объект. Плоский рисунок может в некоторых местах растянуться. До этого мы тоже постепенно дойдём.

Итак, чтобы вы сразу могли что-нибудь красивое увидеть, вам надо взять трёхмерную текстуру и применить её в слот Diffuse или Bump (можно в Opacity - непрозрачность). В другие слоты применять текстуры пока не рекомендуется, ибо там они не дадут сильно ощутимого эффекта. Конечно, в других слотах тоже бывает очень надо помещать текстуры, но там они нужны уже для проработки более тонких деталей материала.

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

В начале этого параграфа мы упоминали о неком пространстве UVW в котором существует текстура. Пока мы это никак не прочувствовали. Это потому, что по умолчанию, то есть если мы ничего специально не предпринимали, пространство UVW совпадает с пространством XYZ. Но не с мировым пространством XYZ, а с собственным пространством объекта, в котором записаны координаты его вершин. Это у трёхмерных карт есть такое свойство: когда для них не создано специальное пространство UVW, они берут данные из пространства XYZ самого объекта.

Для карты Celluar (и некоторых других, например Noise) есть такой параметр как размер крупинок Size. По умолчанию он обычно равен 5. Это значит, что кружочки будут иметь размер 5 единиц. Но только следует учитывать, что при масштабировании объекта при помощи инструмента Scale само его пространство XYZ тоже уменьшается или увеличивается. Если масштаб объекта по всем осям был равен 100%, то единицы в его собственной системе координат равны по размеру единицам в мировой системе координат. Если же объект имеет масштаб N·100%, то единица в системе кооридинат объекта в N раз больше, чем в мировой. Это можно видеть на рис. 21.8.

Рис. 21.8. Изменение масштаба текстуры при масштабировании объекта. Мелкие динозаврики имеют масштаб 100% по всем осям. Один крупный динозавр (слева) получен при масштабировании копии мелкого динозаврика в 3.5 раза (то есть его масштаб равен 350 %). Как видно, и текстура на нём тоже увеличилась. Это соответствует тому, что его собственное пространство XYZ увеличилось по отношению к мировому. Другой крупный динозавр (справа) увеличен при помощи модификатора Xform, который позволяет применять трансформации внутри XYZ-пространства самого объекта (то есть, увеличивается размер поверхности внутри собственного пространства объекта, а не само пространство объекта). Таким образом, масштаб второго динозавра всё равно равен 100%, поэтому и текстура на нём имеет тот же размер крупинок, что и на исходной модели.

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

Рис. 21.9. Изменения, происходящие с текстурой при неравномерном масштабировании. Одна сфера (горизонтальная) - была растянута по одной из осей в четыре раза при помощи инструмента масштабирования. Видно, что растянулась и текстура (поскольку растянулось само пространство сферы вдоль одной из осей). Вторая сфера (вертикальная) была растянута по оси Z при помощи модификатора Xform. Само пространство сферы при этом не пострадало, поэтому текстура лежит по-прежнему равномерно.

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

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

Работа с картами осуществляется в том же окне, что и работа с материалами. Для карты можно видеть следующие группы меню:

Вы можете дать карте своё название в строке, которая на рисунке 21.1. помечена красной цифрой "1". Хотя на рис. 21.1. открыто меню для материала, для карты оно выглядит весьма похожим образом. Там, где стоит красная цифра "2" теперь на рис. 21.1. будет отображаться не название природы материала, а название природы карты. Если нажать на эту кнопочку, то открываться будет не окно выбора материала, а окно выбора карты (как на рис. 21.6).

В группе меню "координаты" (Coordinates) как раз выбираются параметры этого самого UVW пространства. Здесь можно указать, насколько сместить нашу текстуру в этом пространстве (Оffset - смещение, по трём осям), сколько периодов карты разместить в пространстве (Tiling), на какой угол повернуть карту (Angle).

Есть в группе меню "координаты" и такой важный пункт, как Source (источник). По умолчанию стоит Object XYZ. Это и означает, что текстура помещается в собственное пространство объекта. Здесь же можно выбрать World XYZ - то есть текстура будет находиться в мировом пространстве, и мы можем масштабировать наш объект сколько угодно, текстура на нём не растянется. Правда, если сделать анимацию, то можно видеть следующее:


а)

б)
Рис. 21.10. Поведение текстур, связанных с пространством объека (а) и с мировым пространством (б) при анимации. (Для иллюстрации использована трёхмерная текстура Planet)

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

Заметьте, что пока никакого пространства UVW мы не касались. В некоторых уроках и заметках можно найти такой тезис: процедурные текстуры хороши тем, что для них не требуется координат наложения (Координаты наложения - это есть координаты в UVW-пространстве). Это действительно так, но в некоторых случаях такое свойство процедурных текстур не может быть преимуществом.

Но если мы накладываем трёхмерную текстуру на деформирующуюся поверхность, в том числе, на поверхность, привязанную к анимационному скелету, то опять можем получить проскальзывания. Даже если у нас в опциях Coordinates в качестве Source выбран Object (рис. 21.11).

Рис. 21.11. Поведение текстуры при деформации объекта.

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

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

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

Особенности двухмерных карт

Помимо трёхмерных карт, есть ещё и двухмерные. Их представить себе достаточно просто: это как бы рисунок, сделанный на плоской поверхности. Самая широкоиспользуемая плоская карта - это Bitmap (графический файл). Карта Bitmap позволяет использовать в качестве текстуры почти любую растровую картинку. По крайней мере, картинку из тех форматов, которые понимает 3ds MAX.

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

Векторные картинки хранят не информацию о пикселях, а информацию о некоторых геометрических фигурах - об их форме, цвете и месте положения. Такие картинки не могут выглядеть как фотографии, а только как схематические рисунки, которые можно составить из однотонно-окрашенных фигур, или как изображения из рисованных мультиков. С векторными катринками 3ds MAX не работает.

Есть и процедурные двухмерные карты - это плитка (Tiles), в ранних версиях вместо неё были кирпичи (Briks). По сути это одна и та же текстура, если покрутить настройки, плитка превращается в кирпичи, а кирпичи - в плитку. Другие двухмерные текстуры - Checker (переключатель), Swirl (завихрение), Gradient и Gradient Ramp. На самом деле два градиента в 3ds MAX потому, что исторически-первым был просто градиент Gradient, а потом ввели усовершенствованную версию Gradient Ramp, которая является полностью переделанной и начатой с нуля версией. Она позволяет всё то же, что и Gradient, но настраивается уже по-другому, поэтому сохранена и старая версия карты, для совместимости с файлами, созданными на старых версиях.

Теперь, если мы применим к нашему объекту материал, с двухмерной картой (достаточно, чтобы она находилась в каком-либо слоте, не важно в каком), мы можем увидеть окно с сообщением: "The following objects require map coordinates and may not render correctly:" а в белом поле этого окна будет список, в котором будут содержаться надписи типа: "(UVW #): название объекта".

Это сообщение говорит: "следующие объекты нуждаются (не имеют) координат наложения карты и могут быть срендерены некорректно". В списке перечисляется, какого по номеру UVW пространства у нашего объекта не хватает, и называется имя этого объекта.

Дело в том, что для одного и того же объекта предусмотрено до 100 независимых UVW пространств. У каждой карты, даже у трёхмерной есть такой параметр как Map Channel - канал карты. Там и задаётся номер UVW - пространства, которое будет соответствовать этой карте. Разные UVW-пространства нужны для того, чтобы карты в слотах для разных свойств материала можно было накладывать на объект независимо друг от дружки. Или, это может быть надо для карт-композиторов. В общем, пока не понятно, зачем это может быть надо, но мы этот вопрос ещё рассмотрим.

Так вот, по умолчанию двухмерная карта настроена так, что она накладывается на объект при помощи UVW-пространства. По умолчанию для двухмерных карт выбран первый канал Map Channel, то есть первое UVW-пространство.

И если мы применим кирпичи к нашей модели динозавра, они либо не применятся и мы, если нажмём кнопочку в редакторе материаов и карт, увидем, что объект стал белым. А при рендеринге увидем сообщение, упомянутое выше. Если мы нажмём "Ok", то объект тоже срендерится белым цветом.

Или, можем увидеть вот что (рис. 21.12):

Рис. 21.12. Вот так применилась двухмерная текстура к объекту, приготовленному из объекта Box.

На динозавре текстуры сидят криво. И к слову сказать, то, как они на нём сидят - очень напоминает предварительное отображение, показанное на рис. 21.7. Тогда упоминалось, что в предворительном просмотре трёхмерные текстуры отображаются как двухмерные.

Почему так получилось? Мы начинали создавать объект "шкура динозавра" из объекта "коробка", у которого, были созданы координаты наложения в первом канале (в первом UVW-пространстве). Все остальные части, которые мы экструзировали и нарезали при помощи Cut по определённым правилам наследовали координаты наложения от готовых частей. Но происходило это как попало, потому и текстура наложилась совершенно произвольным образом. К слову заметить, там, где можно видеть довольно-таки чёткий мелкий рисунок кирпичей - это те грани, которые уже были изначально. А на тех участках, которые экструзировались, текстуры сильно растянулись.

Двухмерные текстуры тоже можно поместить в мировое пространство или в пространство XYZ самого объекта. Для этого в редакторе материалов и карт в группе меню Coordinates, когда мы работаем с двухмерной картой, есть разворачивающееся меню Mapping. По умолчанию стоит Explicit Map Channel - определённый канал карты. В этом случае надо указывать номер канала - то есть номер пространства UVW, в котором располагаются координаты наложения.

Есть там и Vertex Color Channel. Об этом пока не будем говорить, это вообще трудно для понимания. Важный момент, мы рассмотрим его, но потом, когда будем подготовлены к этому.

Два последних пункта меню Planar From Object XYZ и Planar From World XYZ- совершенно понятны. Это ни что иное как - "плоская в XYZ-пространстве объекта" и "плоская в мировом XYZ-пространстве". Если выбрать один из этих двух пунктов, сразу внизу группы меню Coordinates в предпоследней строчке появляются переключатели: xy, yz, zx. Они позволяют выбрать, вдоль какой плоскости расположить текстуру. Расположенная таким образом текстура проецируется на наш объект как бы проектором, и направление проецирования перпендикулярно выбранной нами плоскости (рис. 21.13).


a) xy

b) yz

c) zx

d)
Рис. 21.13. a) текстура проецируется сверху (или снизу), b) сбоку, с) - спереди (или сзади), d) - так выглядит сама текстура в редакторе материалов и карт (если выключен режим Show End Result ). Здесь показана ситуация, когда выбран режим наложения текстуры - Planar From Object XYZ.

В случае, когда мы выбираем режим Planar From Object XYZ, то текстура накладывается так, чтобы вся картинка, отображаемая в редакторе материалов и карт в режиме с выключенным Show End Result , натягивалась на наш объект. То есть, определяются габариты поверхности объекта, и текстура растягивается нужным образом.

Когда объект деформируется, его габариты могут меняться. А кроме того, текстура опять будет скользить (см. рис. 21.14).

Рис. 21.14. Поведение двухмерной текстуры, наложенной по методу Planar From Object XYZ (yz) при деформации объекта.

Из видеоролика 21.14 видно, что пока динозавр машет руками внизу, руки просто скользят в текстуре, словно она проецируется на динозавра проектором. Когда он поднял их вверх - габариты поверзности изменились, текстура поплыла. Когда начал группироваться - текстура начала сжиматься.

О методе Planar From World XYZ можно сказать следующее: текстура накладывается так же, как и трёхмерная, но только проецируется сбоку, как и в случае Planar From Object XYZ. Разница состоит в том, что теперь текстура не меняет свои масштабы в зависимости от деформации объекта. Она накладывается так, чтобы квадратик, показанный на рис. 21.13 d) имел размеры 1х1 в выбранных вами единицах измерения. То есть, текстура будет очень мелкой.

Самый полезный метод наложения - Explicit Map Channel. Он привязывает карту не к габаритам объекта, а непосредственно к граням, и текстура деформируется вместе с объектом (рис. 21.15)

Рис. 21.15. Поведение двухмерной текстуры, наложенной по методу Explicit Map Channel при деформации объекта.

В отличии от всех остальных методов наложения, которые не требуют от нас каких-либо действий с объектам, а требуют только выбора нужного пункта в группе меню Coordinates нашей карты, этот метод требует проведения с объектом определённых действий а именно - создания для него координат наложения в определённом канале карты (Map Channel). Это делается при помощи специальных модификаторов, о которых речь пойдёт в следующих главах.

А в этой рассмотрим ещё один маленький момент, касающийся карт, когда не требуется создавать UVW-координаты наложения.

Использование карт для заднего плана сцены

Если вы обратили внимание в группе меню Coordinates двухмерных карт есть переключатели Texture и Enviroun. Если стоит кружочек Texture, то значит, предполагается использовать карту для наложения её на объект, и в разворачивающемся меню Mapping можно выбрать режимы наложения карты на объект, которые обсуждались выше.

Слово Enviroun - это сокращение от Envirounment - окружение. Если выбрать этот кружочек, то наша карта подготовиться к тому, чтобы быть использованной для создания окружающего фона. И меню Mapping в этом случае изменится. Теперь там будут такие пункты:

Теперь, чтобы поместить карту на задний план, надо зайти в меню (не в редакторе материалов, а в главном окне программы) Rendering/Envirounment и нажать в появившемся окне кнопку Envirounment Map (карта окружения). Внимание: в этом окне есть две вкладки, Envirounment и Effects. Указанную кнопку надо искать во вкладке Envirounment.

По нажатию кнопки откроется навигатор карт. По умолчанию в нём отображаются новые карты, но нам надо взять ту, которую мы подготовили заранее. Для этого в группе переключателей Browise From надо выбрать Mtl Editor - редактор материалов. Тогда вашему вниманию будут предоставлены те карты, которые применены к каким-либо свойствам материалов, находящихся в слотах редактора материалов (рис. 21.16).

Рис. 21.16. Выбор карт, применённых к материалам, находящимся в слотах редактора материалов.

Здесь, в отличии от ситуации, когда мы выбирали новую карту, карты подписаны по следующему принципу: "PM: MN (Nature)".

PM - свойство материала, к которому применена данная карта, MN - имя карты (мы не давали картам имена, поэтому видем имена, которые даются автоматически - Map #№). В скобках (Nature) указана природа карты.

 

Есть ещё и Mtl Library - если мы сохраняли хорошие материалы с хорошими картами в библиотеку, то можно, в принципе поставить этот переключатель, чтобы выбрать то, что мы сохранили в библиотеке.

Мы для заднего плана создадим карту Gradient.

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

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

Итак, загрузим в какой-нибудь слот какого-нибудь материала карту Gradient. Уже потом карту можно перетащить в слот редактора материалов, если взять и тащить в нужный слот редактора её название (например, взять кнопку, помеченную цифрой "2" на рис. 21.1 если мы находимся в режиме работы с картой) или, если мы находимся в режиме работы с материалом, надо взять кнопку, на которую надо нажимать, чтобы загрузить карту в соответствующий слот свойства материала или чтобы перейти в режим работы с картой.

Можно и не перетаскивать карту в слот редактора материалов, можно оставить её в слоте свойства материала.

У карты Gradient главные параметры - три цвета, по умолчанию чёрный, серый и белый. Мы поставим такие цвета, какие захотим. На рис. 21.16 - нижняя карта - наш градиент.

После того, как мы создали карту, можно идти в Rendering/Envirounment и нажимать кнопку Envirounment Map, птом указанным способом выбирать нашу карту.

И тут сразу можно увидеть, что у карт тоже может быть Instance - связь. Дело в том, что в окружение мы помещаем не саму нашу карту, а её копию (Copy), либо Instance-копию. В общем, как только мы выберем нужную карту и кликнем по ней мышкой, появится таблица, где надо будет выбрать метод применения карты к окружающей среде - Instance или Copy. Лучше брать Instance, потому что когда карта помещена в окружение, редактировать её уже нельзя. А если между картой в редакторе материалов и в окружении есть Instance - связь, то мы можем влиять на карту окружения через карту в редакторе материалов.

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

На рис. 21.17 показано, как будет выглядеть результат рендеринга, если к окружающей среде применена карта Gradient по методу наложения Screen.

Рис. 21.17. Использование двухмерной карты (Gradient) для создания заднего плана

 

Трёхмерные карты тоже можно применять к окружающей среде. Только для них не надо ставить опцию Envirounment. Они формируют окружение трёхмерным образом.

Рис. 21.18. Использование трёхмерной карты (Celluar) для создания заднего плана. (Использованы настройки по умолчанию, Size=5).

Когда для окраски окружения применяется трёхмерная карта, не суть, какой метод её наложения берётся, Object XYZ или World XYZ. От этого может меняться конфигурация рисунка, но не его масштаб.

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