In meiner Unity-Szene habe ich:
- 7-8 Fässer (mit Deckel) jeweils bei ca. 2-400 Dreiecken.
- 4 Flugzeuge mit jeweils höchstens 200 Dreiecken
- Kamera, 3 Lichter, ein FPS-Controller
Wenn ich die Schaltfläche "Status" im unteren linken Ansichtsfenster einschalte, werden "14.1K-Dreiecke und 12.k-Eckpunkte" angezeigt:
Ich habe alles doppelt überprüft, es gibt keine Möglichkeit, dass die Elemente in der Szene so viele Dreiecke ergeben können. Die Fässer in Blender und Unity weisen die oben angegebene Anzahl von Dreiecken auf:
Hier ist ein Blender-Screenshot:
Und hier ist einer von Unity:
Ich habe auch das Hierarchiefenster überprüft, um festzustellen, ob ich nicht versehentlich Dinge dupliziert habe, die möglicherweise über den Dingen liegen (z. B. 100 Fässer, die sich alle an derselben Position befinden, um so auszusehen, als ob nur eines vorhanden wäre) das ist nicht der Fall.
Meine Frage lautet also: Interpretiere ich das Unity-Statistikfenster falsch? Ist es ein Fehler in der Anzahl der gemeldeten Dreiecke? Oder fehlt mir einfach völlig, wie das alles funktioniert?
quelle
Antworten:
Beim Vorwärtsrendern wird jedes Objekt, das von einer Lichtquelle betroffen ist, für jedes Licht gerendert. Mit zwei Lichtern rendern Sie also doppelt so viele Polygone wie mit einem einzigen Licht.
Darüber hinaus enthält das optimierte Netz, das Unity für Sie generiert / importiert, möglicherweise nicht so wenige Polygone / Verts wie das, was Sie erstellen. Ich denke, es verwendet Dreiecksstreifen und macht viele entartete Dreiecke, so dass es schneller rendert.
Siehe auch:
http://docs.unity3d.com/Documentation/Manual/RenderingStatistics.html
quelle
Zu den gezählten Dreiecken und Eckpunkten gehören auch die Ebene und die beiden schwarzen menschlichen Figuren. Die Flugzeuge von Unity sind in Ordnung, aber wenn Sie möchten, können Sie nur zwei Dreiecke verwenden, um das Flugzeug zu bilden.
Erstellen Sie einen neuen Ordner auf der Registerkarte "Projekt", nennen Sie ihn "Editor". Erstellen Sie im Editor ein Boo-Skript und nennen Sie ihn "OptimizedPlane".
Erstellen Sie einen neuen Ordner auf der Registerkarte "Projekt" und nennen Sie ihn "Modell".
Kopieren Sie den folgenden Code und fügen Sie ihn ein:
Spielobjekt> Andere erstellen> Optimierte Ebene
quelle