• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • 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.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Mesh erste technische Details

Timmi Allen

Superstar
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
 
Es gibt keine Begrenzung der Polygone. Aber es wird für jedes Mesh eine Umrechnung in anzurechnende Prims erfolgen.

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
 
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.
 
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
 
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.
 
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
 
@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
 
@milz

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

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.

@milz
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.

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
 
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.
 
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.
 
@ 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.
 
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
 
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.
 
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
 
@ 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
 
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
 
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
 
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?
 

Users who are viewing this thread

Zurück
Oben Unten