Область обзора камеры в Teleglitch
У Nox была очень интересная особенность: динамическая область обзора камеры! Она обновлялась в реальном времени по мере движения игрока. Супер!
В инди-игре Teleglitch тоже есть эта фича. Я упоминаю об этом, потому что они имитируют область очень интересным способом! Сначала я тоже подумал “О да, они красиво скопировали эффект у Nox”, но присмотревшись лучше я понял, что движение немного другое.
Я дважды ошибался в своих предположениях насчет техники реализации. Перед вами исправленная версия.
Цитата из письма одного моего читателя:
На самом деле, линия ограничивающих поле зрения теней выполняется без учета перспективы. Это просто черные полигоны, выступающие со стен, на расстоянии от игрока. Математически похоже на черные 3d стены, возникающие перед камерой, но если посмотреть внимательнее, это не так.
Поскольку мои изначальные мысли немного совпадают с действительностью, я думаю, что могу оставить в статье следующее:
Потому что я не имею понятия о стоящих за этим математике и коде, мне трудно представить вещи, которые я не вижу. Поэтому я проверил разницу между «реальными» областями обзора камеры и выступающими стенами (это не то, что они сделали на самом деле, но по крайней мере похоже). Получилось не на 100% правильно, но достаточно хорошо.
Меня очень впечатлило. Это отличная идея, чтобы сэкономить время на кодирование «реальных» областей обзора. О, и если вам интересен код, один из разработчиков отправил мне на него ссылку.
Дополнение 1
В Diablo 2 есть что-то подобное. Действительно интересно, так как для вычисления не требуются 3D данные.
Дополнение 2
Eric Tahiri воспроизвел эффект в Unreal и поделился результатом. Красиво! :)
Источник: https://simonschreibt.de/gat/teleglitch-viewcones/