Mittwoch, 10. April 2013

Erster Test mit dem neuen Materialsystem

Meine ersten Versuche mit dem neuen Material
Vorgestern wurde der erste öffentlich zugängliche Viewer für das neue Materialsystem mit Normal- und Specular-Maps von LL herausgegeben. Leider habe ich diese Woche wenig Zeit, so dass dies hier ein etwas unstrukturierter Testbericht wird.

Der Viewer ist noch in der Alpha Phase und hat einige Macken. Deshalb habe ich ihn mit einem Alt getestet und auch nur an neu erstellten Wegwerfprims, denn selbst Oz Linden warnt davor, mit diesem Viewer etwas persönlich Wertvolles in SL zu bearbeiten. Bei mir machte sich die Instabilität des Viewers beim Hochladen von Texturen bemerkbar, denn ich hatte dabei zweimal einen Crash.

Als Testobjekt für die Normal Maps kann man alles nehmen, was in SL eine Oberfläche hat. Also, normale Prims, Sculpties und Meshes lassen sich mit dem neuen Material überziehen. Das gilt auch für Attachments, wie z.B. Mesh-Kleidung. Ich habe sowohl einige selbsterstellte Texturen ausprobiert, als auch fertige aus dem Web verwendet. Wer keine Lust hat, Normal-Maps selbst zu erstellen, dem kann ich folgende Seite empfehlen:
>> Rendertextures

Diese Seite für Textur-Download hatte ich vor einiger Zeit schon einmal hier vorgestellt. Man erhält neben der normalen Textur (diffuse), auch die Normal Map (normal) und eine Displacement-Map (disp). Letztere kann man allerdings aktuell nicht für Second Life einsetzen. Es gibt auf Rendertextures zwar noch nicht so viele Texturen, weil die Seite relativ neu ist, aber dafür bekommt man eben eine Normal-Map mitgeliefert und spart sich die Arbeit, diese selbst zu erstellen. Eine Übersicht der verfügbaren Texturen erhält man, wenn man im oberen Menübalken die Maus auf "Textures Categories" bewegt.

Specular-Maps habe ich bisher noch nicht getestet. Ich dachte bisher auch, dass diese nur einen Lichtpunkt, bzw. aufgehellte Stelle auf der Oberfläche der Textur erzeugen. Allerdings sieht man weiter unten im Video von Damien Fate, dass man damit auch gut Strukturen simulieren kann.

Um in SL die 3D-Struktur von Normal-Maps zu sehen, muss man in den Grafikeinstellungen "Advanced Lighting Model" aktiviert haben. Das ist die Einstellung, die in bisherigen Viewern "Lighting and Shadows" ("Licht und Schatten") genannt wurde. Schatten selbst muss nicht aktiviert sein. Es reicht die Checkbox von "Advanced Lighting Model" zu aktivieren und den Schatten auf "None" zu stellen.

Hier kann man Texturen lokal Testen ohne 10L$ Upload
Um nun in SL das Materialsystem anwenden zu können, braucht man von der gleichen Textur sowohl die normale Ausführung (Diffuse-Map) als auch die Normal-Map. Die kann man sich entweder hochladen, oder man nutzt die seit einigen Monaten auch im LL-Viewer verfügbaren lokalen Texturen. Damit lassen sich von der Festplatte mehrer Texturen in eine Liste des Texturauswahlfensters packen, die dann solange zur Verfügung stehen, bis man sich wieder ausloggt. Allerdings kann man die lokalen Texturen nur in dem Viewer sehen, in dem sie verwendet werden. Rechts ist ein Bild dazu. Zuerst auf "Local" klicken (1), dann auf "Add" (2). Jede ausgewählte Textur wird dann oben in der Liste angezeigt und kann für Objektflächen ausgewählt werden.

Neu im Material Projekt Viewer ist die Textur-Registerkarte im Baufenster. Dort gibt es jetzt mehrere Aufklapp-Menüs. Wenn das rechte obere Menü auf "Texture (diffuse)" eingestellt ist (Bild links mit der 1), dann sollte man im Textur-Auswahlfenster die normale Textur auswählen. Danach das rechte obere Menü auf "Bumpiness (normal)" umstellen (Bild rechts mit der 1) und im Textur-Auswahlfenster die Normal-Map auswählen. Ganz wichtig ist dabei, dass alle Werte für das "Mapping" (Bild links und rechts mit der 2) bei beiden Texturen identisch sein müssen, damit der 3D-Effekt entsteht. In meinem Beispiel habe ich die horizontale Skalierung der Diffuse-Map auf 4.000 erhöht. Genau das muss dann auch für die Normal-Map so eingestellt werden.

(Bei den letzten beiden Zeilen entsprechen die Werte "0" und "1" der gleichen Offset-Einstellung).

Der dritte Punkt im rechten oberen Menü heißt "Shininess (specular)" und da kann man dann noch die Specular-Map auswählen, sofern man denn eine hat. Auch hier sollten im "Mapping" gleiche Werte verwendet werden, wenn sie manuell bei den anderen Texturtypen verändert wurden. Unter "Shininess (specular)" kann man übrigens auch den Glanz einer normalen Primoberfläche einstellen, wenn diese nicht das neue Materialsystem nutzt. Dazu braucht man dann auch keine Textur. Diese Einstellung entspricht der Checkbox "Glanz" aus den bisherigen Viewern.


Die früheren Bumpmap-Funktionen mit den vorgefertigten Strukturen (Bricks, Dots, usw.), die man aus dem alten Viewer kennt, sind ebenfalls weiterhin nutzbar. Dazu einfach bei einem untexturierten Prim auf "Bumpiness (normal)" gehen und dort im Aufklapp-Menü unterhalb von "Bumpiness" einen Eintrag aus der Liste wählen, der nicht "Use texture" heißt.

Bei meinem Test war das Ergebnis mittelmäßig. Ich hatte wohl nicht die richtigen Texturen für gute Effekte in SL. Außerdem ist der 3D-Eindruck stark abhängig von der Helligkeit und der Richtung, aus der das Licht kommt. Bei geskriptetem Licht wirkt der 3D-Effekt stärker, als bei Sonnenlicht. Vor allem, wenn man eine Lichtquelle direkt durch eine Oberfläche zieht, die Normal-Maps nutzt. Dann verändert sich das Reflektionsverhalten der Struktur fließend, was schon fast organisch aussieht.

Diese Wand hatte noch den besten 3D-Effekt
Ebenfalls ganz nett ist die Verwendung von Normal-Maps für Wasseroberflächen. Auf der oben von mir vorgestellten Seite für Textur-Download gibt es verschiedene Wasser-Maps. Gras kommt auch nicht so schlecht, allerdings ist die Optik stark vom Sichtwinkel der Viewerkamera auf die Material-Textur abhängig. Das gilt eigentlich für alle neuen Material-Texturen. Schaut man in einem sehr flachen Winkel von der Seite auf die Oberfläche, geht die 3D-Wirkung verloren. Je senkrechter man auf die Oberfläche schaut, umso stärker wird dann der Tiefeneffekt.

Hier ein Bild mit Wasser-Material und Gras. Auf Fotos kommt die Wirkung der Strukturen jedoch nie so rüber, wie inworld, wenn man das durch die sich bewegende Kamera des Viewers/Avatars betrachtet.


Und hier noch ein paar Bilder. Bei den beiden kleinen Fotos unten habe ich die gleiche Szene einmal mit und einmal ohne "Advanced Lighting Model" in den Grafikeinstellungen aufgenommen. Auch hier kommt der Effekt leider über eine Momentaufnahme nicht so gut rüber. Wichtig ist aber auch, dass man hier sieht, dass Leute die kein Advanced Lighting verwenden, nicht etwa graue Oberflächen sehen, sondern die normalen Texturen, so wie sie schon immer waren. Nur eben ohne den Materialeffekt.

Mit "Advanced Lighting"Ohne "Advanced Lighting"

Und zum Schluss ein Foto, bei dem ich das Windlight, wie bei den beiden kleinen Fotos oben, auf Mitternacht gestellt und eine Lichtquelle direkt in die Materialtextur gesteckt habe. Zusätzlich habe ich die Itensität, den Radius und den Falloff des Lichts per Skriptmenü sehr gering eingestellt. Man sieht damit, dass der Materialeffekt abnimmt, je weiter er von der Lichtquelle entfernt ist.



Hier ein Video eines Content-Erstellers aus SL, der auch schon das neue Material getestet hat. Links der Stuhl nutzt das neue Materialsystem, rechts der Stuhl nicht.

Second Life Materials test von dekadenzu


Und noch ein Video von Damien Fate, der anhand von Mesh-Kleidung den Effekt von Specular-Maps aufzeigt. Scheinbar lassen sich damit sehr gut Muster in Seide simulieren:

Specular Test 01


Ich denke, das Materialsystem ist noch in einer sehr frühen Phase. Linden Lab wird die Möglichkeiten damit sicher noch erweitern (Displacement Map, animierte Materialtexturen, Halbtransparenzen?, etc.). Ich hoffe, dass diese neue Funktion besser angenommen wird, als das Pathfinding. Denn dazu habe ich bisher nur ganz wenige Anwendungen gesehen. Insgesamt ist das Materialsystem eine sinnvolle Erweiterung für Second Life und bei entsprechender Nutzung, wird es die Optik ein weiteres Stück verbessern.

Links:

1 Kommentar:

  1. Ich war soweit zufrieden mit dem Materials System, allerdings hab ich mich mehr darauf konzentriert mal Alphas zu testen da mit dem neuen Materialsystem auch mehr oder weniger die Alpha sorting bugs der Vergangenheit angehören sollen. Siehe da ich habe 100 Alpha Texturen übereinander gelegt und sie sich perfekt übereinander gelegt, welch ein Traum. Egal bei welcher Kameraperspektive, die Texturen fingen nicht an zu flackern, das ist obwohl das Alpha System angeblich noch nicht implementiert ist ein riesen schritt nach vorne, zumal ich gesehn habe das meistens Alpha Körpertexturen auch richtig als "Fast Alpha" erkannt werden und ordnungsgemäß beleuchtet werden und geblurrte Schatten werfen (mit SSAO) wie es auch der Fall auf Solid Faces ist. Wenn das so bleibt in der Zukunft kann man endlich Alphas vernünftig überall besonders für Mesh Körper nutzen ohne das diese anders beleuchtet werden als der restliche Körper.

    Eins muss LL aber schleunigst ändern... dieses grauenhafte Chrom-shiny, das sieht wirklich überall grauenhaft aus, besonders in Innenräumen ohne Licht und bei Nacht.

    AntwortenLöschen