2

什么是实现 z 顺序系统的最佳方法,其中可能会出现以下情况:

有 4 个矩形:A、B、C 和 D。

矩形 A 与矩形 B 重叠。

矩形 B 与矩形 C 重叠。

矩形 C 与矩形 D 重叠。

矩形 D 与矩形 A 重叠。

就像一个纸箱。我相信它被称为循环重叠。

我知道这是一个奇怪的问题,但我只是想知道...... :)

4

1 回答 1

3

关于纸板箱示例的问题是纸板的碎片没有完全对准相机。本质上,它是一个(相当平坦的)3D 结构,由相互重叠的略微倾斜的平面组成。就纸板箱而言,它们也不是平面的,而是略微弯曲以关闭盒子。在 MS-paint 伪透视图中:

在此处输入图像描述

通过倾斜平面使它们重叠,这在 3D 中是可能的。这是画家算法失败的情况,也是Z 缓冲区派上用场解决哪个对象实际遮挡另一个对象的原因之一。

如果您在纯 2D 世界中工作,并且无法倾斜平面以实现您所追求的伪 3D 效果,则需要细分平面并使用与您使用不同的 Z 水平绘制重叠部分盒子的其余部分 - 基本上是在做你自己的剪裁。

您也可以通过某种 Z 缓冲区技巧来模拟同样的事情,但本质上您应该使用 3D 结构来解决 3D 问题。

于 2012-09-13T08:58:53.280 回答