Unity: скрыть материал в определенной области - PullRequest
2 голосов
/ 08 октября 2019

Я делаю 3D-приложение для ios и Android.

Каждый объект на изображении ниже имеет материал, отличный от других.

enter image description here

Я хочу, чтобы часть объекта 3, пересекающаяся с объектом 2 , отображалась , а часть, пересекающаяся с объектом 1 , исчезала .

Примечания:

Объект 3 движется вверх и вниз.

3 объекта имеют одинаковую глубину от камеры (одинаковые z).

1 Ответ

0 голосов
/ 08 октября 2019

Вам нужно будет написать свои собственные шейдеры в ShaderLab Unity с использованием Cg / HLSL и использовать трафаретные буферы. Руководство по Unity дает вам основы, в то время как хорошее практическое введение можно найти здесь .

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

...