Unity 3D-代替对象B渲染孔,该孔放置在对象A上

时间:2019-05-15 17:20:48

标签: unity3d shader depth-buffer

我有一个主要对象,希望根据覆盖的游戏对象的形状在其中打任何形状的孔。我以为可以用模板缓冲技巧(https://docs.unity3d.com/Manual/SL-Stencil.html)完成此操作,但是由于我的项目是针对HDRP的,因此似乎不起作用。

Gameobject A具有材质球和材质设置,所以我不想在继承时更改其材质球。 重叠形状的Gameobject B对于任何方法都是免费的。 如果有人知道我应该读什么才能对HD渲染管道执行此操作(使某些着色器代码无效),我将很高兴。 编写着色器,或使用着色器图制作,都可以。

1 个答案:

答案 0 :(得分:2)

我相信我曾经使用此着色器在船上的水中创建一个“洞”。可能就是您想要的。

unity3d trouble with ship floating on water

然后,您可以使用中间对象作为玩家(或其他任何人)应该能够穿过该区域的区域。