2017-01-18 13 views
1

Я использую Unity 5.5 и пытаюсь воспроизвести маску/обрезку, как это делается в приложении Holomaps для Hololens. Даже если не круг, квадратная/прямоугольная маска. Видео Youtube приложения Holomaps находится на https://www.youtube.com/watch?v=8gpuYzWVP9wCircular show-through mask like Holomaps

Там вы можете видеть, что карта представляет собой обычную прямоугольную сетку, но видна только через круглый портал.

Разница в том, что у меня есть базовая плоскость с картой и другой сеткой, содержащей здание и другие ориентиры.

Я пробовал DepthMasks (из Unity Wiki) и шейдеров Stencil, но не смог добиться результатов.

Для DepthMask я создал 4 куба для покрытия всех сторон карты и оставил небольшое отверстие между 4 кубами. Но чтобы покрыть высоты здания, кубы должны быть выше зданий, и это заставляет камеру игнорировать маску, когда камера входит внутрь куба маски.

Шаблоны трафаретов, применяемые к любой 3D-форме, позволят маске проявлять себя во всех углах камеры, что отдает форму маски.

Любые указатели на то, как мы можем сделать маску/обрезание?

+1

это может быть там с помощью шейдеров, которые устанавливают пиксель черного цвета в зависимости от расстояния до центра. Поскольку черный прозрачный, он выглядит как маска. – Everts

+0

А я ответил на что-то подобное, но я бы настоятельно рекомендовал отказаться от пикселей вместо использования альфа-прозрачности. Вырезы более эффективны. – Nonameghost

+0

@ Версии Я собирался попробовать что-то подобное сегодня, просто с некоторыми черными кубами, чтобы увидеть, как это работает, поскольку HoloLens не отображает черный цвет. Обновит, как это происходит. – mannu598

ответ

1

ОК, я смог найти точное решение по адресу https://github.com/kwnetzwelt/unity3d-dissolve-shader. Это шейдер, который делает обрезку объекта из точки мира (в центре) на определенном расстоянии в форме сферы.

Именно то, что я искал !!

Спасибо за ваши @Everts и @Nonameghost для идей :)

0

https://en.wikibooks.org/wiki/Cg_Programming/Unity/Cutaways

Вы пробовали делать вырезы, как это? Я мог представить себе шейдер с параметрами центра и радиуса, где любой пиксель дальше, чем радиус, отбрасываемый. Как правило, шейдеры альфа-вырезания работают и обычно используются с такими масками.

+0

это выглядит многообещающе! позвольте мне пройти тест на черный куб и также проверим вырезки и обновим здесь. – mannu598