如何在不拆分的情况下渲染 BSP 树



>我有一个BSP树,用于等距游戏中的深度排序(我尝试了无数其他方法)它似乎很接近,但在我的游戏中我无法拆分资产。因此,拦截当前平面的项目,我只需将它们添加到"后面"和"前面"节点(如 http://www.seas.upenn.edu/~cis568/presentations/bsp-techniques.pdf 所示)。

当我遍历树(从最低深度到最高深度)时,我只渲染一次精灵(第一次接近它),但这似乎将一些精灵在显示顺序中放置得太低。

对此的任何见解将不胜感激。这是(大部分)用于iOS的C,顺便说一句。

提前感谢(我尝试在这里回答一些问题,但你们都太快了!

我不认为 BSP 树会帮助您解决等距瓷砖渲染中普遍存在的(文字)精灵排序问题。特别是如果你有像门这样的拱门,总会有一个点,角色只是在拱门下面/上方弹出。BSP 树有助于快速对 3D 世界中的可见区域进行排序,但等轴测图是二维分层视图,其中其他效果(如单个磁贴图像的大小)比空间中的位置更重要。

事实上,最常见的解决方案是拆分资源,以便渲染拱门的各个部分(或任何更大的等距对象)在玩家的前面或后面,具体取决于每个部分与摄像机的距离。

另一种方法是添加阻止,以便玩家和其他对象永远不会太靠近精灵渲染通常由于排序问题而失败的区域。但这只有在从一开始就内置的情况下才有效(图块的大小,世界碰撞的大小)。

相关内容

  • 没有找到相关文章

最新更新