版本:Unity 6 (6000.0)
语言中文
  • C#

Gizmos.CalculateLOD

建议修改

成功!

感谢您提高 Unity 文档的质量。尽管无法接受所有提交,但我们确实会阅读用户提出的每项建议的修改,并在必要时进行更新。

关闭

提交失败

由于某种原因,您建议的修改无法提交。请在几分钟后 <a>重试</a>。感谢您抽出时间提高 Unity 文档的质量。

关闭

取消

声明

public static float CalculateLOD(Vector3 position, float radius);

参数

position 世界空间中的小控件中心。
radius 小控件的最大范围。

返回

float 返回一个介于 0 和 1 之间的值,它表示小控件的细节级别。

说明

确定指定位置且指定半径的小控件在场景视图中的适当细节级别。

返回值为 0 表示小控件不可见。小控件可能不可见,因为它在屏幕上太小,或因为它不在场景视图相机的视锥体内。该返回值四舍五入 1/8 来减少批次生成数量。这可以通过 小控件菜单 中的“淡化小控件”选项得到进一步控制。

using UnityEngine;

public class MyLODedComponent : MonoBehaviour { // Draw a blue sphere at the transform's position, fading out as it gets further away private void OnDrawGizmos() { float lod = Gizmos.CalculateLOD(transform.position, 1);

// Cull any gizmos that are too small or off screen if (lod == 0.0f) return;

// Fade the gizmos out so that they don't pop in and out when scrolling around the scene Gizmos.color = Color.blue * lod; Gizmos.DrawSphere(transform.position, 1); } }