Results 1 to 5 of 5

Thread: Texturierung / UV-Koordinaten

  1. #1
    Principal
    Join Date
    Apr 2010
    Posts
    45
    Thanks
    3
    Thanked 3 Times in 3 Posts

    Texturierung / UV-Koordinaten

    Hi,
    ich erzeuge mir meine Welt aus einer txt datei heraus (ähnlich einer heightmap, allerdings nur mit quadratischen blöcken)
    bis jetzt habe ich nur Seitenwände gezeichnet. Ich hatte also zum beispiel eine Wand mit höhe und breite 4 -> 4 quadrate aus je 2 dreiecken.
    die Textur wird einfach immer wieder auf jedes Quadrat gelegt und es schaut recht hübsch aus.

    Jetzt wollte ich zu den Wänden auch noch einen Boden in mein Mesh speichern. Daher habe ich meine Wand-textur mit meiner Boden-textur zusammengeschnitten.
    In folge wird aber meine Wand nicht mehr durchgehend gezeichnet. Bis jetzt hat man keinen Übergang gesehen... jetzt sieht man so zusagen die Fugen.

    Habe schon ein bischen herumgespielt man Nachkommastellen bei den uv-koordinaten.. es wird aber einfach nicht sauber.

    meine Textur ist im .dds format und eine 2er potenz.

    Ich hoffe mein Problem ist klar. Gibt es dafür eine Lösung? oder muss ich ein extre Mesh für boden und für wände machen und extra zeichnen?

    grüße

  2. #2
    Baccalaureus
    Join Date
    Jan 2007
    Posts
    541
    Thanks
    0
    Thanked 48 Times in 40 Posts
    Ist das problem wie du deine textur filterst, bei nearest sollte man denke ich keine-weniger seams sehen (jedoch werden die texturen dann pixeliger). Du könntest etwas platz zwischen den unterschiedlichen flächen (in der textur) lassen - entweder im file oder die texturcoordinaten leicht nach innen verschieben. Alternativ kann es auch mit dem TEXTURE_WRAP wert zusammenhängen.

    Oft ist es beim texturieren meist schon hübscher wenn die textur über die kante verläuft, vor allem bei low-poly modellen. (Vgl der minecraft gras zu dirt übergang.) Kommt ein wenig darauf an was dir wichtig ist. Perfekt seamless, oder ob texture seams ok sind.

    Alternativ könntest du auch einen multitexturing ansatz überlegen und zwischen unterschiedlichen texturen interpolieren.
    Matthias
    CGUE, Vis2, Infovis Tutor

  3. #3
    Baccalaureus mOfl's Avatar
    Join Date
    Oct 2007
    Posts
    518
    Thanks
    12
    Thanked 98 Times in 84 Posts
    Ich verstehe nicht ganz, was du jetzt gemacht hast - hast du einen Texturatlas gemacht, der sowohl Wand- als auch Bodentextur in der gleichen Datei beinhaltet? Wenn ja, hast du das Problem dann noch, wenn du als Minification Filter für die Textur Nearest Neighbor verwendest? Bei Texturatlanten musst du beachten, dass die Texturfilterung ein bisschen komplizierter wird, weil du bei bilinearer Interpolation am Rand einer Teiltextur zusätzliche Samples brauchst - am tatsächlichen Texturrand kann man das über Textur-Hints bestimmen, z.B. Clamp to edge, aber innerhalb der Textur selbst musst du selbst für die zusätzlichen Pixel am Rand von Teiltexturen sorgen, z.B. durch Spiegelung des Randes nach außen oder Copy-Paste des gegenüberliegenden Randes, wenn die Teiltextur kachelbar ist.
    Kannst du denn über die Farbe der Fugen bestimmen, woher die Artefakte kommen? Also ist es die Hintergrundfarbe des Texturatlas oder sind es Farben der jeweils anderen Textur? Das würde ich mal überprüfen.
    Former ECG & CGUE Tutor

  4. #4
    Principal
    Join Date
    Apr 2010
    Posts
    45
    Thanks
    3
    Thanked 3 Times in 3 Posts
    danke für die schnelle antwort.
    ich habe echt schon lange herumprobiert was das problem ist... an die filterung hab ich natürlich nicht gedacht. (daran liegt es natürlich auch )
    mein weiteres Vorgehen werde ich mir noch überlegen.

  5. #5
    Elite
    Join Date
    Mar 2007
    Posts
    458
    Thanks
    12
    Thanked 53 Times in 50 Posts
    wenn man mit blender Texturen bäckt, kann man einstellen wieviel "Rand" (margin) dazugegeben wird um eben genau diese Filtering-Artefakte zu vermeiden. Wenn man die Texturen selbst anlegt, kann man diesen Margin selbst dazubasteln. In der Textur sollten polys, die keine gemeinsame Kante haben nicht direkt zusammenstehen. Beim Filtering wird über solche Kanten einfach drübergefiltert, und damit hast du dann bleeding. Die größe des "Sicherheitsabstand" hängt von vom Mesh, der Szene und der Textur ab. Mehr ist immer besser, aber damit verschenkst du auch wichtige Auflösung in deiner Textur.

    und noch allgemein: Ein screenshot sagt mehr als Tausend Worte und macht das Fehler finden einfacher

    lg, Simon
    Simon Wallner
    CGUE, EVC Tutor, former RTR, ECG, CG1, CG2, TIL Tutor

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •