menu

Forum

05. Februar 2012, 19:54:33 *

 
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und Sitzungslänge
 
 


  Seiten: 1
  Drucken  
NaN
Newbie
*
Beiträge: 28

Richtiges UV-Mesh erstellen
am: 11. November 2008, 20:54:56
Hallo Ihr Lieben,

ich wende mich mit einem weiteren Problem in Cinema bezüglich des UV-Mesh wegen der Erstellung von Shadowmaps an Euch.

Ich habe ein recht großes Gebäude modelliert und leider voller Unwissenheit schon recht früh texturiert. Das Problem an der Textur ist, dass sie zwar gekachelt wird, jedoch eine Struktur besitzt, die wirklich punktgenau auf das Gebäude gemappt werden muss (Betonstehlen). Also habe ich mit Flächenmapping gearbeitet und mit viel Geduld die Textur passgenau ausgerichtet. Jetzt, beim erstellen der Shadowmap erweist sich das Flächenmapping natürlich als grober Fehler, da das UV-Mesh Überlappungen hervorbringt. Die Frage, die sich mir stellt, ist: Gibt es eine Lösung um das UV-Mesh von Fläche auf UV-Mapping umzustellen. Dabei ist mir hauptsächlich wichtig, dass die Proportionen beibehalten werden. Die Größe der Kachelung würde ich gerne selber noch ändern.

Ich habe auch schon mit dem interaktiven mapping herumprobiert und  einigermaßen gute Ergebnisse erzielt (man kann hierbei ja die Mappingart auf Fläche stellen). Beim Beenden der Funktion weisen die UV-Daten in den Attributen leider die Standardzahlen bzgl. des Offset und der Kachelung auf.

Habt Ihr hier Erfahrungen? Über eine Eingebung wäre ich echt dankbar (mal wieder).

lg an das Team

NaN
NaN
Newbie
*
Beiträge: 28

Re: Richtiges UV-Mesh erstellen
Antworten #1 am: 12. November 2008, 14:42:36
So, ich bin bezüglich des obigen Themas ein Stückchen weiter gekommen. Allerdings stellen sich mir ein paar Fragen über das Offset.

Ich habe jetzt ein UV-Mesh, das mit mehreren Werten auf das Objekt gemappt wird. D.h., dass ich jetzt nicht nur mit Werten der Kachelung, sondern auch mit Offset umgehen muss. Wie kann ich das bewerkstelligen?

Beim Durchsehen des Videos „lightmapping” ist mir am Schluss aufgefallen, dass durch die Bezeichnung wall|10|2|vector(0,-0,001,0) ein ständiges Offset innerhalb einer definierten Zeit erreicht wird.

Die Frage deshalb: Wie kann ich das Offset in x- und in y-Richtung verstellen?

Mal wieder vielen Dank im Voraus.

lg NaN
drzorn
Newbie
*
Beiträge: 15

Re: Richtiges UV-Mesh erstellen
Antworten #2 am: 12. November 2008, 19:42:04
schon mal mit textur backen versucht? oder objekt backen?! das geht sehr gut!
ausser im cinema R11. R10 aber schon. so kannst du auch schatten, GI, bumpmap und so reinbacken.
Lutz
Administrator
Full Member
*****
Beiträge: 218

Re: Richtiges UV-Mesh erstellen
Antworten #3 am: 12. November 2008, 19:45:04
Man kann ganz genau mit UV-Koordinaten Texturieren und auch Kachelungen präzise anlegen.

Der "Trick" ist eigentlich ganz einfach. Dazu hab ich mal ein kleines Video gemacht.

http://biont3d.com/tutorials/precise_uv_mapping/
 
Im Prinzip geht es darum, die UVs so zu verteilen, dass sie auf auf einem Raster angeordnet sind. Dieses Raster entspricht dann der späteren Kachelung.

Zitat
Wie kann ich das Offset in x- und in y-Richtung verstellen?

Damit verschiebt man nur die Textur, nicht die UV-Koordinaten. Ich meine das macht in deinem Fall keinen Sinn, da du das zunächst in Cinema4D einstellen solltest. Vielleicht hab ich das jetzt aber auch falsch verstanden.

Grüsse!
Lutz
NaN
Newbie
*
Beiträge: 28

Re: Richtiges UV-Mesh erstellen
Antworten #4 am: 12. November 2008, 22:28:46
Hm … Ich bin mir nicht sicher ob ich mich klar ausgedrückt habe. Ich habe mal ein paar Bilder vorbereitet:

So soll also das Gebäude von Innen mal aussehen. An den Übergängen zur Decke rechts kann man schon gut erkennen, welche Probleme hier beim Texturieren noch auf mich zukommen werden.



Das soll zeigen, wie die Aufteilung der Textur im Normalfall sein soll.



Das bearbeitete Mesh, das auf der Textur ausgerichtet wurde. (Mit dem Box-Mapping Tool in Bodypaint erreicht man ganz passable



Und als letztes die Textur im Mesh. Man kann ja gut erkennen, dass das Mesh für diese Wand etwas über der Textur liegt. Die Textur soll in diesen Bereichen also gekachelt werden.


 
Wenn ich die Shadowmap dann habe, hat diese ja dann das Format des Meshs, das ich vorher abgerollt habe. Für Biont oder Shockwave benötige ich ja dann für die Platzierung der Textur auf der Shadowmap a) die Kachelung und b) die Werte des Offsets also um wie viel die Textur gegen die Shadowmap versetzt wird. Ansatzweise haben wir das jetzt schon durch Rausprobieren hinbekommen aber genau wird das so nicht.

Vielleicht habe ich ja auch etwas bezüglich der Shadowmaps nicht richtig verstanden.

@ drzorn: Ja, habe ich schon mehrmals. Das Ergebnis ist leider nicht wirklich zufriedenstellend. In C4d sieht es erstmal gut aus, wird es jedoch exportiert für shockwave, passt die Kachelung überhaupt nicht. 

Danke erstmal für die Tips.

ps: Es kann natürlich auch sein, dass ich zu lange und zu viel vor den Meshes sitze und den Überblick verliere.
« Letzte Änderung: 12. November 2008, 22:54:49 von NaN »
Lutz
Administrator
Full Member
*****
Beiträge: 218

Re: Richtiges UV-Mesh erstellen
Antworten #5 am: 12. November 2008, 22:53:37
Ok, kannst du mir mal dieses eine Teil als C4D-Datei schicken (so texturiert wie es sein soll)? Dann könnte ich das mal übertragen und dir wieder zuschicken.
NaN
Newbie
*
Beiträge: 28

Re: Richtiges UV-Mesh erstellen
Antworten #6 am: 12. November 2008, 23:07:56
Klar, kann ich machen.
http://www.redaktion-pfeifer.de/diplom/test/c4D.zip
Lutz
Administrator
Full Member
*****
Beiträge: 218

Re: Richtiges UV-Mesh erstellen
Antworten #7 am: 13. November 2008, 15:33:30
Das Modell ist einfach und kompliziert zugleich :)

Ich hab das Modell jetzt nicht auf die schnelle Texturiert bekommen. Zum einen sind die Texturen nicht in 1:1 gemappt zum anderen weiss ich nicht genau wie gross die Kacheln genau sind.

Es wäre meines erachtens etwas einfacher, wenn du die Betonteile von dem grauen Streiffen trennen würdest. Hatte auch schon drüber nachgedacht in Photoshop ein Raster über die Textur zu legen und dann genau rücken zu können. Leider fehlt mir gerade die Zeit das zu vertiefen.

Ich werde aber noch daran arbeiten solche Probleme möglicherweise über eine zweite Geometrie zu lösen die dann ein zweites UV-Set enthält. Kann im Moment nicht versprechen wann das fertig sein wird.

Falls du das in Director selber bauen willst, kann ich dir noch Links raussuchen in denen das Verfahren beschrieben ist.

Grüsse!
Lutz
NaN
Newbie
*
Beiträge: 28

Re: Richtiges UV-Mesh erstellen
Antworten #8 am: 13. November 2008, 15:55:58
Supervielendank für Deine Mühe. Für hilfreiche Links bin ich immer dankbar.

Über eine andere Texturgeometrie habe ich auch schon nachgedacht. Ich wollte jedoch erstmal schauen ob es vielleicht eine weniger zeitintensive Methode gibt.

Grüße NaN
Lutz
Administrator
Full Member
*****
Beiträge: 218

Re: Richtiges UV-Mesh erstellen
Antworten #9 am: 13. November 2008, 18:11:52
Du findest hier eine Erklärung und eine Demodatei:
http://www.dubane.com/cons/max2004/helpers/

Sind die beiden Links in denen "lightmap" vorkommt.

Grüsse!
Lutz
NaN
Newbie
*
Beiträge: 28

Re: Richtiges UV-Mesh erstellen
Antworten #10 am: 13. November 2008, 21:18:10
Danke erstmal für den Link. Ich glaube, beim ersten drüberfliegen, dass uns das nicht wirklich weiterbringt. Ich halte Euch auf dem Laufenden, wenn wir eine Lösung gefunden haben.

lg NaN
NaN
Newbie
*
Beiträge: 28

Re: Richtiges UV-Mesh erstellen
Antworten #11 am: 16. November 2008, 18:06:13
Ein fröhliches Hallo!

Bezüglich der UV-Maps hat sich jetzt noch nichts getan. Allerdings ergibt sich nach dem Backen eine weitere Frage, die schnell geklärt sein sollte.

Wenn ich die Shadowmaps gebacken habe und in PS auf eine vernünftige Größe redudziert, wollen sie im Player nicht mehr auf die Objekte passen. Muss ich den Faktor um den ich die Maps runtergerechnet habe auch im Shadernamen einbeziehen?

Bsp.: ich habe eine Shadowmap mit der Dimension 1024*1024. Reduziere ich diese auf 256*256 muss ich den Faktor der Map auf 4 vergrößern?

Wie gehe ich mit der Kachelung um. Die Map ist viermal so groß wie die Textur also muss im Namen des Shaders für die Kachelung eine vier auftauchen:

tuer_shadow|4

für eine Shadowmap mit 1024*1024. Reduziere ich diese, muss der Name für den Shader dann:

tuer_shadow|16 lauten?

Ich hoffe, das Problem ist verständlich geschildert.

Voller Vorfreude auf eine Antwort

NaN



Lutz
Administrator
Full Member
*****
Beiträge: 218

Re: Richtiges UV-Mesh erstellen
Antworten #12 am: 16. November 2008, 22:03:24
Nein, der Faktor muss nicht reduziert werden. Es kann aber sein, dass die Textur nach dem Skalieren nicht mehr genau passt.

Die UV-Koordinaten haben immer Werte von 0 bis 1 (beispielsweise (0.5432,0.0021). Texturen werden immer in einem Pixelraster gerechnet (beispielsweise 256x256). Deshalb ergeben sich auch immer Ungenauigkeiten.

Ich löse das immer so:

1. Texturen in 2048x2048 backen
2. Pixelrand beim Backen relativ hoch einstellen (10 Pixel oder mehr)
3. In Photoshop die Textur dann auf die kleinste noch passenden Grösse verkleinern

Grundsätzlich ist es aber egal wie gross die Textur ist und es muss nichts umgerechnet werden. Die Texturen werden über die UV-Koordinaten unabhängig von ihrer Pixelgrösse projiziert.

Ich hab aber auch schon mal Texturen gebacken die später nicht mehr auf die Modelle passen wollten. Es mag sein, das es da einen Bug in Cinema4D gibt (kann ich im Moment noch nicht wirklich beweisen), die Probleme haben sich dann bei Versuch den Fehler zu reproduzieren in Luft aufgelöst so dass ich gerade nicht sagen kann ob ich oder Cinema4D was falsch gemacht hat.

Sobald ich wieder zuhause bin, werde ich aber an dieser Stelle nachforschungen anstellen.

Der einfachste Test die UV-Map zu überprüfen ist die skalierung unveränder zu lassen ( fussbodenshader|1 - dann darf natürlich die Kachelung des Shaders auch nur auf 1 stehen).

Vielleicht sollte man mal zu dem Thema ein kleines Live-meeting machen, ist ja vielleicht einfacher das im direkten Dialog die Möglichkeiten durchzuspielen.

Grüsse!
Lutz
NaN
Newbie
*
Beiträge: 28

Re: Richtiges UV-Mesh erstellen
Antworten #13 am: 17. November 2008, 16:43:27

Ich hab aber auch schon mal Texturen gebacken die später nicht mehr auf die Modelle passen wollten. Es mag sein, das es da einen Bug in Cinema4D gibt (kann ich im Moment noch nicht wirklich beweisen), die Probleme haben sich dann bei Versuch den Fehler zu reproduzieren in Luft aufgelöst so dass ich gerade nicht sagen kann ob ich oder Cinema4D was falsch gemacht hat.


Genauso ging es uns gestern den ganzen Tag.
Irgendwann habe ich festgestellt, dass in Cinema4D (nachdem die Textur gebacken und anschließend in Photoshop verkleinert wurde) die Bildgröße im Materialmanager nicht mit der tatsächlichen Bildgröße (so wie ich sie in Photohop skaliert hatte) übereinstimmte.

Z.B. wurde eine Textur mit 1024x1024 gebacken und anschließend auf 128x128 verkleinert.
In Cinema4D wurde dann aber eine Bildgröße von 256x256 angezeigt.
Ich weiß nicht wieso.
Es hat manchmal auch bei anderen Größen nicht richtig funktioniert.
(Von 512 auf 256 blieb bei 512 aber auf 128 hat funktioniert...)
Die Maße an sich können es also nicht sein.
Ich vermute an dieser Stelle, dass es evtl. mit dem PSD-Format von Photoshop zusammenhängt.

Wenn man nun das Modell ins w3d exportiert, scheinen entweder das Mesh oder die Proprtionen der Textur nicht mehr zu stimmen. (Am Mesh habe ich allerdings nichts geändert)
In meinem Fall war die Shadowmap von der Höhe zwar richtig, aber in der Breite war sie viel zu schmal.
Ich habe dann mal mit einem LingoScript die Skalierung der Shadowmap "von Hand" vorgenommen. Wenn x und y gleich skaliert wurden, hat die Shadowmap entweder nur in der Höhe oder nur in der Breite auf das Modell gepasst.
Ich musste also x und y unterschiedlich skalieren. Und das, obwohl die Kachelung der eigentlichen Textur (also die im Farbkanal) in x und y gleich war.

Ich hoffe, jemand von Euch kann mit dieser Info etwas anfangen.
Mir ist es nach wie vor schleierhaft.
Werde einfach solange probieren und Resultate vergleichen müssen bis es stimmt.
 
NaN
Newbie
*
Beiträge: 28

Re: Richtiges UV-Mesh erstellen
Antworten #14 am: 18. November 2008, 15:25:26
So,

hab nochmal rumprobiert.
Um die Dateigröße der Texturen für die Shadowmap möglichst klein zu halten wollte ich diese einfach als Graustufenbild verwenden.
Die von mir beschriebenen Fehler treten im Zusammenhang mit dem Dateiformat von Photoshop (PSD) und in Graustufen konvertierte Bilder auf (andere Dateiformate habe ich noch nicht getestet).
Werden diese Texturen als RGB gespeichert funktioniert alles bestens.
Könnte also entweder am Dateiformat oder an den Graustufen liegen.
 
Lutz
Administrator
Full Member
*****
Beiträge: 218

Re: Richtiges UV-Mesh erstellen
Antworten #15 am: 21. November 2008, 13:17:48
Ja, das habe ich auch schon rausgefunden. Ich weiss allerdings nicht, ob der fehler beim export aus Cinema4D heraus ensteht (da werden alle Texturen einmal als komprimiert) oder ob das später noch korrigierbar ist.

Am besten nur Texturen im normalen Farbraum verwenden.

Grüsse!
NaN
Newbie
*
Beiträge: 28

Re: Richtiges UV-Mesh erstellen
Antworten #16 am: 23. November 2008, 15:29:56
da werden alle Texturen einmal als [???] komprimiert

Ähm, sorry, als was werden sie komprimiert?
Ich denke der Fehler wird nicht nur beim Export liegen.
Denn wenn schon der Materialeditor die Maße einer Textur nicht richtig anzeigen kann, dann ist meiner Meinung nach klar, dass schon etwas "Falsches" exportiert wird.
In meinem Beispiel hätte es zum Korrigieren gereicht, die Shadowmap in x-Richtung doppelt so groß zu skalieren wie in y-Richtung.
Allerdings habe ich bisher nicht feststellen können, ob und in wiefern man später diese Texturen anhand ihrer Eigenschaften herausfiltern könnte. Es sei denn, sie haben einen besimmten Namen. Allerdings kann ich nicht sagen, ob man ganz pauschal immer alle Graustufentexturen so skalieren kann.
Man müsste also, wenn man Graustufenbilder verwendet, diese unterschiedliche Skalierung im Shadernamen als Kachelung angeben.
Aber auch hier weiß ich nicht, ob da generel gelten würde: shaderName|vector(2x,y,1).
 
Lutz
Administrator
Full Member
*****
Beiträge: 218

Re: Richtiges UV-Mesh erstellen
Antworten #17 am: 23. November 2008, 21:58:47
Zitat
Ähm, sorry, als was werden sie komprimiert?

Gute Frage, ich meine es ist eine JPEG-Kompression. Allerdings mixt der Exporter auch den Alpha/Transparenz-Kanal mit dem Farbkanal zusammen, so das eine neue Grafik angelegt wird, die dann einen Alphakanal besitzt. Zumindest in dem Fall wird keine JPEG-Grafik verwendet.

Leider ist es nicht Möglich später herauszufinden ob Texturen einen Alphakanal besitzen oder welche Farbtiefe sie haben. Wäre sehr praktisch auf diese Informationen zurückgreiffen zu können.

Zitat
Man müsste also, wenn man Graustufenbilder verwendet, diese unterschiedliche Skalierung im Shadernamen als Kachelung angeben.
Aber auch hier weiß ich nicht, ob da generel gelten würde: shaderName|vector(2x,y,1).

So könnte es gehen, ich werde mir das noch mal ansehen und schauen was bei 8bit und 16bit anders ist als bei 24bit oder 32bit.

Im Moment ist mir eben immer noch nicht klar, ob tatsächlich nach dem Export eine 8bit oder eine 16bit Grafik als Textur vorliegt oder ob der Cinema4D exporter eine 24bit Grafik anlegt die dann eine andere Grösse hat. Das würde dann zumindest schon mal die Frage klären, ob es überhaupt Sinn macht 8bit Grafiken zu verwenden um Speicherplatz zu sparen.

Ich frag einfach mal den Support bei Maxon :)

Grüsse!
  Seiten: 1
  Drucken