LOD in “Workshop Fun”, Blender Game Engine Projekt.

Im heutigen Video demonstriere ich ein wenig etwas vom Level of Details System von meinem Blender Game Engine Projekt, “Workshop Fun”. Das LOD System sorgt dafür, dass die Objekte je nach Entfernung zur Kamera ihren Detailgrad ändern, bzw. ein oder ausgeblendet werden.

Für die Objekte die ein und ausgeblendet werden sollen, wie z.B. Grasbüschel und Steine usw. habe ich einfach eine durchsichtige Plane erstellt und sie jeweils als LOD Objekt hinzugefügt. Eine Alternative wäre sie per Logic Bricks und Niear Sensor ein und ausblenden zu lassen, was aber ein wenig mehr Performence zieht, sofern es mich nicht täuscht. (Natürlich könnte man auch alles per händischer Programmierung lösen, aber ich bin weniger der Coder.)

Die Grasbüschel und Steine habe ich aus Performencegründen nicht komplett als einzelne Objekte gemacht, sondern mehrere Büschel und Steine zu grösseren Objekten zusammengefasst. Im Prinzip braucht man nur ein grosses Objekt machen und addet dort ein LOD Objekt und zerschneidet das Grosse Objekt in kleinere. Jedes Objekt wird dann dieselbe LOD oder auch Logik drin haben. Dazu habe ich auch mal ein kleines Video gemacht:

Die ganze Vegetation habe ich übrigens mit dem Partikelsystem gemacht, weil man sich sonste einfach einen Wolf setzt, wenn man jeden Büschel von Hand platzieren will. Dazu muss man aber vom Game Modus in den Blender Render Modus schalten um das Partikelsystem nutzen zu können.

Auch dazu hab ich einmal ein Video gemacht. Ich muss allerdings einmal eine geupdatete Version davon machen, weil darin noch Fehler enthalten sind und ich es damals nur auf Englisch gemacht hab.

 

 

Für zerstörbare Objekte geht es nicht ohne Logic Bricks oder Programmierung. Wie bei den Bäumen auch, wollte ich bei den neuen zerstörbaren Büschen als LOD Objekt eine Plane hinzufügen, die sich dann immer zur Kamera dreht. Das dient dazu dass das Objekt nicht vor der Nase auftaucht oder verschwindet, sondern in einiger Distanz noch sichtbar ist, aber nicht so viel Rechenleistung benötigt.

Bei den Bäumen funktioniert das super gut, aber bei den zerstörbaren Büschen nicht. Die Plane mit der Textur ist anfangs zwar sichtbar, aber sobald ich mich wieder entferne und neu annährere, werden die LOD Planen nicht mehr geladen, bzw. angezeigt. Deshalb musste ich das bei den Büschen halt ohne die zusätzliche LOD Plane lösen und sie tauchen ein wenig apruppt auf.

Ausserdem habe ich den Bruchstücken der Büsche einen Softboy verpasst, damit sie ein wenig nachgeben und wie Buschstücke wirken. Das Problem dabei ist aber, dass das es absurd viel Rechenleistung benötigt und die Bruchstücke den Wagen sozusagen in den Boden hineinziehen. K.A. ob ich das Problem noch in den Griff bekomme, aber ich möchte schon möglichst viele zerstörbare Objekte einbauen. Da das Spiel auch mehr ein Experiment ist und ich es auch nicht verkaufen will, teste ich halt mal aus, was die Engine so her gibt, auch wenn es nicht immer so toll läuft.

Ausserdem bin ich eh nicht so sicher, ob die LOD Objekte in Blender mehr Ressourcen benötigen, als sie bringen. Mit den reinen grafischen Ansprüchen würde ein hablbwegs vernünftiger Rechner im Normalfall eh keine Probleme haben. Trotzdem habe ich mich entschieden, final mit LOD Objekten zu arbeiten.

 

Im Video sind teilweise starke Ruckler vorhanden, die kommen hauptsächlich aber vom Aufnahmeprogramm. So lange man nicht durch die Masse an zerstörbaren Büschen fährt, läuft es recht flüssig.

Nebenbei habe ich die ganze Welt noch ein gutes Stück vergrössert. Momentan ist aber vieles noch leer. Das wird sich in der nächsten Zeit aber noch ändern, da ich nun wieder etwas intensiver daran arbeite.

Nun viel Spass mit dem neuen Video! 🙂