Registerkarten

SimtippViewerServerKunstLL-BlogVideosVehikelAnleitungARC

Sonntag, 13. Oktober 2013

Prims in Mesh umwandeln mit dem Singularity Viewer

Seit einiger Zeit unterstützt der Singularity Viewer den Export von selbst erstellten Primobjekten im DAE- und OBJ-Format. Das heißt, man kann damit beliebige Objekte, die man aus Prims mit den Baufunktionen in SL erstellt hat, als Mesh-Objekte auf der Festplatte speichern. Diese lassen sich dann über > Hochladen > Modell auch wieder in SL importieren, so dass man damit eine einfache Methode zur Verfügung hat, Prims in Meshes umzuwandeln.

Seit der Singularity Version 1.8.3 werden auch noch die Texturen der SL-Objekte mit exportiert, inklusive Wiederholungen und Ausrichtung. Sowohl beim Primobjekt als auch bei den Texturen muss man Ersteller und Besitzer sein, damit diese von der Export-Funktion erfasst werden. So wird sichergestellt, dass man nur eigene Kreationen exportieren kann und keine Rechte von Dritten verletzt werden.

Ich habe das heute mal an einem einfachen Regal ausprobiert, weil ich wissen wollte, ob und wie viele Prims damit beim Land Impact eingespart werden können. Zuerst habe ich das Regal aus 9 Standard-Prims erstellt. Dementsprechend war auch der Land Impact 9. Dazu dann eine Holztextur, die ich selbst hochgeladen habe, damit ich als Ersteller in den Eigenschaften eingetragen bin.

Mein Test-Regal aus Prims hat einen Land Impact von 9
Zum Exportieren dann im Singularity Viewer das verlinkte Objekt mit der rechten Maustaste anklicken. Die Funktion versteckt sich im Tortenmenü in der vierten Ebene. Man klickt dazu nacheinander auf
> Mehr > Mehr > Werkzeuge > Save DAE....
Man kann mit "Save OBJ..." das Objekt auch im Wavefront-Format speichern, aber da Second Life das DAE-Format verwendet, habe ich das eben genommen.

Hier das Ganze mal bildlich dargestellt:

Die vier Schritte zum Mesh-Export
Jetzt öffnet sich das folgende Export-Fenster.

Das Export-Fenster
Im Feld "Object Info" wird die Anzahl der Prims und Texturen angezeigt. Zusätzlich sind die Texturen auch noch optisch im Hauptfenster zu sehen (bei mir ist es nur eine). Unter "Browse" nun den Ordner auswählen, in dem das Objekt gespeichert werden soll. Zum Schluss dann auf "Export" klicken. Damit hat man nun ein Mesh-Objekt auf der Festplatte, das man sowohl direkt wieder in SL importieren als auch in einem beliebigen 3D-Programm bearbeiten kann (z.B. Blender).

Upload des Regals als Mesh Modell
Zum Ausprobieren des Mesh-Upload habe ich mich dann im Beta-Grid eingeloggt, da man dort nichts bezahlen muss. Über > Hochladen > Modell kann man nun das exportierte Prim-Objekt direkt als Mesh in SL importieren. Bei den LOD-Stufen habe ich die automatische Berechnung belassen und beim Physik Shape "Low" ausgewählt. Der Upload selbst hätte mich im Main Grid 31 L$ gekostet.

Der Land Impact ist nach direktem Wiederhochladen etwa halbiert
Das Regal wurde komplett mit Textur hochgeladen und hatte als Mesh dann einen Land Impact von 5 Prims. Eigentlich sind die ursprünglichen 9 Prims sogar halbiert worden auf einen LI von 4.5, aber da SL keine halben Prims anzeigt, wird eben aufgerundet. Im Grunde erzielt man mit dem Umwandeln von Prim- in Mesh-Objekte den gleichen Effekt, wie beim direkten Umstellen der Prim-Eigenschaften auf Konvexe Hülle. Solange das Objekt überwiegend aus ebenen Flächen besteht, lässt sich der Land Impact auf diesem Weg also halbieren.

Jetzt habe ich mir das Regal mal in Blender geladen und die Polygone anzeigen lassen. Wie erwartet, waren die Flächen in weitaus mehr Dreiecke unterteilt, als notwendig. Dies liegt am Aufbau der internen SL-Prims, aus denen das Regal erstellt wurde. Das komplette Regal besteht aus 852 Dreiecken und 780 Eckpunkten. Weil ich wissen wollte, inwieweit sich der Land Impact in SL ändert, wenn ich die Polygone auf ein Minimum reduziere, habe ich mir die Arbeit mal gemacht.

Das Regal in Blender. Hier sieht man die vielen überflüssigen Dreiecke
Auf eine genaue Anleitung verzichte ich hier, da ich mich mit Blender eigentlich gar nicht auskenne. Ich habe jedenfalls im Edit-Modus unter Face Select und mit gedrückter Shift-Taste jeweils alle Dreiecke ausgewählt, die zusammengenommen wieder ein großes Dreieck bilden können. Danach habe die F-Taste gedrückt, um aus diesen Flächen ein einzelnes Polygon zu erstellen. Diesen Vorgang habe ich dann für alle Flächen wiederholt. Hier zwei Bilder, die das veranschaulichen:

Durch Auswahl von 9 Dreiecken und Drücken der F-Taste...
...wird ein einzelnes, großes Dreieck erzeugt
Danach habe ich noch unter Vertex Select mit Select All und Remove Doubles alle doppelten Eckpunkte gelöscht. Was ich nicht gemacht habe, ist das Zusammenfügen der Edges, die immer noch die Länge der ursprünglichen Dreiecksaufteilung hatten. Nach dieser groben Optimierung hatte das Regal nur noch 108 Dreiecke und 324 Eckpunkte.

Das Ganze habe ich dann über den Blender-Export wieder als DAE-Objekt (Collada) unter Verwendung des Preset "Second Life Static" auf der Festplatte gespeichert und erneut im Beta Grid hochgeladen. Diesmal hat der Upload nur noch 11 L$ gekostet und der Land Impact betrug nach dem Rezzen nur noch 1 Prim. Auch hier war der eigentliche LI noch geringer (0.92), aber weniger als 1 Prim geht in SL sowieso nicht. Die Textur, die beim Rendern in Blender noch angezeigt wurde, war nach dem Upload nicht mehr auf dem Regal. Ich habe dann einfach die Original-Textur nachträglich auf das Objekt gezogen und zu meiner Überraschung waren meine alten Formateinstellungen (Wiederholungen und Rotation) für das Regal immer noch vorhanden.

Der Land Impact beträgt nach einer Optimierung in Blender nur noch 1 Prim

Fazit:
Mit der Export-Funktion des Singularity über das DAE-Format und direktem Wiederhochladen der Objekte als Meshes, kann man schnell einige Prims einsparen, sofern sich die Objekte überwiegend aus ebenen Flächen zusammensetzen. Optimiert man zusätzlich noch die Anzahl der Dreiecke (Polygone) in einem 3D-Programm, kommt man sogar auf einen sehr geringen Land Impact. Allerdings ist diese manuelle Optimierung ziemlich aufwendig und für jemanden, der mit 3D-Programmen umgehen kann, wird es am Ende schneller sein, das Objekt einfach komplett neu zu erstellen. Dennoch halte ich diese Export-Funktion für sehr nützlich.

>> Downloadseite Singularity Viewer
>> Downloadseite Blender

Mein Bericht zur letzten Version des Singularity Viewers:
>> Singularity Viewer 1.8.3 wurde veröffentlicht

11 Kommentare:

  1. oh wie cool. davon wusste ich noch gar nichs. so kann man auch mal ohne grossartige blender Erfahrung mal shcnell eine Fenstereinfassung oder sonts etwas derartiges baue. muss ich gleich mal ausporbiere. das ist ja supi :)

    AntwortenLöschen
  2. Gerade dass man Prims mit gleicher Textur verschmelzen kann ist ein riesiger Vorteil der Umwandlung in Mesh. Und ich finde Inworld baut es sich besser, da man es so bauen kann, dass es exakt dahin passt wo es hinsoll. Sobald alles so ist wie es soll, exportiert und optimiert man, importiert es wieder und hat ein super passiges Mesh-Möbel oder sonstiges Konstrukt. Die Funktion ist schon genial...

    Liebe Grüsse
    Ly

    AntwortenLöschen
  3. Hallo, sehr interessant. Aber ich bekomme das ganze zwar exportiert, aber wenn ich wieder hochladen will als Mesh, steht im fenster "Sie sind nicht berechtigt Mesh Modelle hochzuladen"
    Ich habe bisher nicht rausgefunden warum das so ist...

    Weitere Frage, was passiert mit Scripten. Muss ich die vorher rausnehmen, oder kann ich die drin lassen und funktioniert das ganze dann noch ?

    Danke
    Gruß
    Sixx

    AntwortenLöschen
    Antworten
    1. danke :) Frage erledigt, mit Sl Viewer. dort stand ich muss ein Tutorial durchlaufen um die Wichtigkeit von Copyrightrechten zu verstehen.. Nu läuft es :) Sixx

      Löschen
    2. Also, wenn du versucht hast, die Meshes wieder in Second Life hochzuladen, dann musst du dafür zwei Voraussetzungen erfüllen. Einmal muss eine Zahlungsinfo hinterlegt sein (Kreditkarte oder PayPal) und man muss ein Tutorial absolvieren. Es gibt dafür auch extra eine Seite auf der Account-Homepage.
      >> Mesh Upload Status

      Nur wenn beide Felder grün hinterlegt sind, kann man Meshes in SL hochladen.
      In OpenSim Grids oder auf eine Standalone-Region auf deiner Festplatte, kannst du aber solche Meshes ohne Einschränkung hochladen.

      Beim Exportieren kann man die Skripte in den Prims drin lassen. Sie werden aber nicht mit exportiert. Das heißt, nach einem Import der Meshes sind keine Skripte drin. Du kannst aber die Skripte ins Inventar ziehen und nach dem Import wieder in das Mesh einfügen. Allerdings gibt es auch Skripte, die nur mit Prims funktionieren (z.B. wenn bestimmte Childprims über Namen im Skript angesprochen werden). Sowas funktioniert dann mit einem Mesh nicht mehr, da die Struktur nicht mehr aus einzelnen Prims besteht, sondern aus Vertices und Triangles. Die meisten Skripte sollten aber auch in Meshes funktionieren.

      Löschen
    3. Ups, da haben wir wohl zur gleichen Zeit etwas geschrieben. :)

      Löschen
  4. Danke für die Rückanwort :) Nun hab ich mich mal in Blender versucht etwas zu orientieren. Ist echt schwer.. Was ich versucht habe, ist an einem Shop den ich erstellt habe, den LI etwas weiter zu senken. Als Konvex hab ich 13 LI.. stelle ich den Shop um auf Prim komme ich auf 33 Prim. Das wollte ich nun ändern indem ich die Polygone über Blender anzupassen. Hab da jede Menge über "F" Taste zu einer Fläche angepasst..

    Dann wieder in SL hochgeladen. Leider gab es keine Änderung der 33 Prim. Was ich nicht gemacht habe ist "Vertex Select mit Select All und Remove Doubles alle doppelten Eckpunkte gelöscht" Kann das der Grund sein, oder müsste generell bei Änderung der Polygone die Prim sinken.

    Andere Frage, vielleicht kannst mir da auch helfen. Ich habe eine Bodenstruktur, die per 3D Programm erstellt wurde. Also Landschaftsboden der uneben, etwas hügelig ist. Dort gibt es wohl keine Polygone, dort wird mit die gesamte Fläche eben nur über Quadrate mit Eckpunkten angezeigt. Wie bekommt man das denn angepasst.

    Letze Frage, wenn ich mit dem InGame Tool" Mesh Studio" ein Prim.Objekt exportiere kann ich Low Poly, Middle Poly etc. einstellen, gibt es sowas zum Export bei Blender auch ?

    Danke, Gruß Sixx

    AntwortenLöschen
    Antworten
    1. Also, der LI eines Objekts (einzelnes Prim oder verbundene Gruppe) berechnet sich immer aus dem höchsten Wert der Berechnung von Downloadgröße, Physik und Serverbelastung. Die Anzahl der Polygone wirkt sich am meisten auf die Downloadgröße aus. Ob da nun die Doubles mitgezählt werden, weiß ich nicht. Das ist aber anzunehmen. Welcher von den drei Werten der höchste ist, siehst du, wenn das Objekt angewählt ist und du im Baufenster auf "Weitere Infos" klickst. Hier ein Beispiel: How to find an object's land impact rating.

      Wenn bei deiner Bodenstruktur die gesamte Fläche als Quadrat angezeigt wird, dann ist das eine Bounding Box. Sowas kann sowohl ein Mesh sein, bei dem man lose Polygone über die Box zu einem einzigen Objekt verknüpft hat, als auch ein Sculpty, die ja immer eine Bounding Box hat. Ich tippe auf Ersteres, denn Sculpties sind ja phantom und man könnte nur mit zusätzlichen Primplatten auf sowas mit dem Avatar laufen. Wenn es ein Mesh ist und du die Bounding Box in der Objektstruktur von Blender ausblendest, solltest du dann auch Polygone sehen.

      Mesh Studio kenne ich nicht. Aber sowas wie Low, Middle, High Poly wird für SL im Importfenster einer Mesh-Datei (Collada Format) im Viewer eingestelt. Beim Export mit dem Singularity gibt es jedoch immer einen Real Poly, also es werden genau die Polygone erzeugt, die das Objekt in der ursprünglichen Datenstruktur hat.

      Löschen
    2. jaaaa... ähm.. seit einer Stunde versuche ich die Bounding Box auszublenden.. ich weiß aber nicht wo bzw wie :D Verdammt... Sixx

      Löschen
    3. gefunden.. hätte ich mal 2 Minuten länger geschaut. Wenn ich die Bounding Box ausschalte bekomme ich einfach nur eine quadratische Kiste in Linienform angezeigt..

      Löschen
    4. Ich kenne mich mit Blender im Grunde auch nicht besonders gut aus. Aber ich weiß, dass Blender sowohl Dreiecke als auch Rechtecke als Polygone verwenden kann. SL kommt aber nur mit Dreiecken zurecht. Wenn du eine quadratische Kiste siehst, die keine dreieckige Unterteilung hat, dann ist das irgend ein Sonderfall, den ich nicht kenne. Vielleicht war das in SL dann doch ein Sculpty, keine Ahnung.

      Löschen