Уроки: Lightwave 3D

Выпекание Бетховена

Примечание: Шейдер поверхности Baker позволяет вам спекать источники света, тени, текстуры и т.д. Эта информация может быть сохранена как изображение которое может быть наложено на объект и использованием UV мэпинга или применена прямо к вершинам объекта. После использования Baker, вы сможете видеть комплексные текстуры в реальном времени в окне просмотра.

Из руководства к LightWave 6.5

Одно из возможных применений шейдера LW_BAKER - фиксирование глобального освещения объекта. В последствии LW_BAKER можно использовать для внесения реализма в изображение поверхностей, причем без дополнительных значительных затрат времени на рендеринг. Кроме того, еще одно применение - увеличение реалистичности в приложениях реального времени, например, в играх.

Краткое описание выполняемых действий:
  1. Приготовьте объект: Загрузите модель Beethoven в Modeler. Преобразуйте полигоны в треугольники (Triple polygons), выполните подразделение полигонов (Subdivide polygons) и заморозьте(Freeze) на уровне 2. Перешлите объект в Layout
  2. Установите Baker на поверхность "BeethovenHair", после чего установите на bake to 'Object'.
  3. Перейдите к панели Global illumination. Установите интенсивность света (Light Intensity) в 0, Ambient Intensity в 0, Enable Radiosity (метод излучательности (техника моделирования световых потоков для построения и визуализации трехмерных изображений сцен)) и Set Tolerance также в 0.
  4. Установите белый цвет фона.
  5. Выполните рендеринг.
  6. Сделайте мульти-выбор (Multi-Select) поверхностей, и установите Vertex Color Map в SB_BeethovenHair в Advanced Tab, установите яркость(Luminosity) в 40% и рассеивание(Diffuse) в 60%.
Развернутое описание
  1. Подготовка объекта.

Перед использованием LW_Baker мы сначала подготовим объект, для того, чтобы получить большую детализацию для рендеринга. Объект, который мы хотим выпечь - бюст Бетховена. Эта модель представляет для нас интерес потому, что имеет большое количество углублений и щелей, на которых очень хорошо видны особенности radiosity освещения. Цель подготовки объекта состоит в том, чтобы увеличить количество вершин методом подразделения. Причина проста - мы будем использовать эти вершины для создания vertex color map, содержащую информацию о radiosity освещении. Загрузите объект "Beethoven.lwo" в Modeler, во вкладке Construct, выберите инструмент Subdivision->Triple - этим мы преобразовываем все многоугольники в треугольники, что гарантирует нам, что мы сможем их выпечь и что они будут подразделены. После этого нажмите клавишу Tab, чтобы преобразовать сетку в subpatch. На панели General Options установите Patch Divisions в 2

 

Теперь закрепите объект (Вкладка Construct, Convert->Freeze). Сохраните объект как Beethoven_Frozen.lwo, и передайте его в Layout с помощью функции Send Object to Layout во всплывающем меню справа-сверху.

 

  1. Установка Освещения

Мы подошли к самой важной части нашей обучающей программы. Сейчас мы установим весьма необычные условия: перейдите в панель Global Illumination, установите Global Light Intensity в 0%, установите Ambient Light Intensity света в 0%. Перейдите к опции Scene->Backdrop, установите белый цвет фона. Таким образом, у нас получилась среда абсолютно без освещения, с фоном белого цвета. Если мы сейчас выполним рендеринг (нажмите F9), мы увидим темный объект на белом фоне. Конечно же, это совсем не интересно ...

 

Теперь возвратимся к панелям Global Illumination и Enable Radiosity. Не изменяйте настройки, заданные по умолчанию, и выполните рендеринг снова. Вид объекта теперь значительно изменился. Похоже, что объект как бы светится изнутри - вот это и есть radiosity illumination.

 

Легко заметить, что наиболее недоступные части поверхности (например, внутри углублений) - выглядят более темными, в то время как наиболее "выставленные" области - самые яркие. Это - весьма интересный результат. Таким образом, этот метод radiosity может использоваться для оттенения участков поверхности с различной для света досягаемостью. Это - основа для моделирования борозд, фасок, скосов, или весьма похожих эффектов "грязи". Чтобы получить более точные результаты при использовании radiosity, установите Tolerance в 0.

  1. Добавление шейдера

Откройте панель Surface Editor, и выберите поверхность "BeethovenHair". В принципе, для процесса выпекания могла быть выбрана любая из поверхностей. Плагин LW_BAKER обладает возможностью, которая позволяет Вам спекать весь объект целиком, не добавляя шейдер к каждой поверхности объекта. Добавьте плагин LW_BAKER: вкладка Shaders -> всплывающее меню Add Shader. Дважды щелкните на Surface Baker, чтобы открыть панель свойств плагина. Установите Bake в "Object" вместо "Image". Это значит, что спекание будет выполнено по вершинам, а не по многоугольникам, и что результат будет сохранен как vertex color map, (для этого нужно предварительно выбрать "SB_BeethovenHair"). Как упоминалось раньше, Baker может спекать весь объект целиком, что можно сделать, используя опцию "Bake Entire Object", которая по умолчанию включена.

 

  1. Выпекание объекта

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

  1. Использование результатов

В Surface Editor, multi-select поверхности, перейдите к вкладке Advanced, и установите Vertex Color Map в SB_BeethovenHair. В основной вкладке установите Diffuse в 0 и Luminosity в 100%.

 

То, что Вы видите - чистый результат симуляции radiosity. Теперь мы можем комбинировать этот метод с существующей средой освещения: перейдите к Global illumination и установите Global Light Intensity, как было раньше, в 100% и Ambient Light в 25%. После этого возвратитесь в Surface Editor, и удостоверьтесь, что все поверхности все еще выбраны. Установите Luminosity в 40% и Diffuse в 60%. Таким образом мы получаем смесь radiosity с текущим освещением. Баланс между яркостью и рассеиванием очень сильно зависит от типа вашей сцены и того, что Вы хотите делать с вашим объектом.

 

vertex color map - это результат комбинирования основного цвета с цветом текстуры путем использования режима умножающегося смешивания. Это означает, что Вы можете использовать карту, чтобы затемнить части поверхности после того, как они были оттекстурированы. Таким образом, можно считать, что мы можем пользоваться "встроенным" методом radiosity, который может применяться к поверхности, чтобы изменить состояние освещения. Попробуйте поэкспериментировать: поменяйте процент цветности вершины и понаблюдайте, что получится. Также пробуйте установить цветность вершины в 200%. Обратите внимание, каким контрастным станет освещение.

  1. Заключение

radiosity решение - довольно интересная вещь. radiosity решение может использоваться для двух целей: в качестве освещения при нейтральных условиях (то есть никакого прямого освещение) или как карта досягаемости светом объекта, что мы можем использовать для моделирования эффектов углублений или грязи. - - Baking radiosity в картах вершин может быть очень полезна, потому что она создает карты вершин, которые могут использоваться в качестве вторичного уровня освещения, причем источник света находится непосредственно внутри объекта, что очень эффективно, потому что Вы должны вычислить radiosity только однажды, и вычисление результирующих карт цвета вершин происходит очень быстро, и Вам не нужно обсчитывать radiosity на каждом кадре, а результаты - не такие уж плохие! Baking на вершинах возможен только с объектами, которые имеют достаточное количество вершин. Если это условие не выполняется, baking в image - лучшая альтернатива.

За:

  • Быстрый рендеринг.
  • Компактное представление данных.
  • Отображается в OpenGL.
  • Смешивается с существующими текстурами.
  • Сохраняется непосредственно внутри объекта (нет никакой зависимости от текстуры).

Против:

  • Поддерживаются не все виды геометрий.

Источник: Newtek.com

14215
Актуальность: 0
Качество: 0
Суммарный балл: 0
Голосов: 2 оценки
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: * уникальных посетителей