1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
    Information ausblenden
  3. Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
    Information ausblenden

Mesh erste technische Details

Dieses Thema im Forum "Meshes" wurde erstellt von Timmi Allen, 15. September 2010.

  1. Timmi Allen

    Timmi Allen Superstar

    Beiträge:
    1.330
    Zustimmungen:
    520
    Punkte für Erfolge:
    113
    Da wir von Jack aufgefordert wurden unsere Erfahrungen mitzuteilen, und bevor das NDA evtl. wieder verhängt wird , hier also erste Infos:

    Mesh für Second Life - Zusammenfasung

    Begriffserläuterungen:

    - Mesh: 3D Form, erzeugt durch Punkte (vertices), Verbindungen der Punkte (Edges) und Flächen (Faces)
    - Material: Eigenschaften der Flächen, wie z.B. Farbe, Glanz, Textur usw.
    - Triangel: Fläche in einem Mesh die durch drei Punkte begrenzt wird. (Mehrzahl wird häufig als Tris abgekürzt)
    - Bones: Knochen, beeinflusst die Verformung eines Mesh, bekannteste Form: Animationen
    - Offset (Bones): Versatzt der Knochen vom vorgegebenen Gerüst, z.B. für nichtmenschliche Skelette
    - Skelett: Knochengerüst in einem Mesh, über Bewegen der Knochen wird das Mesh verformt.
    - Shape Keys: Verformung des Mesh durch direktes Verschieben von Vertices (zum Bsp. Mimik des Avatars und Fingerbewegung)

    Das Mesh-Projekt hat eine lange Testphase hinter sich gebracht, und ist auch noch nicht abgeschlossen.
    Hier ein Überblick über den derzeitigen technischen Stand:

    Import Format - Collada 1.4

    Das Colladaformat ist textbasiert und unterstützt alle notwendigen 3D Informationen. SL kann derzeitig folgende Informationen verarbeiten:

    - Skalierungsfaktor des Mesh (ein Mesh wird in seiner angegebenen Größe gerezzt, auch größer als 10x10x10m)
    - Anzahl der Submeshes
    - 8 verschiedene Materialien pro Mesh. Als Material wird die Textur, die UV-Map und die Farbe verarbeitet.
    (bump-Maps, Specular-Maps etc. sind geplant, aber noch nicht implementiert)

    - Achtung! Es werden keine doppelseitigen Flächen unterstützt. also jede Fläche ist nur auf einer Seite sichtbar.

    - für Avatare werden darüber hinaus Informationen zum rigged Mesh verarbeitet. Das bedeutet, dass auf dem Mesh für jedes Vertex noch eine Information besteht, wie das Vertex durch das Skelett verschoben werden soll. Das kann sowohl ein Attachment sein als auch Teile oder den ganzen Avatar ersetzen. Zur Zeit kann man das bestehende Skelett nicht verändern, also müssen die Größe und Stellung der Knochen beachtet werden. Für die Zukunft ist ein Offset vorgesehen und eventuell auch das Anfügen eigener knochen, z.B. für Flügel.

    Das Avatar-Mesh wird bei richtiger Erstellung auch durch die Shape-Einstellungen inworld beeinflusst.

    (Eine Blnenderdatei mit einem entsprechenden Avatar werde ich hier veröffentlichen.)


    Es werden 5 verschiedenen Dateien benötigt (4 x LoD und einmal Physik-Shape)

    Da jedes Mesh anders aufgebaut ist, kann kein einheitliches LoD berechnet werden. Daher wird beim hochladen entweder für jedes LoD eine Datei geladen oder aus dem Mesh rechnerisch erzeugt. Eigene LoD\'s sind natürlich besser aber auch aufwendiger. Für die Physik wird ebenfalls eine eigene Form berechnet bzw. als Form einer Datei geladen.

    Kleiner Exkurs: Die Kollisionsberechnung von Meshes wird umso aufwendiger, je mehr kleine und kleinste Dreiecke in einem Mesh vorhanden sind. Für die eigentliche Funktion ist das aber meist gar nicht nötig, so dass für die Physik ein vereinfachtes Mesh geladen werden sollte. Das wird sich auch bei den upload-Kosten und der Prim-Zählung bemerkbar machen.

    folgende Anforderungen werden an die LoD Dateien gestellt:

    Jedes LoD darf max. 50% an Tris(Dreiecke) des nächsthöheren LoD enthalten. (bei sculpties waren das automatisch nur jeweils 25%)
    Ein Mesh mit beispielsweise 3200 Dreiecken im höchsten LoD, muss dann im nächsten 1600 Tris, im mittleren 800 Tris und im untersten LoD 400 Tris haben. Welche Tris das betrifft kann jeder selbst festlegen.
    Unterhalb von 128 Tris ist keine weitere Verringerung nötig.

    Das Physik-Shape ist eigentlich auch eine Art Mesh. Es soll die notwendige Physik für Kollisionen beinhalten, wie z.B. Tür- oder Fensteröffnungen, Treppenstufen etc.

    Kosten oder Primberechnung

    Es gibt keine Begrenzung der Polygone. Aber es wird für jedes Mesh eine Umrechnung in anzurechnende Prims erfolgen.

    Diese Umrechnung beinhaltet zum einen die Anzahl der Tris im höchsten LoD (nach meinen Erfahrungen im Moment ca. 400 Tris pro Prim) und zum anderen das Physik-Shape. Die jeweils teurere Variante kommt zum Einsatz. Also ein komplexes Physik-Shape kann zu einer hohen Anrechnung von Prims führen.

    LG Timmi
     
  2. Simon Illyar

    Simon Illyar Freund/in des Forums

    Beiträge:
    712
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Also da es für Objekte (im Linkset) eine Begrenzung der Prims gibt. dürfte das vermutlich auf für Meshes gelten.
    Gibt es da schon Erfahrungen/Kenntnisse drüber?


    Gruß Simon
     
  3. Timmi Allen

    Timmi Allen Superstar

    Beiträge:
    1.330
    Zustimmungen:
    520
    Punkte für Erfolge:
    113
    Das gilt sinngemäß auch für Mesh. Jedes Mesh zählt als 1 Objekt und man kann wie gewohnt 256 Objekte an ein Objekt linken. Das sagt aber noch nix über die Anzahl der angerechneten Prims.

    Bisher waren wir gewohnt, dass 1 Objekt auch gleich 1 Prim ist. Das wird bei Mesh anders, da kann 1 Objekt auch mal 10.000 Prim enthalten. Die Link-Set Befehlen und auch die Vehicle-Befehle beziehen sich aber auf Objekte und nicht auf Prims.
     
  4. Sandmaennchen Polanski

    Sandmaennchen Polanski Freund/in des Forums

    Beiträge:
    628
    Zustimmungen:
    16
    Punkte für Erfolge:
    18
    Hallo Timmi,
    danke für die Infos. Ich hätte dazu einige Fragen. Wenn ich das jetzt mal mit der Polygonmenge von einem Sculptie vergleiche, 1024 Polygone die in SL zu 2048 Dreiecke werden, also 2048 geteilt durch 400 sind dann ca. 5 Prims. Liege ich mit meiner Rechnung richtig? Gerade für organische Modelle würden wir dann wesentlich mehr Prims verbrauchen? Ist das LOD verhalten der Objekte größenabhängig, wie jetzt bei den Sculpties?
    Gruß
    Sand
     
  5. Timmi Allen

    Timmi Allen Superstar

    Beiträge:
    1.330
    Zustimmungen:
    520
    Punkte für Erfolge:
    113
    in etwa richtig. Die Umrechnung steht allerdings noch nicht entgültig fest. Dabei darf man auch nicht vergessen, dass bei Sculptiesfür die Koordinaten der Vertices nur ganze Zahlen und nur im gewählten Raum nutzbar sind, was oft zu unschönen Verzerrungen führt. Ein Sculptie kann auch nur ein Material haben, also eine Textur und das LoD ist immer ein Wert von 25% der vorhergehenden Stufe. Ich denke Sculpties werden auch nach wie vor für einige Dinge geeignet sein. Nur das Laden ist bei Mesh eben auch wesentlich schneller.
     
  6. Milz Yue

    Milz Yue Superstar

    Beiträge:
    1.430
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    moin

    kann man in sl auf den xml dom zugreifen vom collada file zb um animationen abzufeuern
    kann man scenen laden btw uploaden oder nur einzelne meshes?
    Dank dem neuen verbesserten LL support ist mein ticket bzzgl des invites zum mesh
    upload leider noch unbearbeitet-(

    Quote:- Achtung! Es werden keine doppelseitigen Flächen unterstützt. also jede Fläche ist nur auf einer Seite sichtbar/quote

    sprich die texture muss wieder spezielle gemappt werden wie bei den sculpties?

    mfg milz
     
  7. Timmi Allen

    Timmi Allen Superstar

    Beiträge:
    1.330
    Zustimmungen:
    520
    Punkte für Erfolge:
    113
    @milz

    1. Frage: keine Ahnung, aber Collada-Import in SL hat mit html-5 und web gar nix zu tun.

    2. Frage: Szene-Upload ist vorgesehen, auch gleich mit zugehörigen Texturen

    3. Texturen sollten gemappt werden, müssen aber nicht. Das UV-Mapping kann jeder selbst festlegen. Also im Gegensatz zu Sculpties kann ich so mappen, dass die Textur wenig verzerrt wird. Bestes Beispiel ist das allseits bekannte Avatar-Template. Das ist ein UV-Mapping wie man es auch für Mesh benutzen kann.

    LG Timmi
     
  8. Milz Yue

    Milz Yue Superstar

    Beiträge:
    1.430
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    jo XML mit html5 und web auch net unbedingt was -)
    öffne mal ein .dae mit einem texteditor. Collada hat von Haus
    aus eine XML struktur. wenn ich jetzt zb ein Collada File in eine
    3D Engine für flash phrase kann ich ein object bilden und dann
    in Laufzeit auf die XML struktur / nodes zugreifen um zb material
    onthefly nachzuladen.

    soweit klar. das UV mapping für sculpties is so ein SL hausgebrauter käse genau wie bei
    dem avatar mesh das übrigens graufhaft ist -) wenn da im nach hinnein mappen oder remappen willst bekommst krämpfe also ich zumindest -)
    Aber so wie du es beschreibst is das standart UV btw ST mapping hoff ich -)


    so dann ersmal 10 sims bestellen damit ich einen hochauflösenden 1,2 Mio vertexes grossen
    3d scans uppen kann -)

    mfg milz
     
  9. Masami Kuramoto

    Masami Kuramoto Neuer Nutzer

    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Timmi,

    wie lange wird der offene Beta-Test deiner Einschätzung nach dauern? Ist da überhaupt noch viel zu testen nach einem Jahr? Machen die neuen Features einen stabilen Eindruck? Gaia schrieb, dass da auch ein paar neue Grafik-Features auf uns zukommen, z.B. verbesserte Shader, in der Zukunft evtl. sogar die Option, Normal-Maps zu benutzen.
     
  10. Timmi Allen

    Timmi Allen Superstar

    Beiträge:
    1.330
    Zustimmungen:
    520
    Punkte für Erfolge:
    113
    jetzt versteh ich was du meinst.
    Also die Collada datei wird ja in SL nochmal komprimiert. Du kannst also auf die Datei direkt nicht mehr zugreifen. Auf die Materialeinstellungen kannst du soweit zugreifen, wei du es von einem normalren Prim-Würfel kennst. Jede Fläche eine andere Textur, Farbe, Transparenz und Leuchten. Diese Werte können auch inworld geändert werden. Ich hoffe, das war Deine Frage...

    UV-Mapping bestimmt jeder mit seinem 3D-Programm selbst. Für Blender gibt es da verschiedene Funktionen. Das kann auch für jedes Material unterschiedlich sein. Das bedeutet zum Beispiel für einen Baum: Du machst eine UV-Map für den Stamm mit dem Material "Borke". Dann eine neue UV map für die Blätter (neues Material). Jetzt kannst du alles in einem Mesh hochladen und nacher dem Stamm und den Blättern jeweils andere neue Texturen zuweisen.
     
  11. Timmi Allen

    Timmi Allen Superstar

    Beiträge:
    1.330
    Zustimmungen:
    520
    Punkte für Erfolge:
    113
    @ Masami,
    also es gibt leider noch ne Menge zu testen. z.B. das LoD wurde erst vor kurzem so festgelegt. Ich hatte einige Sachen ohne LoD hochgeladen, die sind jetzt alle weg...
    auch die Anrechnung der Prims und vor allem das Tool zu upload sind noch verbesserungswürdig.

    Alle diese Dinge sollen erst mal stabil laufen, bevor die verbesserungen kommen. Ich habe aber auch gehört, dass in einer anderen Beta am Material getestet wird. Dazu kann ich allerdings nix sagen.
     
  12. summse Sands

    summse Sands Nutzer

    Beiträge:
    81
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo sculpters,
    habe mich gut mit einem der beta tester unterhalten und konnte mir auch schon Collada erfolgreich mit menem Maya verknüpfen und im moment ist es die *dae Datei die wohl wichtig für den mesh export ist.
    Ich bin wirklich gespannt was da alles auf uns wartet.
    Bisher war es zb bei Haaren immer sehr aufwenig alles wieder von Maya in sl zusammen zu bauen.
    Auf jedenfall versuche ich im open beta dabei zu sein.

    Grüssle
     
  13. Masami Kuramoto

    Masami Kuramoto Neuer Nutzer

    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wird es auch Fleximeshes geben, die durch Schwerkraft oder Luftwiderstand bewegt werden? Das wäre ja nützlich für Kleidung und Haare. Mir ist aufgefallen, dass das Paganini-Alien einen beweglichen Rüssel hat. Allerdings könnte das auch ein durch das Rigging erzeugter Trick sein.
     
  14. Sandmaennchen Polanski

    Sandmaennchen Polanski Freund/in des Forums

    Beiträge:
    628
    Zustimmungen:
    16
    Punkte für Erfolge:
    18
    Hallo,
    ich hätte noch eine Frage zu LOD. Sagen wir mal ich würde ein Objekt, bestehen aus 30 Würfeln, bauen, theoretisch würden dann pro Würfel 6 Viereckpolygonen bzw. 12 Dreieckspolygone gebraucht. Allerdings wäre dann mein Objekt nicht LOD tauglich und würde dann gleich nach dem ersten LOD Faktor verschwinden? Müsste ich das Ganze dann hochrechnen, also mehr Polygone verwenden, damit die Würfel im niedrigsten LOD Faktor auch als Würfel angezeigt werden? Das wären dann 12 x 8= 96 Dreieckspolygone pro Würfel, bei 30 Würfeln sind das dann 2880 Dreieckspolygone die ich bräuchte um meine Würfel in der niedrigsten LOD Stufe auch als Würfel angezeigt zu bekommen?
    Gruß
    Sand
     
  15. Timmi Allen

    Timmi Allen Superstar

    Beiträge:
    1.330
    Zustimmungen:
    520
    Punkte für Erfolge:
    113
    @ Masami,

    Fleximesh ist nicht vorgesehen. Es wird irgenwann auch rigged Mesh Objekte geben, oder mit Keyframe, darüber wird noch diskutiert. Das schöne am Colladaformat ist ja seine Erweiterbarkeit.

    @dae.Monika ;-)

    .dae ist die Endung von Mesh-Dateien im Collada-Format.

    @sand....
    das mit dem LoD darfst du bald selbst testen, denn genau an dieser Stelle probiere ich auch noch rum. Allerdings ist der niedrigste LOD so weit weg, dass er kaum Berücksichtigung findet.
    Und du kannst ja selbst bestimmen, welche Flächen im nächsten LoD nicht mehr sichtbar sind.
    Rechnerisch ist Dein Beispiel richtig, und würde dann nach jetzigem Stand mit ca. 7 Prim gewertet werden (bei 2880 tris)

    LG Timmi
     
  16. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.177
    Zustimmungen:
    85
    Punkte für Erfolge:
    48
    GEIL...
    ...jetzt werden schon Dateien nach mir benannt. :)
    Darf ich mir jetzt was drauf einbilden? :oops:

    LG
    Dae
     
  17. Jorika Woodget

    Jorika Woodget Nutzer

    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke Timmi für die Infos. :)
    Ich habe da eine Frage zur Avatar erstellung. Wenn man die obj von dem SL Avatar in Blender öffnet, fallen mir zwei sachen auf.
    1. das Mesh ist unterteilt in den einzelnen Gruppen (Head, Neck, Chest, Torso, usw) muß ich das beim erstellen auch beachten oder kann mein Mesh ungeschnitten aus einem Stück bestehen?
    2. in der obj ist kein Skelett verbaut. Wo bekomme ich das SL konforme Skelett her?
    In einem anderen Beitrag bin ich auf das BVH-Export-Script von Jacek Antonelli gestossen. Kann ich das Skelett nutzen?

    Ist schon ganz aufgeregt :D

    Gruss Jori
     
  18. Timmi Allen

    Timmi Allen Superstar

    Beiträge:
    1.330
    Zustimmungen:
    520
    Punkte für Erfolge:
    113
    Moin Jori,
    1. Das Mesh muss nicht unterteilt werden, kann aber. Es funktioniert sowohl mit einem ganzen Mesh als auch mit Teilen des Mesh. Das Mesh wird dabei immer exakt auf die richtige Position gezogen beim attachen.
    Wenn man das Mesh selbst riggen will (also das Zuordnen des Mesh zum Skelett nennt man Rigging) ist es eh notwendig ein ganzes Mesh zu benutzen.

    2. Ich werde eine entsprechende Datei posten. (Bin noch am basteln) Du kannst aber auch in Blender ein bvh-file als Armature (so heißen Skelette in Blender) importieren. Die Bezeichnung der Bones stimmt dann überein. Ob man das Skelett aus dem Export script nutzen kann weiß ich nicht.

    LG Timmi

    so hier der Link zum Machinimatrix Video:
    http://blog.machinimatrix.org/2010/09/15/meshes-i-a-preliminary-tutorial-about-meshes/

    und hier der Link zur Blender Datei für den geriggten Avatar:
    http://streaming.the-machinimatrix.com/pub/tutorials/meshes_1/avatar.blend
     
  19. Jorika Woodget

    Jorika Woodget Nutzer

    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ok Danke das hilft mir schon ein ganzes Stück weiter. :)
     
  20. Masami Kuramoto

    Masami Kuramoto Neuer Nutzer

    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich habe mir gerade mal die BVH-Dateien aus den offiziellen Avatar-Mesh- und -Animationspaketen angesehen und dabei festgestellt, dass der Aufbau des Skeletts nicht immer derselbe ist. In der Datei "avatar_turn_180.bvh" zum Beispiel befindet sich zwischen den Bones "chest" und "neck" noch ein "neckDummy", und nach dem "head" folgt noch ein "figureHair" Bone. In "SL_Avatar_Tpose.bvh" fehlen diese.

    Was scheinbar alle Dateien gemeinsam haben ist die T-förmige Grundpose. Diese wird sichtbar, wenn man eine der BVH-Dateien in Blender importiert, die Animation im Action Editor löscht und dann einen "Clear User Transform" durchführt. Man kann also im Prinzip jede dieser Dateien als Ausgangspunkt für einen Avatar Mesh verwenden.

    Offen bleibt die Frage, ob die beiden zusätzlichen Bones irgendeine sinnvolle Funktion erfüllen, wenn man sie beim Rigging mitverwendet. Timmi, hast du das mal probiert?