unity四叉树和视锥体剔除

这个最好还是看代码,项目有注释放在这里:

GetbadEarlyup/Quadtree-cone-scene: 这是一个unity四叉树场景视锥体剔除的Demo (github.com)icon-default.png?t=N4N7https://github.com/GetbadEarlyup/Quadtree-cone-scene国内地址:

Quadtree-cone-scene: unity四叉树和视锥体剔除的一个示例项目 (gitee.com)icon-default.png?t=N4N7https://gitee.com/dontgetupearly/Quadtree-cone-scene

四叉树

每一层有一个根节点,然后分出四个子对象,美四个对象为一层

本案例中我们规定他的最大深度,也就是6层,每层分四个子节点对象

unity四叉树和视锥体剔除_第1张图片

然后每个节点存数据,以根节点为基础,每次迭代分四叉,没数据就不管了,有才放数据,一直分到第六曾

每层保存数据:

ID标识 、预制体对象、坐标点、欧拉角

包围盒绘制:蓝绿盒

unity四叉树和视锥体剔除_第2张图片

每次将空间四分,依照四叉树规则顺序下分,如图示例: unity四叉树和视锥体剔除_第3张图片

 

然后每次能根据四分,获知盒体大小,进行绘制

视锥体剔除:

unity四叉树和视锥体剔除_第4张图片

 

通过unity相机获得六面,进行剔除,具体详见代码

CS:Node.TriggerMove

参考:简易地形生成+视锥体剪裁 - 简书 (jianshu.com)

你可能感兴趣的:(c#,unity,unity,游戏引擎)