Bit*_*hús 4 c# unity-game-engine level-of-detail
我在使用 LOD 组时遇到问题,因为我想知道我在屏幕上看到的当前活动 LOD 级别是哪个。我只能通过以下方式访问百分比
GameObject.GetComponent<LODGroup>().GetLODs()[size].screenRelativeTransitionHeight;
Run Code Online (Sandbox Code Playgroud)
有人知道如何解决这个问题吗?提前致谢。
搜索答案answers.unity3d.com,我发现: http://answers.unity3d.com/questions/684467/find-the-lod-step-which-is-currently-used.html
LODGroup lodGroup = obj.GetComponent<LODGroup>();
if (lodGroup != null)
{
Transform lodTransform = lodGroup.transform;
foreach (Transform child in lodTransform)
{
var renderer = child.GetComponent<Renderer> ();
if (renderer != null && renderer.isVisible)
{
Debug.Log("This LODlevel is used: " + child.name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以通过查看当前可见(在屏幕上可见)的子游戏对象渲染器的名称来找出当前处于活动状态的 LOD 级别。