Амбиентная окклюзия для растительности

Материал из CryWiki Russia

Перейти к: навигация, поиск
О статье
АвторAndreyFilantrop
СложностьСредняя
ТребованияCrysis Mod SDK 1.2; Sandbox 2; 3ds Max
Дата добавления10/03/12


Содержание

Амбиентная (окружающая) окклюзия

Амбиентная окклюзия цвета вершин Vertex Alpha

Цвет вершин может использоваться для хранения информации по освещению растений типа ambient occlusion.

Palms AO.jpg

AO.jpg

На рисунках видно, что верхняя часть ствола и внутренняя часть кроны пальмы затемнены больше, чем наружные части, однако это не связано с самими текстурами и настройками общего освещения в редакторе Sandbox 2 в параметрах окна Time of Day.

Плюсы

Цвет вершин амбиентной окклюзии (синоним: затенений окружающий вершин или AO) отлично работает для объектов, которые используют повторяющиеся текстуры, как, например, модели окружающей среды как высокие бетонные стены, дома, потому что повторение текстур исключает возможность уникального освещения сцены быть добавленным в текстуру. В этом случае АО основанное на текстуре потребовало бы отдельной не повторяющейся UV текстуры, что увеличит объем памяти необходимый текстурам и также увеличит количество вершин для модели (чтобы сохранить второй слой UV развертки). Однако АО можно использовать и для растительности с шейдером Vegetation, только механизм несколько иной, чем для шейдера типа Illum.

Минусы

Недостаток цвета вершин в том, что разрешение АО зависит от сложности сетки объекта. Чем меньше вершин, тем менее точным будет затенение. Больше ребёр, соединяющих вершины, может быть добавлено к модели, но это обычно требует утомительной ручной работы

Установка в 3D max

Читая эту статью, у вас уже наверно имеется геометрия растения с настроенной детальной реакцией растительности, которая, как вы помните, использовала модификатор Vertex paint, в параметрах которого значился Vertex Color. В связи с этим мы снова будем использовать тот же модификатор Vertex paint, но в параметрах выберем теперь Vertex alpha.

Самый простой способ запечь цвета вершин АО (vertex color AO) в 3ds Max это использовать Radiosity:

  1. Разместите skylight где-нибудь.
    • Установите sky color на белый.
    • Поставьте галочку Cast Shadows (по желанию).
  2. Render menu > Render (в русскоязычной версии: Визуализация>Визуализировать)
    Advance Lighting вкладка
    • в Advanced Lighting вкладке - в выпадающем списке выбрать Radiosity
  3. Параметры Radiosity Processing Parameters вкладки:
    • Initial quality = 95
    • Refine Iterations (All Objects) = 1
    • Indirect Light Filter = 1
  4. Rendering Parameters вкладка:
    • выберите Re-Use Direct Illumination from Radiosity Solution
  5. Radiosity Processing Parameters вкладка:
    • нажмите Start

Теперь выберите вашу геометрию растения и назначьте модификатор Vertex paint, затем выберите в Channel пункт Vertex alpha в параметрах модификатора и выберите во вкладке Assign Vertex Colors пункты Lighting Only, Color by vertex и Radiosity, Reuse Direct Illum. from Solution.

Теперь выберите элементы, которые вы хотите запечь при помощи Radiosity и нажмите кнопку Assign в самом низу параметров модификатора.

Результат должен получиться как на втором рисунке в начале статьи.