八叉树Octrees在游戏领域应用

孙广东   2018.6.24

    维基百科介绍:

八叉树(octree),或称八元树,是一种用于描述三维空间的数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,这八个子节点所表示的体积元素加在一起就等于父节点的体积。一般中心点作为节点的分叉中心。

主要用途[编辑]


最常见见到的一张图

八叉树Octrees在游戏领域应用


一旦你了解了四叉树,八叉树就显而易见了。

在三维中,正方形 变成 立方体,立方体 会被分成八个子立方体。

八叉树Octrees在游戏领域应用

八叉树只是四叉树到三维的泛化。

每个节点对应一个立方体,并且恰好有八个子节点。

你可以将八叉树拼成一个标准树结构。

八叉树Octrees在游戏领域应用

八叉树在搜索3D空间时非常有用。特别是它们通常用于有效的碰撞检测,但它们也出现在更抽象的3D空间中的算法中。


八叉树Octrees在游戏领域应用

          这个示例 是 四叉树的改版  , 

运行的时候 Game 窗口 开启 Gizmos 

八叉树Octrees在游戏领域应用

     然后在Game窗口内随便点击

代码:  

https://download.****.net/download/u010019717/10496031


参考: 

 https://youtu.be/CgnaGBDARPg   

游戏场景管理的八叉树算法是怎样的?

【《Real-Time Rendering 3rd》 提炼总结】(十一) 第十四章 : 游戏开发中的渲染加速算法总结