Winding Trail project

 

Переделала освещение ландшафта

Апрель 17, 2006, 21:43
Автор:
Alena
Категория: Программист

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

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

В жизни тени и освещенность не разделяются. Если стоит гора в чистом поле, то она должна отбрасывать тень на это самое чистое поле, а склон, отвернутый от солнца, должен быть темным. В игре же можно ограничиться освещенностью, тогда склон темнее станет, а тени на поле не будет. Для получения освещенности мне потребовалось посчитать нормали в каждой вершине (для этого надо сложить нормали каждого из 8 прилегающих к вершине треугольников), поставить источник света, ну а затемнение склонов происходит автомагически.

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

Вот что получилось в итоге:

Было

Стало


Джиму понравилось, мне, в общем, тоже нравится. Скриншотов старого ландшафта в блоге было много, скриншот нового уже один есть, будут еще, так что предлагаю вам посмотреть их, сравнить и высказать свое мнение по этому поводу. :-)
Возможно, мы еще поэкспериментируем с освещенностью, чтобы затененные склоны были потемнее или уведем их чуть в коричневый, но в целом они будут такие.


Автор: Tomaz (04.18.06, Апрель 18, 2006, 18:54)

Действительно, стало значительно лучше.

Автор: Goodwin (04.19.06, Апрель 19, 2006, 4:05)

Думаю этого вполне достаточно для, так сказать, адекватного восприятия внешнего окружения. Жаль конечно, что
..Не будет длинных красивых вечерних теней..
Но подобного эффекта вполне можно будет добиться, что-нибудь сымитировав и упростив как вы любите:)

Автор: Alena (04.19.06, Апрель 19, 2006, 10:48)

Но подобного эффекта вполне можно будет добиться, что-нибудь сымитировав и упростив как вы любите:)

Да графика в играх вообще сплошной обман и имитация. :-)
С тенями от ландшафта возможно варианты. Можно их предпосчитать и наложить еще одной текстурой. Но тут они сожрут место в дистрибутиве, это раз. Плюс это нагруза на производительность. Плюс у нас же непрерывная подгрузка уровней, тени здоровые, подгружаться будут медленно.
Алгоритмы динамического подсчета теней, что я находила, тоже создают всякие разные проблемы. Какие-то еще и считаются очень медленно, какие-то требуют от карточки слишком многого.