繁体   English   中英

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

[英]How to render a BSP Tree without splitting

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

当我遍历树时(从最低深度​​到最高深度),我只渲染一次精灵(第一次接近它),但这似乎使某些精灵的显示顺序太低了。

任何对此的见解将不胜感激。 顺便说一下,这是在(大部分)iOS的C语言中。

在此先感谢您(我尝试在此处回答一些问题,但是你们都太快了!)。

我认为BSP树不会帮助您解决等轴测图渲染中普遍存在的(文字)精灵排序问题。 尤其是如果您拥有类似门的拱门,则总会出现一个角色刚出现在拱门下方/上方的地方。 BSP树有助于快速对3D世界中的可见区域进行排序,但等轴测图是二维分层视图,其中其他效果(例如单个图块图像的大小)比空间位置发挥更大的作用。

实际上,最常见的解决方案是拆分资产,以便根据玩家到摄像机的距离,在玩家的前面或后面渲染拱门的各个部分(或更大的等距对象)。

另一种方法是添加障碍,以使播放器和其他对象永远不会过于靠近由于排序问题而导致精灵渲染通常失败的区域。 但这仅在从一开始就内置(瓷砖大小,世界碰撞大小)时才有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM