八叉树Octrees在游戏领域应用
孙广东 2018.6.24
维基百科介绍:
八叉树(octree),或称八元树,是一种用于描述三维空间的树状数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,这八个子节点所表示的体积元素加在一起就等于父节点的体积。一般中心点作为节点的分叉中心。
主要用途[编辑]
最常见见到的一张图
一旦你了解了四叉树,八叉树就显而易见了。
在三维中,正方形 变成 立方体,立方体 会被分成八个子立方体。
八叉树只是四叉树到三维的泛化。
每个节点对应一个立方体,并且恰好有八个子节点。
你可以将八叉树拼成一个标准树结构。
八叉树在搜索3D空间时非常有用。特别是它们通常用于有效的碰撞检测,但它们也出现在更抽象的3D空间中的算法中。
这个示例 是 四叉树的改版 ,
运行的时候 Game 窗口 开启 Gizmos
然后在Game窗口内随便点击
代码:
https://download.****.net/download/u010019717/10496031
参考:
【《Real-Time Rendering 3rd》 提炼总结】(十一) 第十四章 : 游戏开发中的渲染加速算法总结