2016-06-10 7 views
2

Ich habe Probleme mit der LOD-Gruppe zu führen, weil ich wissen möchte, welches die aktuell aktive LOD-Ebene ist, die ich auf dem Bildschirm sehe. Ich kann nur auf den Prozentsatz zugreifen mitAktuelle LOD-Ebene - LOD-Gruppe Einheit

GameObject.GetComponent<LODGroup>().GetLODs()[size].screenRelativeTransitionHeight; 

Jemand weiß, wie man das löst? Danke im Voraus.

Antwort

3

durch die Antworten Suche answers.unity3d.com, kam ich zu diesem: 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); 
     } 
    } 
} 

Sie können die LOD Ebene herauszufinden, ist derzeit aktiv durch einen Blick in die Namen der Kinder Gameobjects Renderer, die derzeit sichtbar (sichtbar auf dem Bildschirm).

+0

Schöne ein @ Maros. Das einzige, was ich vorschlagen würde, ist die Referenz auf den Renderer zu speichern, anstatt GetComponent zu verwenden. Es wird es leistungsfähiger machen. – FullStackForger