Ещё во время выхода первых роликов Смуты я говорил, что в игре не видно какой-то системной работы над технической частью. Что это всё похоже на пачку стандартных скриптов из ассетстора с минимальной допилкой и подозревал, что над кодом работают какие-нибудь студенты-фрилансеры с огромной текучкой. Дополнительных очков этой версии добавляло то, что…
камера даже не пытается реагировать на то, что персонаж скрыт за другими объектамиПричем тут работа программиста, если то что ты описал это работа шейдера?
Все see-through это шейдеры и их в большинстве случаев покупают готовые, либо берут бесплатно готовые с Гита.
В худшем случае их челик по графике собирает в шейдер графе руками.
А конченые люди пишут шейдер в текстовом файле, но это делает не обычный программист
Готовый шейдер не всегда подойдёт, потому что в большом проекте могут быть и другие модификации стандартных шейдеров (например, для обводки/подсветки объектов) + материалы разные бывают. Это делает графический программист.
Кроме того, на все-все объекты постоянно такие шейдера не нацепишь - это будет максимально тормозно на GPU. Должна быть какая-то система, которая включает/выключает этот шейдер, в зависимости от того, где персонаж. Плюс нужно написать тулзы для левел-дизайнеров, чтобы они могли помечать как-то крыши объектов. Или как-то автоматически детектить их.
Если ещё в игре можно кликать мышкой, то возникает ещё миллион вопросов про рейкасты. А также всякие мелочи, типа вывода хитпоинтов и хелсбаров у врагов под крышами.
В любом случае, это очень фундаментальное решение для проекта и очень сильно затрагивают архитектуру кода во многих местах. Грамотный лид-программист должен поднять дискуссию об этом в самом начале проекта.
Ну или Анриал разработчик приделывает камере спрингарм с коллайдером в два клика, чтоб камера хотя бы не клиповалась :-/