像全息图一样的圆形透明遮罩

Circular show-through mask like Holomaps

我正在使用 Unity 5.5 并尝试复制 mask/clipping 就像在 Hololens 的 Holomaps 应用程序中所做的那样。即使不是圈子,一个square/rectangle掩码。 Holomaps 应用程序的 Youtube 视频位于 https://www.youtube.com/watch?v=8gpuYzWVP9w

你可以看到,地图是一个规则的矩形网格,但只能通过圆形入口才能看到。

不同之处在于,我有一个带地图的基本平面和一个包含建筑物和其他地标的不同网格。

我尝试了 DepthMasks(来自 Unity Wiki)和 Stencil 着色器,但无法获得结果。

对于 DepthMask,我创建了 4 个立方体来覆盖地图的所有边,并在 4 个立方体之间留下一个小孔。但是为了覆盖建筑物的高度,立方体需要高于建筑物,这会导致相机视图在相机进入遮罩立方体内部时忽略遮罩。

Stencil 着色器,当应用于任何 3D 形状时,将允许蒙版在所有摄像机角度显示出来,从而泄露蒙版形状。

有没有关于我们如何做这样的 mask/clipping 的指示?

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

你尝试过这样剪纸吗?我可以想象一个带有中心和半径参数的着色器,其中任何比半径更远的像素都会被丢弃。这通常是 alpha-cutout 着色器的工作方式,通常与这样的蒙版一起使用。

好的,我已经能够在 https://github.com/kwnetzwelt/unity3d-dissolve-shader 找到确切的解决方案。这是一个着色器,它从 world-point(中心)以球体形状在一定距离处剪裁对象。

正是我要找的东西!!

感谢@Everts 和@Nonameghost 的想法:)