微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用模具缓冲区和着色器在Unity中的UI图像上打孔

如何解决使用模具缓冲区和着色器在Unity中的UI图像上打孔

有一种方法可以在Unity中打孔,也就是X射线视觉,请参见下图:

orange frame x-raying through the wall

这使用两个着色器完成,一个着色器具有配置A(切割器),另一个具有配置B(目标)。将配置A的着色器放入材质A,将配置B的着色器放入材质B。将材质A应用于具有橙色边框的某个平面。将材料B应用于3D灰色墙。在我们谈论世界空间中的3D组件时,此方法有效。

配置A(切割机):

        ColorMask 0
        ZWrite Off

        Stencil {
             Ref 1
             Comp always
             Pass replace
        }

配置B(目标):

        Stencil {
             Ref 1
             Comp notequal
             Pass keep
        }

问题1 :如何通过这个切出的“窗口/孔”切入UI层上的前景图像并显示3D世界空间的一小部分? UI层上的图像具有认UI材质 UI / Default 着色器,因此无法向其添加自定义着色器。

例如,在以下视频中,城堡墙将是前景UI图像,相框将是UI层中的切割器,唱歌的人将成为世界空间中的活动3D化身:{{3} }

问题2 :创建着色器时,Unity 2019.4提出以下类型:标准表面着色器,不发光,图像效果,计算和光线跟踪。轻量级着色器对在UI层图像上打孔的最佳选择是哪一个?似乎所有人都有一些对打孔没有用的代码

问题3 :哪种游戏对象是使用刀具着色器(配置A)制作材料的最佳主机?是2D精灵,UI图片,UI面板,还是其他?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。