没有用于处理 CullingGroup 的组件或可视化工具;只能通过脚本访问它们。
可使用“new”运算符来构造 CullingGroup:
CullingGroup group = new CullingGroup();
要让 CullingGroup 执行可见性和/或距离计算,请指定其应使用的摄像机:
group.targetCamera = Camera.main;
使用球体的位置和半径来创建并填充 BoundingSphere 结构数组,并将其与实际位于数组中的球体数一起传递给 SetBoundingSpheres。球体的数量不需要与数组的长度相同。Unity 建议创建一个足够大的数组来保存您一次拥有的最多球体(即使您最初在数组中实际拥有的球体数量非常少)。如果使用较大的数组,您可以根据需要添加或删除球体,而无需在运行时进行数组大小调整这样计算成本高昂的过程。
BoundingSphere[] spheres = new BoundingSphere[1000];
spheres[0] = new BoundingSphere(Vector3.zero, 1f);
group.SetBoundingSpheres(spheres);
group.SetBoundingSphereCount(1);
此时,CullingGroup 将开始计算每帧单个球体的可见性。
要清理 CullingGroup 并释放它使用的所有内存,请通过标准的 .NET IDisposable 机制来处置 CullingGroup:
group.Dispose();
group = null;