Основы запекания текстур в V-Ray, часть I |
>>> Запекание текстуры >>>
Search Keywords: bake, baking, render to texture
Подготовка объектов для запекания текстур
Запекание текстур (визуализация)
Загрузка новых запеченных материалов и их предварительный просмотр во вьюпорте
Визуализация сцены с запеченными материалами
В этом уроке мы будем обсуждать процесс запекания текстуры в V-Ray.
Визуализация в текстуру, или "запекание текстуры", позволяет вам создавать текстурные карты основанные на внешнем виде объекта в визуализированной сцене. Эти текстуры, "запеченные" в объект становятся частью самого объекта посредством преобразования (mapping) и могут быть использованы для быстрого отображения текстурированного объекта на устройствах, поддерживающих Direct3D, таких как видеокарты и игровые движки.
В нашем случае, мы покажем вам как может быть запечена простая сцена, и как может быть использован этот метод для создания анимации с пролетом камеры (Fly-Through Animation).
Наша сцена содержит 2 объекта (космический корабль Space_ship и землю Ground) и 1 источник света (omni). Вы можете загрузить начальную сцену отсюда.
Эти объекты в действительности не имеют никаких специфических карт (на диффузе), а только диффузный цвет. Оба присвоенных им материала являются материалами V-Ray. Серый материал присвоен объекту земли, а зеленый - космическому кораблю. Все настройки материалов оставлены по умолчанию, кроме диффузного цвета:
- Материал космического корабля : RGB(103, 174, 108)
- Материал земли : RGB(128, 128, 128)
Источник света (omni) расположен немного выше и в стороне от корабля. Для него установлены Multiplier равным 2.0 и Color RGB (226, 201, 146); тип теней VRayShadow.
1.1. Откройте начальную сцены, которую можно найти здесь.
1.2. Установите V-Ray в качестве текущего визуализатора.
1.3. Вы можете открыть Редактор материалов (M) что бы удостовериться, что материалы правильно настроены и присвоены.
1.4. Перед тем, как вы сделаете первую визуализацию, мы включим Frame Stamp (свиток System), что бы на изображении показывалось время визуализации.
1.5. Визуализация:
Вот что мы получили с настройками V-Ray по умолчанию. Для того, что бы сделать освещение более интересным, мы добавим к визуализации непрямое освещение и размытые тени.
1.6. Перейдите в свиток Image sampler и установите Image sampler type в Adaptive DMC.
1.7. В свитке Indirect illumination, включите GI установите для Primary bounces и Secondary bounces Quasi-Monte Carlo (теперь это Brute force - прим. перев.).
1.8. В свитке Environment, включите опцию Override MAX's (Skylight) и установите Color в RGB(255, 255, 255), а Multiplier равным 0.8.
Это будет нам давать некоторый цвет из окружающей среды, действующий как свет от неба.
1.9. Визуализация:
Обратите внимание, как увеличилось время визуализации из-за тех изменений, которые мы сделали в настройках визуализатора.
1.10. Включите для источника света Omni опцию Area Shadow (размытые тени).
1.11. Визуализация:
Теперь у нас есть размытые тени.
Изображение выглядит хорошо, но видна зернистость. Для уменьшения шума мы настроим параметры DMC-сэмплера.
1.12. В свитке DMC Sampler установите Noise threshold равным 0.001.
1.13. Установите Global subdivs multiplier равным 10.0.
1.14. Визуализация:
Обратите внимание как увеличилось время визуализации, но качество стало гораздо лучше. Теперь наша сцена готова для запекания.
2.1. Сначала мы выключим штамп Frame Stamp (свиток System). В противном случае мы получим его на на нашей запеченной текстуре, что не входит в наши планы.
2.2. Теперь откройте окно Render to Texture (0) из меню Rendering.
2.3. В поле Output укажите каталог, где будут сохраняться запеченные текстуры.
2.4. Выберите (Select) в сцене оба объекта (космический корабль и землю).
2.5. В группе Mapping Coordinates установите переключатель в положение Use Automatic Unwrap.
Посмотрите как оба объекта были автоматически добавлены в таблицу Objects to Bake (Объекты для запекания).
2.6. В свитке Output установите Size равным 512, включите Enable (если выключено) и в поле Name введите имя для карты.
В действительности это будет суффиксом имени для ваших файлов запеченных текстур, которые будут созданы, а префиксом имени будут имена самих объектов в сцене.
Например: в нашем случае, запеченная карта для нашего объекта Ground будет иметь имя: GroundCompleteMap.tga. (видимо на иллюстрации ошибка: вместо VRayCompleteMap должно быть CompleteMap - прим. перев.)
2.7. В свитке Baked Material установите переключатель в Save Source (Create Shell).
2.8. Установите переключатель в Create New Baked и в выпадающем списке выберите Standard: Blinn.
2.9. Установите переключатель в Keep Source Materials.
2.10. Теперь вернитесь в свиток Output и в выпадающем списке Target Map Slot выберите Self-Illumination.
Посмотрите как это было автоматически добавлено в таблицу.
Все остальные настройки оставьте как есть.
Теперь наши объекты готовы для запекания (визуализации).
3.1. Нажмите кнопку Render в нижней части окна Render to Texture.
3.2. Вы можете видеть, что baking process (процесс запекания) обрабатывает построчно объект за объектом, как они занесены в таблицу.
Первым начал визуализироваться (запекаться) объект Ground, за ним последовал Space_ship.
4.1. Откройте Редактор Материалов (M) и выберите пустой слот материала.
4.2. Нажмите значок Get Material для открытия окна Material/Map Browser.
4.3. Выберите Browse From: Scene.
4.4. Вы можете заметить, что в сцене есть 2 новых материала. Они имеют тип Shell Materials и содержат в себе оба материала: исходный материал V-Ray и новый Baked Material.
Это произошло из-за действий, сделанных на шагах: 2.7, 2.8, 2.9.
4.5. Перетащите, как показано, новые материалы в Редактор Материалов.
4.6. В новых материалах в свитке Shell Material Paramaters установите Baked Material для Viewport и Original Material для Render.
Это просто означает что:
- если мы делаем новую свежую визуализацию (F9), то объект будет использовать свой Original material (VRayMtl).
- во всех вьюпортах объект будет использовать свой Baked Material (Standard).
4.7. Выберите новый материал Ground Shell - ground_material[Ground].
4.8. Включите Self-Illumination и установите чисто белый цвет Color RGB(255, 255, 255). Посмотрите, что у нас уже есть прикрепленная текстура Baked Map.
Это получилось потому, что мы точно указали этот целевой слот (Target Slot) (см. шаг 2.10).
4.9. Перейдите на карту Self-Illumination и включите отображение карты во вьюпорте (значок Show Map in Viewport).
4.10. Во вьюпорте вы должны будете увидеть плоскость земли с уже запеченной картой.
Обратите внимание: если вы забыли включить значок Show Map in Viewport, вьюпорт будет выглядеть так:
Сейчас Space_ship по прежнему показывается абсолютно черным потому, что мы для него еще не настроили материал.
4.11. Повторите шаги с 4.7 по 4.9, выбрав новый материал для космического корабля - ship_material [Space_Ship].
Теперь вьюпорт должен выглядеть примерно так (обратите внимание как Edged Faces - Ребра фейсов (F4) могут быть показаны вместе с запеченными картами).
Shade + Edged Faces On Shade + Edged Faces Off
4.12. Здесь мы приводим еще несколько дополнительных видов сцены с различных положений:
5.1. Откройте Редактор Материалов (M).
5.2. Для обоих материалов Shell Materials Choose установите переключатель Render в Baked Material.
5.3. Выберите источник света Omni и выключите его. В действительности мы даже можем его удалить из сцены, и визуализация при этом останется такой же, поскольку все освещение уже запечено в текстуру.
5.4. В настройках V-Ray выключите GI, Environment (Skylight) и Default Lights.
5.5. Визуализация:
Обратите внимание на время визуализации. На шаге 1.14 у нас было 4 мин 36 сек. Сравните с 8.6 сек сейчас. Это происходит потому, что с запеченными текстурами V-Ray не производит каких-либо вычислений освещенности. Вы можете даже переключиться на встроенный в 3ds Max визуализатор Scanline и по прежнему получить тот же результат.
Имейте ввиду, что вы можете анимировать камеру и визуализировать целую анимацию с пролетом камеры (fly-trhough animation) с очень малым временем визуализации на один кадр.
Замечания
Мы покажем вам другой метод, который дает абсолютно такой же результат, как показанный выше. Это касается шагов с 2.7 по 2.10.
Поскольку материал VRayMtl не поддерживает карту Self-illumination, мы будем использовать материал VRayLightMtl. Сгенерированные карты запеченных текстур будут автоматически помещены в слот Texmap. Затем, для предварительного просмотра получившихся запеченных текстур, вы должны повторить шаги с 4.7 по 4.11 (конечно помня о том, что тип новых материалов VRayLightMtl).
В следующей части урока по запеканию текстур вы научитесь как запекать только определенные элементы визуализации (например только освещенность или GI).
Перевод © Black Sphinx, 2008-2011. All rights reserved.