Wie kann ich annähernd fotorealistische Qualität erreichen?

  • Hallo,
    ich muss leider sagen, dass ich mich mit sowas überhaupt nicht auskenne.
    Angenommen ich möchte, dass mein Boden in etwa so aussieht, wie hier auf dem Bild: https://www.flyaway-service.de…s/2015/11/P2_3449_bea.jpg

    Dabei soll der Boden dieselbe Grundfarbe haben, wie dort zu sehen ist (also cementartig, wie man ihn eben aus der Tiefgarage kennt), auch mit Schmutz etc.
    Wenn ich mir nen Textur aus dem Internet raussuche und sie auf mein Model ziehe (nur die Textur), dann sieht das ganze wie ein riesiger Pixelbrei aus.


    Was muss ich denn tun, damit das einigermaßen nach Cement/Tiefgaragen Boden mit Schmutz aussieht.
    Außerdem wiederholt sich immer dasselbe Muster nach einer Weile, wenn ich meine Bodenstücke aneinandersnappe. (Was klar ist. Wie löse ich das am besten?)
    Mit PBR bin ich bestens vertraut, jedenfalls mit der Theorie und der Mathematik. (Auch kann ich den Schmutz dann mit Vertex Painting draufmalen). Also mir gehts nur um die Albedo Textur.


    Ich hoffe jemand von den Künstlern kann mir da helfen ;)

  • Wichtig ist, dass so eine Textur am besten möglichst neutral ist, spricht keine sehr auffälligen Bildteile darin hat, die beim Kacheln sofort ins Auge springen. Ganz einfach ausgedrückt wie wenn du eine weiße Textur mit einem schwarzen Punk darin hättest, da fällt die Wiederholung natürlich sofort ins Auge. Da muss man bei freien Texturen im Internet, die man kostenlos nutzen kann, oftmals nacharbeiten.


    Und bei deinem Beispielbild spiegelt sich vor allem das Licht unterschiedlich, also muss da nicht die eigentliche Material Textur entsprechend aussehen sondern die Specular Map, die hat dann einfach helle (spiegelt stark) und dunkle (fast matt) Graustufen und muss da auch nicht so hoch aufgelöst sein wie die eigentliche Material Textur, so das eine solche Kachel deutlich größer sein kann und die Wiederholung dadurch noch weniger auffällt.


    Das ist jedenfalls was mir so spontan dazu einfällt. Allerdings hab ich auch noch nie mit Vertex Painting gearbeitet und weiß daher nicht was damit überhaupt möglich ist. ;)


    Damit die Zement Textur nicht matschig aussieht muss sie halt eine entsprechende Auflösung haben. 4096x4096 sind da für Bodentexturen heute eigentlich schon Standard. Dann sollte das auch gut aussehen.

  • Okay danke. Ich hab schon was gutes erreicht mit, der Boden reflektiert jetzt dank Roughness mal stärker mal schwächer. Nur fehlt noch irgendetwas. Wie soll die Normalmap aussehen? Und wo finde ich 4k Texturen die kostenlos sind? Ich hab gesehen, dass Sleepy etwas gepostet hat, sind aber alles low res. Ich glaub ich muss selber welche machen oder?

    • Offizieller Beitrag

    Welchen Post meinst du den genau ?


    Ich sage gern ein paar dinge dazu:


    1. Es gibt unterschiedliche Möglichkeiten realistische Texturen zu erstellen zb: komplett selber welche machen, zum teil fertige Texturen zu verwenden von cgtexture etc
    2.Gerade Anfänger laden sich gerne Texturen von cgtextur runter wandeln diese in eine Normal um und verwenden in Ihrem game.
    3. Für jede Textur sind IMMER anpassungen nötig. Wer zb für eine Szene verschiedene Holz Materialien verwendet muss die Helligkeit der unterschiedlichen Hölzer anpassen.


    Thema Auflösung:


    1.Für eine Wand muss nicht zwangläufig eine 4k Textur in eurem Game sein.
    2.Überleg dir mal wie eine Wand Textur von CG Textur entstanden ist: Der Fotograf stellt sich in 1m Meter entfernung und Fotografiert vielleicht einen 1 * 1 m großen Bereich.


    Das hier sind vielleicht 30 *30 cm:


    Wenn ihr diese Holztextur kachelt wird das ziemlich bescheiden aussehen da man die Wiederholung auf jedenfall erkennen würde.


    3.Was Ihr also braucht ist eine Textur mit einer möglichst hohen Auflösung als Grundlage dann aber bitte nicht ne 864* 869 px Textur auf 4k hochskalieren sondern eher eine 4920*3644 erstmal zu einer Power of Two Textur machen und dann runterskalieren (Niemals hochskalieren)


    4.Das richtig Texturformat wählen zb Tga oder PNG. JPG Kombrimiert immer und das kostet Qualität.


    5.Du braucht als Input eine möglichst große Textur die ihr dann runterskaliert und bitte dann nicht in Photoshop mit Strg + T einfach kleiner skalieren oder skalieren immer als Vector (Smart Objekt)




    Eine andere Möglichkeit ist es Texturen zu kombinieren. verwende zb eine Textur mit einer Holzmasserung benutze Levels um aus der HolzTextur die Masserung herraus zu extrahieren.



    Achtung auch hier das sind vielleicht 20 * 15 cm


    Beispiel:


    Eine Textur könnte zb so aufgebaut sein:


    1.Holz Textur mit sehr hoher Auflösung zb 4096 *4096 (Kachelbar machen)
    2.Diese Textur Skalierst du via Smart Objekt auf 512 * 512 px runter = 50 * 50cm
    3.Diese 512 * 512 px Textur kachelst du nun so das du eine 4k Textur erhälst. (Deine Textur wiederholt sich du kannst nun etwas in PS rumpinseln so das man keine Wiederholungen mehr erkennt.
    4.Über die 4k Textur legst du nun einen Dirt Layer der die komplette 4k Textur abdeckt.
    5.Nun Skalierst du die gesamte 4k Textur wieder auf 2k runter.


    Du hast kein einziges mal nach oben Skaliert du hast nur gekachelt und nach unten skaliert so hast du keine qualitäts Verluste.


    siehe auch:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Du kannst dir auch mal das anschauen da hab ich im Prinzip das selbe gemacht:


    Materials & Smart Materials selber erstellen

  • Natürlich kannst du dich wieder melden, dafür sind wir hier doch alle da.


    Und ich kann mich dem nur anschließen: niemals, wirklich absolut niemals, Grafiken hoch skalieren. Das sieht nie gut aus und das ist auch leicht zu erklären: Beim hoch skalieren müssen die zusätzlich dazukommenden Pixel berechnet werden, anhander der vorhandenen Pixel drumherum, das fügt aber niemals Details dazu, woher sollen die auch plötzlich kommen, sondern sorgt immer für Unschärfe oder pixelige Texturen.


    Verkleinern ist wiederum das genaue Gegenteil. Es gehen zwar Pixel und damit Details verloren, aber es stehen mehr Bilddetails zur Verfügung um das Bild best möglich verkleinern zu können ohne das Qualität verloren geht. Je nach Verkleinerungs Routine kann ein größeres leicht unscharfes Bild verkleinert und schärfer gemacht werden und sogar somit an Qualität gewinnen. Darum setzen Spieler auch so gerne auf SuperSampling bzw. Downsampling, das Spiel wird in einer höheren Auflösung gerendert und dann auf native Bildschirm Auflösung verkleinert. Ergibt ein richtig schönes ruhigeres Bild mit einer 1A Kantenglättung.


    Und genau darum sollte man seine Texturen immer lieber zu groß als zu klein machen. Die UE4 kann dann direkt beim importieren der Textur selbst diese verkleinern und erstellt dann auch direkt die verkleinerte Textur im eigenen UE4 Bild Format. Wenn du also eine 4096x4096 Textur erstellst, diese aber als 2048x2048 importierst, weil du in deinem Projekt nicht mehr brauchst, dann ist die Textur im finalen Projekt auch nur 2048x2048 groß. Du hast aber immer für den Fall der Fälle die 4096x4096 Textur, falls du z.B. später merkst, dass dein Projekt so flüssig läuft, dass du den Detailgrad der Texturen hoch setzen kannst. Würdest du die Textur direkt dann in 2048x2048 machen, hättest du ein Problem, denn dann musst du die Textur komplett neu für 4096x4096 machen. Denn wie gesagt: hochskalieren? Niemals!


    Auch hat das runterskalieren einen schönen Nebeneffekt, wenn man Texturen von Hand erstellt: kleine Ungenauigkeiten gehen beim runterskalieren verloren und sieht man dann nicht mehr. Ich gehe sogar teilweise absichtlich hin und vergrößere eine Textur auf 16kx16k, zeichne dann manuell etwas rein, was dann oft nicht sehr genau ist und nach dem runterskalieren zurück auf 4096x4096 sieht das sehr sauber aus. Das kann man auch machen falls man wirklich mal eine einfache Textur hat, die aber eine zu geringe Auflösung hat, groß skalieren, von Hand nachzeichnen und wieder runter skalieren. Vielleicht mach ich dazu mal ein Tut. ^^