Comments 9
Очень интересная техника. Видел подобное в играх, часто это было реализовано не в виде куба, а просто нескольких слоев. Причём так делают не только здания, но и, например, полупрозрачный лёд на зимних картах.
Можно развить идею — добавить в этот куб ещё карты нормали и сделать parallax mapping, чтобы мебель была не плоская и нарисованная на стенах куба, а как‑бы торчала из стены. При этом, для оптимизации, можно умножать силу параллакса на обратное расстояние до камеры, и отключать на определённом расстоянии. Тогда на ближнем плане мебель будет объёмная, по мере удаления она будет незаметно и плавно «врастать» в стены, превращаясь в плоскую, и, начиная с определённой дистанции, шейдер параллакса просто бы переставал работать, чтобы не грузить видеокарту.
я когда зашел в статью я и думал что будет показан вариант параллакса, но как-то не вижу я объем, все диваны как были плоские так и остались.
а, я кажется понял, автор перепутал интерьер и экстерьер. тогда всё встает на свои места.
Диваны, конечно, плоские, но само помещение выглядит объёмным. Параллакс это смещение близкого объекта относительно дальнего, и тут я никого не обманываю, дальняя стена двигается медленнее боковых, перспектива создаётся.
А если для игрока не принципиально или невозможно близко подойти к окну и рассмотреть, то плоскость дивина относительно стены будет незаметна.
Возможно нужно было вставить небольшую анимацию чтобы видеть изменения в условном 3D, потому что я не увидел на скриншотах изменение от первого к последнему.
Ах! Вот как это оказывается устроенно!
Для интересующихся — отличный перевод статьи 2018 года на Хабре про эту же технику:
Иллюзия пространства: как новый Spiderman рендерит помещения без геометрии
Если кто-то захочет сделать это ручками: https://humus.name/index.php?page=3D&ID=80
Шейдер интерьеров — придаём объём плоским зданиям