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

Общие вопросы о Unity3D

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

Сообщение Evgeny 22 янв 2020, 13:45

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

Подскажите идею как реализовать :)
Аватара пользователя
Evgeny
UNец
 
Сообщения: 48
Зарегистрирован: 15 фев 2014, 12:15


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

Сообщение waruiyume 22 янв 2020, 14:14

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

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

3 То же что и 2 только использовать стенсил буфер вместо записи в глубину, при этом нужно сконфигурировать стенсил тест у объектов в портале.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

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

Сообщение Evgeny 30 янв 2020, 17:21

Большое спасибо за ответы! :)

Подошёл самый первый вариант. Немного доделаю с определением координат плоскостей дл отсечения - и то, что нужно :)
Аватара пользователя
Evgeny
UNец
 
Сообщения: 48
Зарегистрирован: 15 фев 2014, 12:15


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: GoGo.Ru [Bot] и гости: 16