Answers:
好吧,终于明白了!
您将看到球体网格如何“切割”圆柱体和平面,一直到天空盒。这花了我比预期更长的时间解决了这个问题,但是由于有了Wiki页面(http://wiki.unity3d.com/index.php/DepthMask),我才将所有内容整理了一下。
在Wiki页面中使用着色器设置之前,我使用了具有不同清除/深度标记的三个不同的摄像机来获得相同的结果。它奏效了,但在Ouya上完全窒息了。上述解决方案仅需要一台摄像机,并且运行速度很快。
所以我像这样设置场景
添加了一个现实的Skybox(NASA)
添加了一些形状
将SetRenderQueue脚本添加到平面,球体和圆柱体
将球体上的队列顺序设置为2999(其他对象在3000处)
然后将DepthMask着色器添加到球体
而已。有任何问题让我知道!
几个选项可以达到您想要的效果-但它们确实要付出一定的代价:
要么
我怀疑也必须通过使用/滥用z缓冲区来做到这一点-但您可能想使用其真实Z对“孔多边形”进行z测试,然后编写一个不同的Z。您可能使用多次通过和模具缓冲区-使用如下设置的renderstate绘制孔3次:
您仍然需要按照特定的顺序进行绘制-尽管先绘制环境,然后绘制孔,最后绘制天空盒。