Портал скрывающий попадающую в него геометрию
Добавлено:
22 янв 2020, 13:45
Evgeny
Возникла задача создать портал
Туннель со входом в виде плоскости, к нему приближается объект. Как только часть объекта заходит за плоскость, эту часть не должно быть видно.
Всё в 3D.
Подскажите идею как реализовать
Re: Портал скрывающий попадающую в него геометрию
Добавлено:
22 янв 2020, 14:14
waruiyume
1 Использовать кастомный шейдер который будет отсекать всё что находится с одной из сторон. Для отсечения можно передать Wold2Object матрицу объекта портала, умножать на неё мировую позицию объекта, и отсекать то, у чего знак положения не совпадает с нужным по выбранной оси.
2 Рисовать попавший в портал объект дважды, первый раз писать только в глубину и использовать подход из 1, только с инвертированным знаком. первый раз нужно рисовать после портала, но перед тем, что должно обрезаться. Возможно получится заюзать прожектор и не искать редереры в портале самому.
3 То же что и 2 только использовать стенсил буфер вместо записи в глубину, при этом нужно сконфигурировать стенсил тест у объектов в портале.
Re: Портал скрывающий попадающую в него геометрию
Добавлено:
30 янв 2020, 17:21
Evgeny
Большое спасибо за ответы!
Подошёл самый первый вариант. Немного доделаю с определением координат плоскостей дл отсечения - и то, что нужно