Render.ru

Ambient Occlusion

Pavlo Kmit (P Kmit)

Активный участник
Рейтинг
16
#1
Каким образом Ambient Occlusion использоваться в играх? - если это просто запекания в текстуры, тогда почему не запекают к примеру Global Ilumination?
 

DemiurgLoD

Активный участник
Рейтинг
15
#2
На основе Ambient Occlusion просчитанного в редакторе создаются Lightmap-ы для статичных объектов. ну иногда и для динамических, но в редких случаях. Эти карты просто накладываются на объект (почти всегда для них используется отдельная развёртка) и взависимости от навороценночти движка и системных требовании редактируются динамически, или не редактируются)
 

DemiurgLoD

Активный участник
Рейтинг
15
#3
вот скрины с движка на основе XNA. В первом на каждом здании диффузная карта 512*512. На втором помимо диффузных карт наложены lightmap-ы 128*128. Эффект заметен каждому думаю)
 

Вложения

DemiurgLoD

Активный участник
Рейтинг
15
#4
насколько я сам для себя понимаю, Ambient Occlusion это практически и есть Gi, отличие только в том что Ambient Occlusion не имеет какого либо направления или позиционирования, поэтому модель можно спокойно вращать на плоскости, и она при этом будет выглядеть адекватно)
 

Pavlo Kmit (P Kmit)

Активный участник
Рейтинг
16
#5
То есть для придания Лайтмапам неоднородности в нужных местах?

А что можеш сказать о АО для персонажей? например в Team Fortress 2 оно есть.

И АО генирируеться в 3д редакторе полюбому?(во например есть плагины к играм которын додают АО до уже готовых игра, как ето делаеться?)
 

Carnifex

Знаток
Рейтинг
43
#6
То есть для придания Лайтмапам неоднородности в нужных местах?
Не лайтмапам а диффузке. АО по сути и есть лайтмап, только лайтмап запекается от конкретного источника(ков) освещения, а АО нет.
А что можеш сказать о АО для персонажей? например в Team Fortress 2 оно есть.
Много где есть. Все по той же схеме - наложение на диффузку для подчеркивая более и менее затененных областей, при всестороннем освещении.
И АО генирируеться в 3д редакторе полюбому?
Где хочешь, там и генерируй. Я делал в максе, XSI и xNormal'e.
 

Pavlo Kmit (P Kmit)

Активный участник
Рейтинг
16
#7
Не лайтмапам а диффузке. АО по сути и есть лайтмап, только лайтмап запекается от конкретного источника(ков) освещения, а АО нет.
тоесть сначала лайт мапу, а она в свою очереди дифузе?
 

Carnifex

Знаток
Рейтинг
43
#8
тоесть сначала лайт мапу, а она в свою очереди дифузе?
Вообще не понял, что ты хотел сказать.
Сначала рисуется диффузка, без учета освещения. Потом запекается лайтмап или АО, в зависимости от требуемого результата. Потом в фотошопе лайтмап или АО накладывается поверх базовой диффузки, сохраняем, получаем диффузку но с АО и просто кидаем ее в диффуз канал.
 

Pavlo Kmit (P Kmit)

Активный участник
Рейтинг
16
#9
то есть есть только дифузная карта? старых играх? в Хл2? - разве карта увеличиться от того что Ао будет в дифузе? А такое только сейчас стало появляться
 

DemiurgLoD

Активный участник
Рейтинг
15
#10
Потом в фотошопе лайтмап или АО накладывается поверх базовой диффузки, сохраняем, получаем диффузку но с АО и просто кидаем ее в диффуз канал.
Иногда это конечно и так происходит. Но чаще это не сохраняется в диффузной карте, а хнранится отдельно, и при помощи шейдеров они уже в движке комбинируются. Это просто позволяет очень сильно экономить на текстурах и при этом выигрывать в качестве.

Для того чтобы получить правую картинку просто наложением AO на диффузную карту нужна была бы текстура в 3, а то и 4 раза больше разрешением. А так минимум текстур в памяти и неплохое качество на экране
 

DemiurgLoD

Активный участник
Рейтинг
15
#11
комбинирование AO и Диффузной карт методом описанным Carnifex как правило используется в тех объектах где текстура не повторяется на модели, например при моделировании персонажей.
 

Pavlo Kmit (P Kmit)

Активный участник
Рейтинг
16
#12
То есть, по сути дела, АО в играх не меняет свойств области на которые она наложена? Тогда причем здесь Лайтмапы? Если я я не ошибаюсь, то они содержат информацию о том з какой степенью освещаются нужные сегменты геометрии?
 

DemiurgLoD

Активный участник
Рейтинг
15
#13
похоже вы не совсем поняли.

АО - это просто метод освещения, при котором нельзя определить направление с которого светит источник. Использовать его в реальном времени будет только безумец или человек у которого мощная профессиональная видеокарта вроде топовых Quadro. Lightmap - Это карта в которую записывается информация относительно освещения (если таковая используется).

В процессе моделирования используют AO чтобы сформировать Lightmap, который уже в свою очередь грузится в движок и позволяет реализовать фотореалистичное освещение статики не прибегая к гигантскому количеству расчетов)
 

DemiurgLoD

Активный участник
Рейтинг
15
#14
представьте что у вас над макушкой висит лампочка, и как бы вы голову не крутили из стороны в сторону, тени на лице, сформированные окружающим светом, всё равно будут одни и те же. вот этот эффект и даёт AO)
 

Pavlo Kmit (P Kmit)

Активный участник
Рейтинг
16
#15
значит для динамичных объектах запекать АО, а для статики АО используется как лайтмап, для того чтобы при компиляции карты движок нарисовал реалистичное освещение?
 

DemiurgLoD

Активный участник
Рейтинг
15
#16
нет) запекание в диффузную карту и создание light map-ов это просто разные подходы. Для динамических так и для статических объектов используют, как первый так и второй способ. Всё зависит от конкретной ситуации и движка)
 
Сверху