Страница 1 из 1

Портал скрывающий попадающую в него геометрию

СообщениеДобавлено: 22 янв 2020, 13:45
Evgeny
Возникла задача создать портал :)
Туннель со входом в виде плоскости, к нему приближается объект. Как только часть объекта заходит за плоскость, эту часть не должно быть видно.
Всё в 3D.

Подскажите идею как реализовать :)

Re: Портал скрывающий попадающую в него геометрию

СообщениеДобавлено: 22 янв 2020, 14:13
1max1

Re: Портал скрывающий попадающую в него геометрию

СообщениеДобавлено: 22 янв 2020, 14:14
waruiyume
1 Использовать кастомный шейдер который будет отсекать всё что находится с одной из сторон. Для отсечения можно передать Wold2Object матрицу объекта портала, умножать на неё мировую позицию объекта, и отсекать то, у чего знак положения не совпадает с нужным по выбранной оси.

2 Рисовать попавший в портал объект дважды, первый раз писать только в глубину и использовать подход из 1, только с инвертированным знаком. первый раз нужно рисовать после портала, но перед тем, что должно обрезаться. Возможно получится заюзать прожектор и не искать редереры в портале самому.

3 То же что и 2 только использовать стенсил буфер вместо записи в глубину, при этом нужно сконфигурировать стенсил тест у объектов в портале.

Re: Портал скрывающий попадающую в него геометрию

СообщениеДобавлено: 30 янв 2020, 17:21
Evgeny
Большое спасибо за ответы! :)

Подошёл самый первый вариант. Немного доделаю с определением координат плоскостей дл отсечения - и то, что нужно :)