Hi, I’ve got a question that make me headache for some days. As we all know, there’re many scene management algorithm, such as BSP tree, Octree, K-D Tree, BVH, etc. And we also recognise that the famous Quake and Unreal engines use BSP, GameBryo with BVH, and RenderWare with some variants of K-D Tree.
But what is the scene management algorithm may be used in Unity? I’ve googled and Baidued a lot and haven’t got any idea. By the way, unity is a very brilliant game engine:)
Unity did disclose this information, though perhaps indirectly. You see, the space partitioning performed on the scene is necessary to enable the occlusion culling algorithms utilized in the engine. So you can simply read about Occlusion Culling in their documentation, and there, they mention what type of partitioning they used:
Notice this line in particular, in the third paragraph on the page:
“The data for occlusion culling is composed of cells. Each cell is a subdivision of the entire bounding volume of the scene. More specifically the cells form a binary tree.”
So there you have it. It’s a BSP tree.