Автоматическая генерация материала на основе текстурных карт.

Создайте произвольную группу объектов (рис. 4). Откройте окно редактора Hypershade (команда Window=>Rendering Editors=>Hypershade — Окно=>Редакторы рендеринга=>Редактор узлов). В области создания узлов раскройте список 3D Textures и выделите текстуру Marble, используемую для имитации мрамора, — соответствующий ей образец появится на нижней вкладке, причем уже с новым именем Marble1 (рис. 5). Выделите сферу  и назначьте в качестве материала образец с текстурой, нажав правую кнопку и выбрав из контекстного меню команду Assign Material to Selection. Результатом станет автоматическое создание нового материала на основе указанной текстуры, причем данный материал появится не только на нижней, но и на верхней вкладке редактора узлов (рис. 6). Однако если посмотреть после назначения материала в окно Perspective, то сфера будет выглядеть просто серой — увидеть то, что на сферу наложен материал, можно только после рендеринга (рис. 7). Установленное по умолчанию имя данного материала лучше изменить на более значимое: Pink_Marble, Gold_Metal, Blue_Plastic и т.п. Для этого можно активизировать образец с материалом и выбрать из контекстного меню команду Rename (Переименовать — рис. 8) или провести переименование непосредственно в редакторе атрибутов. Попробуйте наложить разные материалы на другие объекты по той же самой схеме — возможный вариант, где кубу соответствует материал Wood, цилиндру — Rock, а плоскости — Ocean из списка 2D Textures, представлен на рис. 9 и 10.

 

Рис. 4. Исходные объекты

Рис. 4. Исходные объекты

 

Рис. 5. Выбор текстурной карты

Рис. 5. Выбор текстурной карты

 

Рис. 6. Появление «мраморного» материала

Рис. 6. Появление «мраморного» материала

 

Рис. 7. Вид объектов после назначения сфере материала

Рис. 7. Вид объектов после назначения сфере материала

 

Рис. 8. Переименование «мраморного» материала

Рис. 8. Переименование «мраморного» материала

 

Рис. 9. Вид сцены после назначения всем объектам материалов

Рис. 9. Вид сцены после назначения всем объектам материалов

 

Рис. 10. Вид вкладок окна Hypershade после создания и присваивания материалов

Рис. 10. Вид вкладок окна Hypershade после создания и присваивания материалов

 

Параметрами любого созданного из текстуры материала можно управлять, что позволяет на основе любой базовой текстурной карты получать бесконечное число вариаций. Выделите на вкладке Work Area образец текстуры Marble1, переключитесь в окно редактора атрибутов (Attribute Editor) и измените цвета в полях Filler Color и Vein Color, например так, как показано на рис. 11, — розовый мрамор станет зеленым, причем данное изменение сразу же скажется на шаре, которому был присвоен соответствующий материал (правда, увидеть это вы сможете лишь после рендеринга). Активизируйте образец Rock и в редакторе атрибутов увеличьте значение Grain Size (рис. 12) — размеры темных включений на гранитной поверхности станут больше. Выделите материал, созданный на основе образца Ocean, и измените цвет в поле Ambien Color — это приведет к изменению текстурного окрашивания плоскости (рис. 13). Затем сделайте материал на основе текстуры Wood полупрозрачным (рис. 14). После всех изменений проведите рендеринг и увидите, что вид текстурных поверхностей стал иным (рис. 15).

 

Рис. 11. Корректировка параметров Filler Color и Vein Color

Рис. 11. Корректировка параметров Filler Color и Vein Color

 

Рис. 12. Изменение параметра Grain Size

Рис. 12. Изменение параметра Grain Size

 

Рис. 13. Корректировка параметра Ambien Color

Рис. 13. Корректировка параметра Ambien Color

 

Рис. 14. Изменение параметра Transparency

Рис. 14. Изменение параметра Transparency

 

Рис. 15. Вид сцены после корректировки параметров текстурных материалов

Рис. 15. Вид сцены после корректировки параметров текстурных материалов

 

Можно получить материал из произвольного графического файла (например, фотографии). Сформируйте сцену с кубом, цилиндром и шаром. Создайте образец текстуры File из списка 2D Textures, дважды щелкните на данном образце для открытия окна редактора атрибутов и укажите произвольный графический файл с фотографией в поле Image Name (разумнее это сделать через стандартную кнопку Browse) — рис. 16. Назначьте материал первому объекту — это приведет к автоматическому созданию материала из образца (рис. 17). Аналогичным образом получите материалы на основе снимков для двух других объектов. Проведите рендеринг, возможный результат которого можно увидеть на рис. 18. Обратите внимание, что принцип наложения материалов для разных объектов оказывается различным: если для куба отдельный экземпляр фотографии накладывается на каждую из его сторон, то при текстурировании цилиндра и шара подходы совершенно иные. Связано это с вышеупомянутой проблемой проецирования.

 

Рис. 16. Указание фотографии

Рис. 16. Указание фотографии

 

Рис. 17. Появление материала, полученного из фотографии, в нижней вкладке окна Hypershade

Рис. 17. Появление материала, полученного из фотографии, в нижней вкладке окна Hypershade

 

Рис. 18. Результат наложения материалов, созданных на основе фотографии

Рис. 18. Результат наложения материалов, созданных на основе фотографии

 

Данный способ удобно применять для создания материалов, соответствующих различным естественным поверхностям (камень, дерево, песок, ткань), правда придется подобрать соответствующие файлы текстур. Огромное количество таких текстур можно найти в Интернете, на дисках с ПО, позаимствовать в пакетах двумерной графики, при желании нужную текстуру можно даже создать самостоятельно, например в пакете Adobe Photoshop на основе собственноручно сделанных фотографии. Любая из таких текстур будет представлена обычным графическим файлом, поэтому материал на ее основе создается описанным выше способом. Попробуйте использовать данный прием и на основе доступных вам текстур создать природные материалы для всех объектов рабочей сцены — возможный результат представлен на рис. 19.

 

Рис. 19. Результат присвоения объектам сцены материалов на основе внешних текстур

Рис. 19. Результат присвоения объектам сцены материалов на основе внешних текстур


© 2007 D-X-Grayzor dxgrayzor@inbox.ru

Hosted by uCoz