统一:在特定区域隐藏材料

时间:2019-10-08 10:50:10

标签: unity3d shader shaderlab

我正在为ios和Android开发3D应用程序。

下图中的每个对象的材质都与其他对象不同。

enter image description here

我要使与对象2相交的对象3的部分出现,而与对象1相交的部分消失的

注释:

对象3正在上下移动。

这3个对象距相机的深度相同(z相同)。

1 个答案:

答案 0 :(得分:0)

您将不得不使用Cg / HLSL在Unity的ShaderLab中编写自己的着色器,并使用模板缓冲区。 Unity's manual为您提供了基础知识,而here则为您提供了很好的实用介绍。

简而言之,模具允许您基于其他着色器通道的参考值来启用/禁用剪辑空间中的渲染。需要注意的是,这些值是全局值,并且所有着色器都可以在缓冲区中读取和写入,因此您应该仔细选择一个参考值。