Часть 2. Применение материалов к моделям

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

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

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

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

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

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

Каналы (свойства) материалов

Материалы в Cinema 4D имеют ряд различных свойств:

  • цвет;
  • диффузию;
  • свечение;
  • прозрачность;
  • отражение;
  • окружение;
  • туман;
  • рельеф;
  • альфу;
  • глянец;
  • цвет глянца;
  • накал;
  • деформацию;
  • подсветку.

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

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

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

Результат применения свойства «Прозрачность»

Прозрачность. Данное свойство делает объекты прозрачными. При этом можно настраивать не только собственно прозрачность материала, но и его цвет, коэффициент преломления.

Результат применения свойства «Отражение»

Отражение. Контролирует отражательную способность материала и цвет отражения. Объекты из материалов с высокой отражательной способностью ведут себя подобно зеркалу.

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

Туман

Туман. Это свойство полезно при добавлении эффектов атмосферы к объектам и сценам. Объект из материала, обладающего свойством «Туман», выглядит как сгусток тумана, имеющий форму этого объекта. Свойства «Туман» и «Прозрачность» — взаимоисключающие, поэтому использовать в материале нужно или то, или другое. Можно управлять такими параметрами, как цвет и расстояние, на котором туман становится непрозрачным.

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

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

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

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

Накал. Образует вокруг объектов ярко светящуюся область. Управляют этим свойством настройки «Цвет», «Радиус свечения» и «Частота» (для эффекта искрящегося накала).

Деформация. Воздействие «Деформации» действует аналогично «Рельефу». Разница в том, что она слегка изменяет геометрию объекта. Модели с малым количеством полигонов не будут отображать результаты влияния карты деформации так явно, как модели с большим числом полигонов.

Подсветка. Определяет, каким образом освещается материал. Имеются режимы Phong, Blinn и Oren Nayer. Последний предназначен для имитации пыльной одежды и других негладких поверхностей. Разница между прочими режимами незначительна и сказывается главным образом на «глянцевитости» объекта.

Карты текстур

Карта текстуры — это двумерное изображение, используемое для обработки (если хотите — «украшения») поверхности моделей. Добавление текстуры к моделям в буквальном смысле означает создание образа поверхности объекта. Тип используемой карты и канала текстуры, а также метод, которым данная карта применяется, определяет внешний вид объекта. В Cinema 4D имеются три типа карт текстур:

  • основанные на растровом изображении (битовые карты);
  • двумерные процедурные;
  • трехмерные процедурные.

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

Текстуры для создания модели планеты Земля и результат их применения к шару. Текстура, изображенная на среднем рисунке, создает рельеф

Если карты недостаточно высокого разрешения, то при приближении камеры отображается пиксельный характер их построения (нежелательный узор в виде маленьких квадратиков). Чтобы избежать этого, нужно использовать карты текстур с высоким разрешением, причем желательно большим, чем требуется. Работая с исходным материалом для текстуры, не следует делать изображение слишком маленьким по размеру. Лучше скопировать исходное изображение и впоследствии уменьшить размеры копии, а не оригинала. В противном случае можно безвозвратно потерять качество текстуры (изображения).

Положение объектов в сцене (передний и задний планы) определяет, насколько большими или маленькими должны быть применяемые для них текстуры. Если сцена предназначена для показа на телеэкране с разрешением 768x576 точек и текстурированный объект заполняет все пространство экрана, не следует использовать текстуры меньшие, чем 768x576 точек. Но когда объект заполняет лишь четверть экрана, текстура должна быть не менее, чем 384x288 точек. Применять текстуры большого размера нужно и в том случае, когда камера приближается к объекту. Текстуры, используемые для видео, никогда не должны быть больше, чем 72 точки на дюйм (экранное разрешение). Но если конечный продукт предназначен для печати, может возникнуть необходимость установить более высокое разрешение (300 или 600 точек на дюйм) для обеспечения должного качества. В этом случае используются текстуры очень большого размера.

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

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

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

Интерполяция текстурной карты

Чтобы после рендеринга изображений с применением текстурных карт не проявлялась пикселизация (ступенчатость), используются специальные алгоритмы сглаживания («смазывания») текстур. В Cinema 4D это алгоритмы SAT- и MIP-проецирования. Алгоритм SAT (Summation Area Table mapping — суммирование по всей текстурированной поверхности) обеспечивает очень хорошее сглаживание текстурной карты. Но он требователен к оборудованию и задействует значительную долю оперативной памяти. Алгоритм MIP (Multi in Parvo mapping — множество в небольших долях текстуры) менее требователен к оборудованию.

Методы проецирования текстуры

Существуют несколько методов применения материалов к объектам. Они обеспечивают возможность «разворачивать» материалы и «окутывать» ими модели так, чтобы те выглядели более убедительно. Основные методы проецирования материалов на объекты следующие:

  • отображение поверхности;
  • кубическое отображение;
  • цилиндрическое отображение;
  • сферическое отображение.

Кроме того, Cinema 4D предоставляет несколько дополнительных методов:

  • фронтальное отображение;
  • пространственное отображение;
  • отображение "Компрессия";
  • отображение UVW;
  • отображение Decal Mapping.

Можно применять несколько материалов к объекту различными методами проецирования.

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

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

Цилиндрическое отображение. Плоское изображение оборачивается вокруг объекта и проецируется на виртуальный цилиндр. Этот виртуальный цилиндр может быть ориентирован и масштабирован любым желаемым способом.

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

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

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

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

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

Decal Mapping. Материалы проецируются сквозь объект и могут быть видны с обеих сторон. Этот способ может использовать одновременно два материала для одного объекта без каких-либо смешений между ними. Используя опции «Спереди», «Сзади», а также «Спереди и сзади», можно контролировать развертывание материалов. Так, чтобы из примитива «плоскость» сделать игральную карту, следует использовать фронтальное отображение первого материала (например, это изображение туза червей) для лицевой части карты и заднее проецирование второго материала (рубашки) - для оборотной.

ОБ АВТОРЕ

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

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

Окончание в следующем номере.


Создаем материал для лампы

Попробуем создать фарфоровый материал для основания лампы, сделанной в стиле 70-х годов. Как и во многих других программах, в Cinema 4D файлы обучающих проектов располагаются на Goodies CD, в папке Tutorials.

Шаг 1. Откройте проект Lamp («Лампа»). Чтобы для него создать новый материал, нужно обратиться к меню «Менеджера материалов» и выполнить команду «Файл?Новый материал» ( + N). Появится новый материал с наименованием «Создать». Двойной щелчок на этом тексте вызывает диалоговое окно, где можно задать другое наименование материала, например «Лампа». Щелкните на кнопке OK.

Шаг 2. Дважды щелкните на значке серой сферы «Лампа» в «Менеджере материалов», чтобы открыть диалоговое окно «Правка материала» и установить нужные настройки. Выберите канал «Цвет», щелкнув на одноименной надписи (она располагается в левой части окна). Цвет материала можно задать с помощью движков R, G и B или цветовой палитры, вызываемой щелчком по цветовому полю, которое находится под надписью «Цвет». Мы же попробуем использовать мозаичную текстуру Marble9.tif, находящуюся на дистрибутивном компакт-диске Cinema 4D (в папке TutorialsMaterials IndoorTex). Загрузить текстуру в канал материала «Цвет» можно по команде «Изображение».

Диалоговое окно «Правка материала»

Шаг 3. Перейдите к каналу материала «Глянец», щелкнув на слове «Глянец» в левой части диалога. Для получения блика, характерного для фарфора, установите следующие настройки:

  • режим - "Пластик";
  • ширина - 65;
  • высота - 80;
  • ослабление - 0.

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

Шаг 4. Примените материал к объекту путем его перетаскивания на саму модель Lamp («Лампа») или на ее пиктограмму в «Менеджере объектов». При появлении значка «плюс» отпустите кнопку мыши, после чего откроется диалоговое окно с параметрами примененного материала. Для данной формы модели выберите опцию «Цилиндрическое отображение».

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

Шаг 1. Создайте новый материал и присвойте ему наименование «Абажур». Щелкните на кнопке OK.

Шаг 2. Вызовите диалоговое окно «Правка материала» и в канале «Цвет» установите следующие настройки: R = 100%, G = 100%, B = 90%, Ин = 80%.

Шаг 3. Перейдите к каналу материала «Прозрачность». Убедитесь, что он активен, в противном случае установите соответствующий флажок. Для этого канала можно использовать мозаичную текстуру ClothGrey.tif, находящуюся на компакт-диске Cinema 4D (в папке TutorialsMaterials IndoorTex). Щелкните на кнопке «Изображение», чтобы загрузить текстуру в канал материала «Прозрачность», и в окошке «Смешать» выберите команду «Вычесть». В этом случае вычитание белого цвета из текстуры ClothGrey.tif сделает абажур более прозрачным. Установите интенсивность смешения равной примерно 20%, после чего материал должен стать прозрачнее.

Шаг 4. Перейдите к каналу материала «Рельеф». Для этого канала используйте мозаичную текстуру Canvas.tif (она также имеется на диске Cinema 4D). Значение интенсивности, задаваемое по умолчанию (20%), достаточно для того, чтобы абажур принял соответствующий матерчатый вид.

Шаг 5. Перейдите к каналу материала «Глянец».

Блик (глянец) абажура должен быть небольшим, рекомендуемые установки следующие:

  • режим - "Пластик";
  • ширина - 20;
  • высота - 20.

Щелкните кнопку «Обновить», чтобы сохранить настроенный материал.

Шаг 6. Примените материал, перетащив его на модель Shade («Абажур») в «Менеджере объектов». Используйте цилиндрическое отображение. Сохраните проект.