CullingGroup.SetBoundingDistances

切换到手册
public void SetBoundingDistances (float[] distances);

参数

distances包围距离的数组。这些距离应按升序排序。
distanceBehavioursCullingDistanceBehaviour 设置的数组。该数组的长度应与提供给此距离参数的数组的长度相同。也可省略它或将其传递为 null,在这种情况下,所有距离均将被赋予 CullingDistanceBehaviour.Normal 行为。

描述

设置该组应计算的“距离带”的包围距离,以及有关应如何处理属于每个距离带的球体的选项。

每个距离值均表示“达到”该距离的带;数组 [10, 20, 30] 描述“从 0 到 10m”、“从 10m 到 20m”和“从 20m 到 30m”的距离带。

使用从参考点(由 CullingGroup.SetDistanceReferencePoint 设置)到该球体最近边缘的距离来计算球体所在的距离带。因此,覆盖多个距离带的球体将被视为在距参考点最近的距离带内。

除了强制使对象是否可见,您还可以使用距离带来驱动您对象中的细节级别更改。例如,您可以定义“从 0 到 40m”以及“从 40m 到 80m”的距离带,尽管您可以使两个距离带都正常应用遮挡和视锥体剔除,但您可以使用不太复杂的骨架为第二个距离带中的对象生成动画,或者使它们运行不太复杂的 AI 行为。

默认情况下,超出最终包围距离的任何球体都被隐式强制为不可见。为避免这种情况,您可以指定最终包围距离为 float.PositiveInfinity。