Модель освещения для 2D хоррор-игр
Эта идея пришла ко мне года 2 назад. Я обратил внимание на то, что в условиях недостаточного освещения, в силу устройства человеческого глаза, мы воспринимаем объекты преимущественно в синих тонах и немного размытыми. Мне стало интересно - как изменилось бы восприятие от игры с такой моделью. С целью выяснить это, я набросал эту демку на HTML5. Сильно круче, как выяснилось, не стало, но определенный, вполне ощутимый шарм этот эффект добавляет.
Как его достичь:
Рендерим кадр. В отдельном буфере рендерим тьму с использованием motion-blur, размываем ее обычным blur'ом. При наложении тьмы на основной кадр, вносим поправки, а именно: начиная с определенного уровня освещения, потихоньку убавляем каналы красного и зеленого цветов; начиная с еще более темных участков, применяем слабенькое размытие. В моей реализации при определенных параметрах видны границы волн наплывающего размытия - это из-за ленивой огранизации размытия по blur-карте; при должном подходе этих границ не будет видно.
Хотелось бы увидеть как оно будет сочитаться с геометрическими тенями, как в gish (добавлять перед размытием теней, соответственно), но боюсь что у меня руки до такой проверки не дойдут.
Лучше всего демка работает в Chrome, дайте ей секунд 10-20 на "разогрев". К сожалению, я так и не подружился с Firefox, по-этому в нем центр "фонарика" смещен относительно курсора. Насчет оперы не знаю, так и не удосужился ее поставить :)
Значения параметров в демке варьируются преимущественно от 0 до 255; в дополнение к начальным значениям, приведу еще один набор: полудохлый фонарик - 100 25 1 140 8 0.
Картинка из They bleed pixels.
UPD: Демка с геометрическими тенями. Лагов в 5 раз больше.
- 01 сентября 2012, 21:00
- 011
15 комментариев