• 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.

Texturierung eines Gebäudes

Hi Jojo, an dem Tutorial arbeite ich schon, das dauert nur leider immer ein wenig. Daher hier einige Kurztipps zum Hack:

Die doppelte Anzahl der Polys deutet darauf, dass das Mesh korrekt mit jeweils 2 Materialien pro Fläche geladen wurde. Da die Flächen direkt aufeinander liegen, muss natürlich eine der beiden Flächen ein Alpha haben, sonst siehst Du von der anderen nix. Deswegen die Ambient Occlusion in einem Grafikprogramm deiner Wahl in einen negativen Alpha_Layer auf weissen Grund umwandeln. Dh. je weisser die AO, desto durchsichtiger muss der Layer werden.

Tip 1:
Weisser Untergrund deshalb, weil du den in SL einfärben kannst, und damit die Farbe des Schattens bestimmst. Im einfachsten Fall wird er schwarz gefärbt.

Um in SL die verschiedenen Flächen auszuwählen muss man mehrmals auf die selbe Stelle klicken.

Tipp 2:
Bewährt hat sich dabei, eine der beiden Flächen temporär mit einer Signalfarbe über Color einzufärben. Jede dieser beiden Flächen hat natürlich auch das neue Materialsystem. Wenn Du das verwendest, musst Du beim Layer mit Alpha darauf achten, dass Alpha auf "Blending" gestellt ist. Dummerweise ist hier der default Wert "None".

Tipp 3:
Wenn der AO-Schatten zu kräftig ist, kannst Du dem Layer auch noch eine Transparenz (z.B. 10 - 20%) geben, damit wird der Schatten weniger dunkel.

LG Timmi
 
Öhm...? :)
Das ist nur teilweise richtig. Das doppelte Material erhöht die Triangel für die UV-Map, was wiederum Auswirkungen auf den LI hat. Allerdings wird der LI nicht verdoppelt. Bei meinen Experimenten erhöhte sich der LI dadurch teilweise gar nicht oder nur wenig. Am besten ist Testen.
 
LI hat sich bei mir dadurch nicht verdoppelt aber die Uploadkosten schon merklich......

danke für die Tips Timmi, werd ich bei gelegenheit mal versuchen ob das bei mir klappt.

Jojo

Edit: hab sogar bei dem der die doppelte Textur draufhat nur 7 LI bei dem anderen 8 LI hatte nur den Hack von Timmi angewant und hochgeladen.... is schon komisch...
 
Zuletzt bearbeitet:
also....

Deswegen die Ambient Occlusion in einem Grafikprogramm deiner Wahl in einen negativen Alpha_Layer auf weissen Grund umwandeln. Dh. je weisser die AO, desto durchsichtiger muss der Layer werden.

das versteh ich irgendwie nicht so genau was du damit meinst.....:confused:

Jojo
 
Hab mich wohl ein bisschen verquer ausgedrückt :)
Also Du lädts Deine AO-Map in ein Grafikprogramm. Dann erzeugst Du ein Negativ Bild davon. Dieses wandelst Du in einen Alpha Layer um (dabei werden die Grauwerte als Transparenz genommen). Diesen Alphalayer speicherst Du in einem komplett weissem Bild ab (als png oder tga) das wars. Beim Hochladen siehst Du eine weisse Fläche mit teilweiser Transparenz. Genau das brauchst Du.

Timmi
 
Hi Kelith.
da ich gerade das selbe Problem hatte, kann ich Dir sagen, es geht beides: die Kombination von gekachelter Textur und gebakter Textur ergibt ein sehr realistisches Bild:

Anhang anzeigen 22774 Anhang anzeigen 22775 Anhang anzeigen 22776

Leider muss man dazu wieder mal eine nicht dokumentierte Funktion nutzen. Aber der Reihe nach:

Für mein Haus teile ich alles in Innen- und Außenflächen auf (Mesh zerlegt.) Dann bekommt jede Fläche 2(!) Materialien. Damit reduziert sich die Anzahl des Materials pro Mesh/Face allerdings auf 4. Eine durchdachte Aufteilung des Meshes macht da aber schon wegen der Physik Sinn. In Blender bake ich keine Schatten, sonder nur eine Ambient-Occlusion Textur. AO ist immer gleich, egal welche Schatten SL darstellt. Weiterhin benutze ich noch eine Normal-Map und eine Specular-Map.

Um 2 Materialien pro Fläche zu bekommen, musst Du das dae-File mit einem Texteditor öffnen (ich nehme Worpad) und das entprechende Material kopieren, nochmals einfügen und umbenennen. Dazu sucht man den Abschnitt der etwa wie folgt aussieht:

</polylist>
<polylist material="Fensterrahmen-material" count="236">
<input semantic="VERTEX" source="#Fenster03-mesh-vertices" offset="0"/>
<input semantic="NORMAL" source="#Fenster03-mesh-normals" offset="1"/>
<input semantic="TEXCOORD" source="#Fenster03-mesh-map-0" offset="2" set="0"/>
<vcount>3 3 3 3 3 ....(hier sind natürlich viel mehr Zahlen drin) ....
713</p>
</polylist>

und kopiert ihn einfach darunter nochmal:

</polylist>
<polylist material="Fensterrahmen2-material" count="236">
<input semantic="VERTEX" source="#Fenster03-mesh-vertices" offset="0"/>
<input semantic="NORMAL" source="#Fenster03-mesh-normals" offset="1"/>
<input semantic="TEXCOORD" source="#Fenster03-mesh-map-0" offset="2" set="0"/>
<vcount>3 3 3 3 3 ....
713</p>
</polylist>

dann füge ich einfach an den Materialnamen eine 2 dran, speichern und fertig. Jetzt kannst du in SL der Fläche einmal eine AO zuweisen und dann noch ein gekacheltes Material:

Anhang anzeigen 22778 Anhang anzeigen 22779

die AO-Map muss allerding ein Alpha-Map sein, und zwar eine negative Alpha-Map. D.h. je weißer desto durchsichtiger.

Diese Kombination ergibt die Feinheit der Struktur und die Tiefenwirkung von Ambient-Occlusion, dabei können die AO-Texturen eine relativ grobe Auflösung haben, so dass der Video-Speicher nicht zu arg belastet wird.

Falss Interesse besteht, kann ich dazu ja mal ein Tutorial machen

LG Timmi


Also wer ist eigendlich auf die idee gekommen?
Komplizierter geht es ja kaum noch.
Ihr könnt es auch so machen:
Lege für ein Objekt 4 Materialien an.
Erstelle deine UV-Map für die AO.
Erstelle eine zweite UV-Map für deine Textur.
Kopiere das Objekt.
in der Kopie lege 4 neue Materialien an, lösche die alten (oder einfach mit + eine kopie machen)
Lösche die erste UV-Map der Kopie (das ist der Texturlayer) und benenne diese UV-Map genau so wie die die du gelöscht hast.
Lösche die zweite UV-Map aus dem original (das ist dein AO-layer)
Joine beide Objekte.
Hochladen, fertig ^^
 
Also wer ist eigendlich auf die idee gekommen?
Komplizierter geht es ja kaum noch.
Ihr könnt es auch so machen:
... Kelith löschte viel Text ...

Danke Joint für die Erläuterung. Aber die empfinde ich als genauso kompliziert. :)

Vielleicht stehe ich ja alleine da mit meiner Meinung, dass die doppelte Anzahl Materialien und Texturen zu verballern und ggf. das Mesh aufteilen, weil die Materialien nicht ausreichen sonst, und das für ein undokumentierte Feature, halte ich für Verschwendung.
 
Ja Kelith, das ist zwar ein Argument. Aber ich konnte bislang noch keine erhöhung des Li feststellen, darum ist dieser Vorschlag von Timmi erste Sahne und es eröffnen sich doppelt so viele Möglichkeiten :)
Nur mann muß ebend nicht die *.dae Datei bearbeiten! Denn wenn du etwas an deinem mesh ändern musst, mußt du jedesmal die Datei bearbeiten, und es können sich andere Fehler einschleichen. Darum meinte ich das das zu kompliziert gedacht war.

Ach und meine beschreibung war evt. auch noch zu kompliziert, es geht auch so:
Ein Objekt mit 4 Materialien. Da wie gewohnt den unwrap machen (z.B. für jedes Material)
Dann kopiere dieses Objekt und ersetze deine 4 Materialien duch neue, und da dann deinen unwrap für die AO.
Am Ende beide Objekte wieder joinen.
Wichtig ist das beide Objekte den selben UV-Map Namen haben.
lg
 
Zuletzt bearbeitet:
Hallo zusammen,

danke noch mal für die guten Beschreibungen!

Ich habe es mal ausprobiert. Und es klappt. Ich habe die Methode benutzt, wie JointVenture sie beschrieben hat und für die AO-Grafik die Methode, wie Timmi sie beschrieben hat.

Unbenannt-1.jpg

Der Beton ist eine kachelbare Textur aus der LL Library, die ja jeder zur Verfügung hat, die AO sieht man dann beim rechten der beiden Klötze.

Hier mal meine Schritte für die AO-Grafik:
1) AO von Blender laden
2) AO invertieren
3) Alpha Map anlegen und die invertierte AO per Copy/Paste da einsetzen, also zur Alpha Map machen.
4) Weiße Ebene oben drauf machen und das Ganze dann als TGA 32 Bit speichern
Unbenannt-2.jpgUnbenannt-3.jpgUnbenannt-4.jpg
 
Zuletzt bearbeitet:
Erstaunlich ist ja schon, wie SL damit umgeht. Schließlich liegen zwei identische Objekte exakt über-/ineinander. Ich hätte angenommen, das führt zu Texturflackern. Das mit dem LI: der müsste sich eigentlich erhöhen, schließlich liegen zwei Objekte statt einem vor. Oder in SL passiert etwas unter der Haube, weil die Vertices genau übereinander liegen?
 
Ja - Nee, das ist ein objekt. Und nicht zwei übereinander :D
Weil das die Flächenanzahl erhöht kann es schon richtig sein das die Upload/Download-kosten sich minimal erhöhen.
Aber mann verändert nicht die Größe der Flächen der Materialien, deswegen macht es scheinbar keinen Unterschied.

Ich habe das mit dem "flackern" schon hinbekommen, als ich versehentlich eines beider objeckte entgegengesetzt trianguliert habe.
 
Ja - Nee, das ist ein objekt. Und nicht zwei übereinander :D

In Blender mache ich eine Kopie des Objekts, baue die Materialien um und joine dann Kopie und Original zusammen. Sieht wie ein Objekt aus, wird auch als solches behandelt (Ja Du hast Recht, es ist nach dem Join ein Objekt. Aber Du weißt ja, wie ich das gemeint hatte :) ). Aber die Anzahl Vertices und Flächen hat sich verdoppelt. Würde ich ein "Remove Doubles" machen, würde die eine Hälfte wieder verschwinden. Ich kann in Blender einen beliebigen Vertex wegziehen und genau darunter liegt noch einer, von der Kopie. Deswegen schrieb ich "zwei Objekte".
 

Users who are viewing this thread

Zurück
Oben Unten