3D游戏碰撞之体素的内存优化

时间:2024-03-30 16:53:48

1.体素的概念:3D空间中最小的表示单位。(下图摘自知乎)

3D游戏碰撞之体素的内存优化
3D游戏碰撞之体素的内存优化

2.体素的合并原理:空心物体上下表面体素可以合并,可以降低内存资源消耗。

3.体素的合并算法:首先选择一个种子点,然后从这个点出发向前后左右扩散,无法扩散到的空间即为不连通,此时需要合并上下表面体素。通常使用广度优先遍历的方法,但往往一次下来整张地图需要耗时很久,因此我么提出一种方法。加载反体素,即加载玩家可以到达的区域。

4.体素的地面处理:地面在整个场景中体素最多,但玩家不可以到地面之下,因此地面体素下表面高度忽略统一为0。

5.水的处理:水不生成体素,单独使用二维矩阵记录水的高度。

6.范围控制:设置玩家活动区域,区域之外的体素不刷新出来。为了防止出现建筑物悬空的情况,可以设置外边框和内边框,内边框为玩家活动范围,外边框为加载范围。