当前 LOD 级别 - LOD Group Unity

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)

有人知道如何解决这个问题吗?提前致谢。

mar*_*ros 5

搜索答案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 级别。