3D-моделиУрокиСценыТекстурыЧаВоГалереяСправочникГлоссарийПомощь | Фигурное и частичное (зональное) текстурирование моделейПредыдущий урок: Первые опыты по простейшему текстурированию ландшафта Следующий урок: Создание трёхмерной модели новогодней ёлки К этому уроку прилагается 3D-сцена В предыдущем уроке мы с вами научились целиком покрывать текстурой трёхмерные модели. Зачастую же перед моделером стоит более сложная задача — «раскрасить» одну-единственную модель разными текстурами, используя при этом одну текстуру в одной зоне модели, другую — в другой зоне, и так далее. Есть и более сложные варианты, при которых различные текстуры смешиваются, образуя сложные варианты раскраски. В данном уроке мы с вами рассмотрим два метода, при помощи которых можно использовать несколько текстур для формирования внешнего вида модели. За основу возьмём несложную модель человечка из урока «Осваиваем работу с камерой». Нам с вами уже известно, что простейший способ присвоить модели текстуру — это в стандартном режиме Cinema 4D перетащить текстуру на наименование трёхмерной модели в менеджере объектов. В этом случае, однако, наша фигурка будет окрашена целиком. На первый взгляд решение очевидно: собрать трёхмерную модель из множества «деталей», каждая из которых будет целиком окрашена одной определённой текстурой. Способ этот, однако, при ближайшем рассмотрении оказывается крайне неудобным: ведь, к примеру, границы цветовых зон на поверхности финальной модели могут принимать в соответствии с задачами самые причудливые очертания, и в этом случае сопрягать края множества разноцветных «деталей» для нас с вами может оказаться весьма и весьма трудоёмкой задачей. К тому же использование одной-единственной модели вместо некоего множества моделей ощутимо экономит память и запас производительности процессора при просчёте финального изображения. Итак, какие же методы мы с вами используем для текстурирования? Метод 1: полигональное текстурирование Звучит исключительно грозно. На самом же деле всё очень просто: нам необходимо просто выделить часть полигонов на поверхности нашей трёхмерной модели и присвоить текстуру не всей модели, а именно выделенным полигонам. Переводим взгляд в верхний левый угол интерфейса Cinema 4D и в левой панели режимов ищем пиктограмму переключения в режим работы с полигонами. Найдя нужную пиктограмму, нажимаем её, затем в верхней панели инструментов выбираем режим выделения — для этого нажимаем кнопку со стрелкой. Внешне наша модель выглядит по-прежнему, но если выделить её в менеджере объектов, то на её поверхности появится полигональная сетка. Наша задача — выделить ту часть поверхности фигуры, которая должна выглядеть иначе, нежели остальная поверхность фигуры. Выделив нужную нам часть поверхности, не забываем сохранить выделение, для чего выбираем пункт «Set Selection» в выпадающем из пункта «Selection» верхнего меню программы подпункте. Переместив взгляд на менеджер объектов, мы видим, что напротив наименования фигуры появилось изображение треугольника — пиктограмма созданного нами выделения. Теперь, если отменить выделение, а затем дважды щёлкнуть на этой пиктограмме, то мы увидим, что полигоны на поверхности стекла шлема фигуры моментально окажутся выделенными вновь. Ниже, в окне свойств выделенного объекта (сейчас у нас выделенным объектом является само выделение) появился набор свойств, важнейшим из которого для нас является наименование выделения — меняем наименование на какое-нибудь собственное и легко узнаваемой (на изображении ниже наименование отображено как «Helmet Glass»). Теперь создаём текстуру, которая будет использоваться только для выделенной части фигуры. Создав — присваиваем её фигуре. Мы видим, что фигура теперь окрашена в цвет новой текстуры. Всё дело в порядке следования текстур в списке рядом с наименованием трёхмерной модели: Cinema 4D сначала покрывает фигуру первой текстурой, затем второй. Так как вторая текстура полностью непрозрачна и присвоена всей фигуре целиком, то первая текстура попросту скрыта под второй и потому не видна. Исправим это недоразумение, указав для второй текстуры, какие из полигонов она должна окрашивать — для этого выделяем текстуру и в появившемся внизу списке свойств ищем поле «Selection», в котором указываем то самое наименование, которое мы только что присвоили группе выделенных полигонов.. Кратко подытожим результаты знакомства с полигональным способом присвоения текстуры: этот способ удобен, но лишь для тех случаев, когда изменить текстуру необходимо для одной или нескольких областей поверхности трёхмерных объектов, а также в тех случаях, когда гурппа полигонов совпадает по внешней форме с областью, текстура которой должна быть индивидуальной. Изменение текстуры для большого количества областей или для области со сложной формой этим методом нецелесообразно, так как является слишком трудоёмким. Метод 2: текстурирование при помощи альфа-каналов Справившись с задачей присвоить индивидуальную окраску стеклу шлема нашей фигурки, мы также решили изменить однотонный цвет фигурки на пятнистый — скажем, на окраску камуфляжного типа. Очевидно, предыдущий способ здесь не подойдёт: камуфляжная окраска содержит множество пятен различного размера со скруглёнными краями, что было бы невозможно изобразить при помощи выделения полигонов. В нашем исполнении камуфляжная окраска будет состоять из двух цветов. Нам необходимо сделать следующее: прорезать отверстия в основной текстуре, сквозь которые будет просвечивать альтернативная фигура. Открываем свойства текстуры и отмечаем галочкой пункт «Alpha» — это и есть альфа-канал. Для создания эффекта камуфляжной окраски фигурки у него должна быть некая «пятнистая» маска — чёрно-белое изображение, указывающее, где будут расположены отверстия в текстуре: белым цветом обозначена непрозрачность текстуры, чёрным — полная прозрачность (естественно, с учётом градаций чёрного и белого и соответственной долей прозрачности). Разумеется, в качестве маски можно выбрать и цветное изображение, но альфа-каналом оно всё равно будет восприниматься как чёрно-белое. В данном случае для нас с вами может оказаться очень полезным набор встроенных в Cinema 4D бесшовных параметрических чёрно-белых карт — «Noise» («Шум»). Воспользуемся этой возможностью. Нажав на миниатюрное отображение вида карты, можно открыть и настроить свойства последней (масштаб, рисунок и пр.). Мы видим, что итоговая поверхность контрольной сферы в левом верхнем углу свойств текстуры выглядит теперь словно насквозь изъеденная ржавчиной. Отрендерив фигурку с такой текстурой, мы увидим, что её поверхность испещрена отверстиями самой разнообразной формы. Сквозь эти отверстия и будет просвечивать вторая текстура — текстура для цвета пятен, которые будут разбросаны по поверхности фигурки. Создаём новую текстуру и накладываем её на фигурку. Вот незадача: наша фигурка просто окрашена теперь в другой цвет. Куда делась окраска стекла шлема? Где пятна по всей поверхности фигурки? Терпение, ничего странного: всё перечисленное скрыто под новой текстурой, ведь мы уже знаем, что очерёдность следования текстур в списке рядом с наименованием трёхмерной модели определяет порядок их наложения. Обратите внимание, в каком порядке следует текстуры, присвоенные фигурке. Давайте изменим этот порядок... и насладимся результатом. На первом месте в списке текстур, присвоенных фигурке, у нас теперь стоит текстура цвета пятен, на втором — основная («дырявая») текстура, и наконец, на третьем — текстура для стекла шлема. При желании можно создать тем же способом ещё один дополнительный набор пятен, «продырявив» уже текстуру пятен, чтобы через отверстия в ней просвечивала ещё одна текстура, главное — не забыть разместить текстуру для дополнительного набора пятен в начале набора текстур, присвоенных фигурке. Ну и конечно, конфигурации отверстий в двух «дырявых» текстурах не должны совпадать. Предыдущий урок: Первые опыты по простейшему текстурированию ландшафта Следующий урок: Создание трёхмерной модели новогодней ёлки Вернуться к началу урока | Вернуться к списку уроков |
20.12.2014 04:42 Комментирует Александр:
Спасибо, очень полезные уроки.
10.04.2015 23:12 Комментирует Алекс:
А по анимации текстуры можно у вас урок попросить? Спасибо! Ответ автора: беру на заметку, организуем, Алекс.