2013-04-09 2 views
4

Посмотрите на скриншот игры под названием «Antichamber»:Как я могу добиться эффекта, как в игре «Антишамба»?

Antichamber screenshot

Вы можете увидеть куб рамку, через одно лицо вы можете увидеть некоторые объекты, расположенные внутри куба, через другое лицо вы можете увидеть другие объекты расположенный в том же кубе. Меня смущает то, что вы можете смотреть оба лица одновременно, и, как вы видите на снимке экрана, объекты из обоих «лиц» видны. Кроме того, каждый объект, казалось, заполнял все пространство внутри куба.

Мой вопрос вообще - как я могу добиться такого же эффекта? Может быть, есть что-то с 3D-двигателем, который позволяет это?

ответ

3

Это называется "portal rendering". Обычно это используется для недорогого рисования некоторых классов 3D-среды, но, как вы помните, содержимое портала не обязательно должно быть связано с содержимым любого другого портала ...

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

Чтобы убедиться, что ваши порталы могут быть правильно нарисованы как «больше на внутренней стороне, чем снаружи», вы должны обязательно «очистить» видимую область внутри каждого портала перед ее рисованием. Однако, если все ваши сцены портала гарантируют «водонепроницаемость», вы можете уйти, только очистив буфер глубины.

Смежные вопросы