Jump to content

Возможно ли применение ambient occlusion (AO) карт в моделях?


Recommended Posts

Приветствую! У меня возник вопрос-предложение из области визуального восприятия, глядя на движок ED... Если коротко - возможно ли реализовать в вашем нынешнем движке фейковый global illumination, в играх известный как ambient occlusion (в максе известный под LightingMap). Понятно, что он не может иметь применение повсеместно в игре, хотябы на технике, на худой конец - воздушной технике.

Что я конкретно имею ввиду... Что если, помимо имеющихся тестур цвета, запекать карты AO для объектов (естественно под отдельный UV канал, т.к. в канале цвета будет иметь место тайлинг), и внести зависимость от источника света. То бишь AO в местах, куда свет не попадает(в тени), будет смешиваться с текстурой цвета, условно говоря в режиме multiply? Некий аналог surface liminance в Maya. Особой запары и переделок при этом врядли предвидется, т.к. мапинг уже есть, остается лишь скопировать его в другой UV канал и автоматически разложить его от 0 до 1 без перекрытий (overlap-ов) - уникально. AO запекается также автоматически, т.е. это получается еще одна текстура, она для удобства может подгружаться из альфы, при этом занимать всего 8 бит, если используются 32 битные тескстуры, конечно.

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

Есть пара примеров с этой секвенции. Если это интересно, конечно. На картинках как раз показана зависимоть смешивания текстур цвета и AO от положения света к нормалям полигонов. Я знаю, что эта техника не нова. Объясняю только для тех, кто не в курсе.

В любом случае - это просто идея....

name10.jpg.cc030de51adcb729158e2e4f1d6ee670.jpg

name56.jpg.a1784e976f85752516083a11fcd5c111.jpg

name64.jpg.c040dbefc86a188fc43ea52d6c1fdc3c.jpg

name81.jpg.34e29c2da14fea4e65c22daefd0451c5.jpg

name93.jpg.0ececd9926f2ae4f1dfc3b5fdad2d876.jpg

Link to comment
Share on other sites

  • ED Team

А смысл ? Обсчет динамического освещения проводится сейчас в риалтайме. "Статический" амбиент для техники просчитывается только для одного положения источника света (рассеянного) и призван просто имитировать самозатенение и обеспечить как раз глубину (внимательно присмотрись к модели того же Ка-27). При этом лайтмап учтен непосредственно в текстуре.

Насколько мне известно, то о чем ты говоришь, если я правильно понял, динамическое изменение лайтмапы, в зависимости от позиции источника света, в движке не реализовано. Хотя могу ошибаться ;) В любом случае, сколько нужно рендерить лайтмапов для плавного изменения освещенности самолета при его вращении, чтоб не было видно дискретности ?

Link to comment
Share on other sites

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

А для чего все это... ну, к примеру, взглянуть на пару скринов при нейтральном (и не очень) освещении в ГС - http://www.lockon.ru/img/products/large/1f6556637abdc83afc791c3cf50773d0.jpg

http://www.lockon.ru/img/products/large/2aafe89d0c5a734337f9d4cd52d0ebc6.jpg

http://www.lockon.ru/img/products/large/fd3fa21cb1f40b5195c22ef694f4ae59.jpg

Немного сыровато :(

 

Я имел ввиду не совсем динамическое изменение самой лайтмапы, хотя, nvidia такие штуковины уже пытается внедрить, АО они научились просчитывать на лету. Лайтмапа (нестральная, то бишь самозатенение) просчитывается в отдельный файл. А процент видимости ее (в наложении с цветом) зависит от направления нормали полигона к источнику света... Другими словами, она должна проявляться плавно и затухать также. Плюс к этому, было бы неплохо, чтобы в зоне динамических теней она проявлялась абсолютно, т.к. тень - это есть отсутствие прямого света... :)

Так что рендерить кучу лайтмапов нет необходимости, а лайтмапа в цвете, должна присутствовать в минимальном количестве, иначе, как видно на этом скрине http://www.lockon.ru/img/products/large/88038da23008485d6a9d6af19da5714f.jpg при попадании прямого света, на хвосте видно черное пятно, произошедшее, как раз от лайтмапы. Вот...

Link to comment
Share on other sites

shurik spbb ты молодец, заметил самую соль!!!

Ты категорически прав, Ка-27 делался именно с запеканием окюжена. Физически лайтмап сейчас в ЕД возможен только с применением запекания, поскольку средствами двигла он не осуществим. Имеется в виду мультитекстурирование, о котором я упоминал ещё прошлым летом в разговоре с Андрюхой Чижом. Это непосредственно личное дело ЕД. В августе в среде довольно талантливых штатных дизайнеров ЕД у меня была возможность провести небольшую конференцию по этому вопросу, но к сожалению, поделился только с самыми продвинутыми, теми, кто по настоящему заинтересовался. Обрати внимание, что самые лучшие модели сейчас делаются именно так.

GK, ты категорически не прав, для того, чтобы на данном этапе развития железа сделать амбиентное затенение с переотражением, повторяю, с многократным переотражением необходимы чудовищно мощные вычислительные мощности, которых в данный момент времени не существует.

Почитай мои предудущие постинги на эту тему, либо стукнись в приват, я постараюсь на пальцах пояснить принцип. Гарантирую, что после этого и без того неплохие твои модели заиграют особыми нюансами.

Link to comment
Share on other sites

  • ED Team
Ка-27 делался именно с запеканием окюжена. Физически лайтмап сейчас в ЕД возможен только с применением запекания, поскольку средствами двигла он не осуществим.

 

"Статический" амбиент для техники просчитывается только для одного положения источника света (рассеянного) и призван просто имитировать самозатенение и обеспечить как раз глубину (внимательно присмотрись к модели того же Ка-27). При этом лайтмап учтен непосредственно в текстуре.

 

Чето я не понял ... А я о чем говорил ? Термин "запекание" не использовал ?

Link to comment
Share on other sites

Чето я не понял ... А я о чем говорил ? Термин "запекание" не использовал ?

 

Жень, извини, я просто неправильно осмыслил твои слова. Всё ты правильно сказал, только в терминах не сошлись.:)

Link to comment
Share on other sites

  • ED Team
Жень, извини, я просто неправильно осмыслил твои слова. Всё ты правильно сказал, только в терминах не сошлись.:)

 

Да нет проблем :) Рад, что выяснили. Тема интересная ...

Link to comment
Share on other sites

2 ЗлойСкин

А можешь небольшой тутор забацать? Тоже хочется попробовать. Я читал пост про твой Миг , но что-то не очень понял.

Link to comment
Share on other sites

2 ЗлойСкин

А можешь небольшой тутор забацать? Тоже хочется попробовать. Я читал пост про твой Миг , но что-то не очень понял.

 

Тутор давно пора забабахать, проблема только в времени. Думаю в ближайшее время набросаю планчик тутора, так чтобы продвинутые товарищи смогли по ходу пьесы задать вопросы, ну а начинающие... К сожалению с азов разжовывать нет времени. Уже года полтора задумываю, катастрофический дефицит времени.

  • Like 1
Link to comment
Share on other sites

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

Link to comment
Share on other sites

По-моему. LightMap все-таки лучше использовать там где нет движущихся объектов (к примеру закрылки, или створки шасси). Либо, использовать разные текстуры с (разным LightMap), то есть анимировать каким-то образом текстуру, иначе в одной полетной конфигурации самолет выглядит классно, но стоит конфигурации поменяться, и возникают непонятные затенения. Хотя, может, я что-то опять не догоняю. :)

Link to comment
Share on other sites

  • ED Team
По-моему. LightMap все-таки лучше использовать там где нет движущихся объектов (к примеру закрылки, или створки шасси). Либо, использовать разные текстуры с (разным LightMap), то есть анимировать каким-то образом текстуру, иначе в одной полетной конфигурации самолет выглядит классно, но стоит конфигурации поменяться, и возникают непонятные затенения. Хотя, может, я что-то опять не догоняю. :)

Нормально ты догоняешь. Для самолета использование лайтмапов должно быть вообще с большой оглядкой ... Вертолет, тот хоть всегда винтом кверху летает, про технику я вообще молчу, от земли сравнительно мало света отражается.

А с анимации лайтмапы, собственно, эта тема и начиналась ...

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...