Wie texturiert man am besten? (Cinema4d)

  • Hallöchen Leute,


    Ich bin mir schon seit Tagen den Kopf an zermardern wie man am besten Texturen auf die 3D Modelle bringt so das sie gut aussehen.


    Ich bin mit Cinema4d noch ziemlich neu unterwegs habe auch schon Tutvids angeschaut aber da komme ich nicht weiter da die einen Sagen mit Bodypaint und die andern Sagen mit UVmaps ich habe es schon mit UVmaps versucht die Texture ist da drauf aber leider unscharf selbst beim Render und sieht bei zb Stangen total langgezogen aus.


    Gibt es hier im Forum jemanden der mit Cinema 4D gearbeitet hat oder arbeiten tut der mir da weiterhelfen kann.


    MFG


    Michael aka Bloodwolfs

  • Hallo Bloodwolfs,


    der Prozess sieht unabhängig vom Programm gleich aus.
    Basis ist immer eine gute UV Map.


    Unscharfe Texturen werden meist durch zu niedrige Auflösung verursacht (Auflösung der einzelnen Maps zu gering / UV Shell zu klein auf Map)
    Verzogene Texturen werden i. d. R. von schlechten/verzerrten UVs verursacht.



    Grüße


    Bob

    • Offizieller Beitrag

    Also beim UV-Mapping gibts einige Dinge zu beachten, wie Bob schon sagte , ist das UV-Mapping in allen Programme gleich Wenn deine Texturen unscharf sind liegt dies wahrscheinlich daran das du beim UV-Mappen etwas falsch gemacht hast.


    Hier mal einige wichtige Punkte zum UV-Mappen die mir spontan einfallen:


    1. Gute Texturen verwenden


    Deine Basis Textur mit der du arbeitest sollte eine entsprechende Auflösung haben. Für ein Wandstück das 2m groß und 1 m Breit ist solltest du keine 128 *128 Textur verwenden.


    2. Power of Two einhalten


    Deine Textur größe sollte durch 2 teilbar sein. zb 32, 64,128,256,512, 1024,2048, 3072,4048 ect
    Gehen würde zb auch 64* 2048 usw
    Gar nicht geht sowas wie 1356* 3027px
    Wissen solltest du vielleicht auch das nicht unbedingt aller Pixelplatz belegt sein muss. bei einer 1024*1024 px Textur kann zb nur 36 *1024 belegt sein (ein Stab mit 36cm Umfang und 1 m Höhe


    3.Texturen Skalieren


    Wenn du natürlich in Photoshop schon deine Textur lang ziehst wird sie in der Engine auch nicht anderst aussehen. Wenn du in PS Texturen vergrößern oder verkleinern willst dann tu dies in dem du die Textur in ein Smart Objekt umwandelt.
    Wenn du eine Textur in ein Smart Objekt umwandelst, dann wird deine Textur in eine Vector Grafik umgewandelt deswegen lassen sich Texturen als Smartobjekt besser verlust freier vergrößern oder verkleiner.


    4. UV-Mapping
    Wie Bob schon sagte ist die Qualität deiner UV sehr wichtig.


    .


    5 Unfold
    Es genügt nicht auf Objekte einfach irgend ein Mapping darauf zu machen und dann zu denken das es passt.


    UV-Shells müssen immer unfoldet sein, das bedeutet das die UVs wie ein Wellholz ausgebreitet werden müssen so das sie perfekte Proportionen einnehmen.


    Dieses Verfahren ist ganz wichtig !!!!


    6. Checker Textur


    Wenn du dein Modell in Cinema fertig modelliert hast und beginnst zu texturieren solltest du immer eine Checker Textur drauf machen um vor allem Verzerrungen auch direkt auf dem Modell zu sehen.


    So sieht eine typische Verzerrung aus:
    [Blockierte Grafik: https://s-media-cache-ak0.pinimg.com/736x/bd/38/bf/bd38bf3758911232cf8a33649d39b116.jpg]


    Deswegen macht man diese Checker Texturen drauf dies macht man noch bevor man Texturen ins 3D Programm läd.


    7.Alle Kacheln gleich Groß


    Zu einer guten UV gehört auch das alle UVs in Ihrem Verhältnis gleich groß sind. Wenn du eine Checker Textur auf dein Modell gemacht hast sollten alle Kacheln gleich groß sein.


    Nicht so:


  • @Bob
    Erstmal ein Dank an dich für die schnelle Anwort


    @Sleepy


    Auch an dich ein Dank für die schnelle Anwort wie schon geschrieben bin ich noch total neu was Texturen usw angeht in 3d Modellen komme ich gut rein nur texturen fällt mir schwer immoment


    Das mit der POT habe ich schon gewusst ich benutze auch meisten Texturen jedenfalls immoment von Gametextures


    Zwecks Uvmap die UV Map muss ja auch immer POT sein oder ??


    Hier mal das 3D Modell


    http://gyazo.com/d2380f668787c849a387d6b1113fde9a


    Und hier ist die UVMap auflösung 2048*2048


    http://gyazo.com/46819f179fd6dbd13f68b831d45862a2


    Die UV map ist das ganze Bett ich habe es auch mal einzeln gemacht kam aber auf das gleiche raus selbst die Textur habe ich schon angepasst so das sie in ich sag mal in so ein Feld reinpassen tut.


    Das ist noch alles neu für mich deswegen habe ich mir ein Bett gemacht da dieses ja einfacher ist als ne Waffe oder einen Char


    Die Checkermap


    Sieht bei mir so aus wenn ich das vergleiche wird mein Model schon falsch sein


    Links das Bett rechts die Matratze


    http://gyazo.com/2c7981a73f85d4e6508df08471487fa5


    MFG


    Wolf

  • Hallo Bloodwolfs,


    die Auflösung deiner Textur ist zu gering.
    Deine UV Map ist auf eine Fläche von 2048x2048 Pixel verteilt, die Matratze hat also pro Seite geschätzt maximal 250x250 Pixel zur Verfügung.


    Folgende Lösungen gibt es:


    a) UVs dürfen für deine Maps überlappen, d.h. Matratzen Ober- und Unterseite können übereinander gelegt werden, gleiches gilt für alle selben Objekte.
    Dadurch erreichsst du eine viel größere Fläche und durch Rotationen und Spiegelungen kannst du sichtbare Wiederholungen der Textur verhindern.


    b) Gesamte Auflösung erhöhen, für dein Objekt nicht ratsam.




    Gruß


    Bob

    • Offizieller Beitrag

    Jup an deiner Checker Textur sehe::


    1. ich das deine UV nicht richtig unfold sind.
    2.Sie sind nicht nach World im UV- Space ausgerichtet.


    Hier die Erklärung dazu:
    1. Deine Texturen müssen richtig unfold sein damit du keine Verzerrungen mehr in der UV hast.


    Wie man dies in Cinema4D macht kann ich dir nicht sagen.


    Vielleicht einfach mal nach Unfold Cinema4D suchen. Sorry das ich nicht mehr dazu sagen kann.


    2.

    Zitat

    Zwecks Uvmap die UV Map muss ja auch immer POT sein oder


    Jaein: Dein UV-Space ist Power of Two mhh wie erklär ich das am besten ?!


    Der Rot umrandete Bereich ist dein POT bereich:


    Es spielt hier erstmal keine Rolle ob du da nun ne 128*128 px Textur reinlädst oder ne 4096*4096 px Textur.


    Das bedeutet also das alle deine UV-Shells in diesem Bereich sein müssen.
    Du musst also alle deine UV-Shells in diesem Bereich plazieren und auf eine entsprechende große skalieren.
    Dafür gibts normalerweise ein Toll wo dir die Arbeit abnimmt.


    GroßerE UV-Shells werden dann größer und kleinere UV-Shells proportinal kleiner. (Proportinal ist hier das Strichwort)


    In Cinema4D muss es deswegen auch ein Tool geben mit dem du UV Shells nach World ausrichten kannst.

  • Ich habe jetzt weiter getest und eure Ratschläge befolgt doch leider komme ich nur Teilweise zum gewünschten erfolg


    Vom weitem ist die Textur scharf http://gyazo.com/b2588fe34904cf41e9a34a0cdf9cd6c8


    Sobald man näher kommt wird sie unscharf
    http://gyazo.com/0f6213f3fe01d23c4d5fb436eac69857


    Gibt es da vll in der Ue ne einstellung das man das ändern kann das sie von weitem unscharf ist und wenn man näher kommt scharf wird ??


    MFG


    Bloodwolfs

  • Das liegt an der Textur selber.
    Für Hauswände solltest du eine Textur nehmen, die tileable ist und sie dementsprechend anpassen.
    Wenn du beschädigungen an der Hauswand haben möchtest, nimmst du am besten Decals.


    Du kannst die schärfe eine Textur auch noch zusätzlich mit einer Detail textur erhöhen.

    • Offizieller Beitrag
    Zitat

    Ich denke mal mit Tileable texturen meinste sowas wie steinmauern,Brickmauern oder auch Fliesen


    Nein mit Tileable texturen oder kachelbaren Texturen meint man Texturen die sich wiederholen ohne das man Seams erkennt!



    Das Problem bei deiner Wand ist, das deine Wand geschätzt 10m Lang ist.


    Wenn du hierfür eine 1024px*1024px Textur verwendest würde das bedeuten das du für 1m gerade mal 100pixel verwendest.


    Oder anderst formulierst: Du streckst du deine 1024 Pixel auf eine 10 meter Hauswand.


    Logisch das dies unscharf aussieht.


    Du hast 2 Möglichkeiten das Problem zu lösen entweder du nutzt seamless Texturen und Kachelst deine Wand.


    oder


    du baust kleine Wandelemente, worauf du deine Textur mappst.



    Nehmen wir an du hast ne 1024*1024 Pixel Textur die auf eine 1m Breite und 2 m hohe Wand drauf soll.


    In der Breite nimmt deine Wand 1024 Pixel ein was definitv nicht unscharf ist. Aber in der Höhe wird deine Textur auf das doppelte gestretcht.


    Deswegen muss sich deine Textur in der Höhe wiederholen.


    Nun willst du aber keine Wand die nur 2 m Breit sondern 10m breit dann musst du dein Wand element 5 mal nebeneinander kopieren damit du eine Schöne Wand bekommst.


    Cinema4D oder die Unreal Egine wiederholt deine Textur 5 mal in x Richtung.
    Und damit man keine Seams erkennt brauchst du Tileable texturen Texturen.


    Das hier sind nicht Tileable Textures an den Ränder erkennst du deutlich die Seams:
    [Blockierte Grafik: http://www.earthenrecords.com/bumpmaptut/badtile.jpg]


    diese ist Tileable:
    [Blockierte Grafik: http://www.earthenrecords.com/bumpmaptut/finished.jpg]


    UV-Mapping bedeutet auch X und Y ! XYMapping wenn du so willst :)


    Deswegen kannst du in Cinema 4D festlegen das sich deine Textur entweder in U Richtung oder v Richtung oder beides wiederholt.

  • Ergänzende Bemerkung am Rande:
    X, Y und Z beschreiben die Achsen im Raum des 3D Programmes und die sind unveränderlich.
    Die lokalen Koordinaten auf einem Objekt drehen sich aber mit dem Objekt, wenn man es dreht, kippt oder neigt.
    Um der Eindeutigkeit willen nennt man diese dann U, V und W.
    Da wir alle faul sind kürzen wir im Sprachgebrauch ab und reden von UV-Koordinaten, UV-Mapping usw.
    Insbesondere, da das W nur bei wenigen, prozdeduralen Materialtypen vorkommt.
    Bei Texturen gibt es natürlich nur zwei Richtungen - Höhe und Breite.

  • Sobald man näher kommt wird sie unscharf


    Wie schon vorher gesagt wurde, liegt das an dem Bild selbst. Einfach mal um dein Verständnis zu erhöhen: Öffne doch mal deine Textur in einem Bildbearbeitungsprogramm wie zb. Gimp oder Photoshop und zoome immer weiter und immer weiter hinein. Was siehst du? Genau das gleiche passiert wenn du nahe an deine Wand ran kommst. So, wie kann man das jetzt aber machen dass das immer noch scharf ist wenn du nahe an der Wand bist? Du musst die Auflösung des Bildes erhöhen!


    So, jetzt stellt sich aber das Problem, dass du riesige Texturen bekommst, um den Detailgrad zu erreichen, den du haben willst. Deswegen nutzt du eine tileable textur auf deiner Hauswand. Die Auflösung kann klein sein, zum Beispiel 1024x1024. Aber dadurch das diese Texturen unendlich nahtlos aneinander gesetzt werden können, kannst du im Shading (Material) oder sogar bereits schon beim erstellen einer Textur (je nach Vorliebe) das Tiling so einstellen, dass das ganze von nahe auch noch gut aussieht.


    Wenn wir uns jetzt weiter an einer Wand befinden, will ich nochmal Werbung für Displacement&Tessellation machen, denn dadurch steigert man den Detailgrad und die Qualität von so einem Mauerwerk extrem finde ich.


    Die kleinen Wandelemente zu bauen kenne ich ja schon das ist ja dann wieder so ein Ding die so hinzu richten nebeneinander das man nicht sieht das es einzlene elemte sind es sei den es gibt in UE da ne Clibbing Fuktion


    Die UnrealEngine hat auch ein Snipping-Tool natürlich, mit dem du zum Beispiel Wandstücke nahtlos auf Vertice genau zusammensnappen kannst. Deine Wandstücke müssen natürlich aufeinander abgestimmt sein, aber das kann man ja im 3D Programm gut anpassen. Mein Haus will ich zum Beispiel auch aus mehreren Objekten zusammen snappen :) Kommt natürlich auch immer auf den Detailgrad an, ein Haus im Hintergrund zum Beispiel sieht man jetzt auch nicht von nahe und da brauch man dann auch nicht so tolle Auflösungen.


    Gruss
    Tio