gpt4 book ai didi

objective-c - 如何在不 split 的情况下渲染 BSP 树

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:10:08 24 4
gpt4 key购买 nike

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

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

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

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

最佳答案

我认为 BSP 树不会帮助您解决在等距图 block 渲染中普遍存在的(字面上的) Sprite 排序问题。特别是如果你有像门这样的拱门,那么总会有一个点,角色会突然出现在拱门下方/上方。 BSP 树有助于快速对 3D 世界中的可见区域进行排序,但等轴测图是二维分层 View ,其中单个图 block 图像的大小等其他效果比空间中的位置起着更大的作用。

事实上,最常见的解决方案是拆分 Assets ,以便根据每个部分与相机的距离在玩家前方或后方渲染拱门(或任何更大的等距对象)的各个部分。

另一种方法是添加阻挡,这样玩家和其他对象就永远不会太靠近 Sprite 渲染通常因排序问题而失败的区域。但这只有在它从一开始就内置时才有效(瓷砖的大小,世界碰撞的大小)。

关于objective-c - 如何在不 split 的情况下渲染 BSP 树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11858222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com