边界距离

你可以在剔除点半径上添加边界距离。它们在剔除点的主要半径之外具有额外的触发条件,如非常远

cullingGroup.SetBoundingDistances(new float[] { 0f, 10f, 100f});

边界距离仅在与距离参考点一起使用时起作用。它们在相机剔除期间没有任何影响。

可视化边界距离

最初可能导致混淆的是如何在球半径的顶部添加边界距离。

首先,剔除组计算边界球和边界距离的面积。这两个区域加在一起,结果是距离带的触发区域。该区域的半径可用于可视化效果的边界距离场。

float cullingPointArea = Mathf.PI * (cullingPointRadius * cullingPointRadius);
float boundingArea = Mathf.PI * (boundingDistance * boundingDistance);
float combinedRadius = Mathf.Sqrt((cullingPointArea + boundingArea) / Mathf.PI);