[笔记]松散四叉树,BVH,BSP,KD树的特性以及适用情况

[笔记]松散四叉树,BVH,BSP,KD树的特性以及适用情况

  • 松散四叉树
  • 层次包围盒BVH
  • 二叉空间分割(BSP)
  • kd树
  • 几种结构的比较

松散四叉树

比四叉树多了入口边界(也就是四叉树的边界)和出口边界(比四叉树边界大的边界)
如何判定一个物体现在在哪个节点
    若物体还没添加进四叉树/八叉树,则检测现在位于哪个节点的入口边界内;
    若物体先前已经存在于某个节点,则先检测现在是否越出该节点的出口边界,若越出再检测位于哪个节点的入口边界内
应用场景:
    感知检测的过滤,碰撞检测过滤,光线追踪过滤不必要的区域
注意:
    出口边界大小是入口边界大小的2倍时表现最好
    在某个节点下没有物体时,可以回收/合并这个节点下的所有子节点

层次包围盒BVH

同一个父节点包围和下的元素尽可能的紧凑,但同时最好不要有重叠
三种构造方法:
    1.自顶向下(适用于知道场景中具体有哪些元素的时候)
    2.自底向上(递归)
    3.插入法(4叉树,适用于游戏中元素增删的情况,单个空间中元素达到一定程度时,需要再次划分)
三种划分:
    1.折半划分
    2.不看空间,只看元素个数,保证划分后2个子空间元素个数平衡
    3.带权值的划分,比如体积大的权值大,或者计算复杂度高的

你可能感兴趣的:(Unity)