Hast du auch schon immer gedacht, dass die Welt doch nicht so rund ist, wie sie zu sein scheint? Hattest du jeher das Gefühl, dass die Kreiszahl eher quadratisch sein müsste?
Dann bist du genau hier richtig! Blockforum ist die neue Minecraft-Community. Werde Mitglied und teile mit uns Deine Leidenschaft. Wir freuen uns auf dich!

Der Zugriff auf das Forum ist für Gäste eingeschränkt, als registrierter Benutzer würden Dir alle Funktionen (wie z.B. Bildvergrößerung und Downloads) im Forum zur Verfügung stehen.

3D Modell - Textur-Flimmern vermeiden

    • Tipp

      3D Modell - Textur-Flimmern vermeiden

      Manchmal ist es nötig einzelne Elemente innerhalb eines Blocks zu rotieren, die aber exakt an andere Elenemte anschließen sollen. (z.B. Kurvenschiene)
      In Minecraft ist es nicht möglich Abschrägungen (Winkel) innerhalb eines Elements zu erzeugen. Damit geht das rotierente Element zum Teil in das anschließenden Element.

      Modellansicht


      Ist an sich kein Problem, nur bei der Textur kommt es dann zu einem Textur-Flimmern.

      Textur-Flimmern bei roter Markierung
      Sobald Elemente exakt die gleiche Höhe haben und diese durch Rotation ineinander übergehen, entsteht genau dieses Problem. Beim Rendern weiß Minecraft nun nicht welches Element vollständig gerendert werden soll und welches Element einen nicht sichtbaren Teil besitzt. Dafür gibt es keinen Wert den man in die Mesh-Datei eintragen könnte. Da beide Elemente die gleiche Höhe haben, kann sich Minecraft nicht entscheiden, welches es nun vollständig darstellen soll. Damit kommt es zu einem Textur-Flimmern.

      Mit einem kleinen Trick lässt sich aber ein solches Textur-Flimmern vermeiden. :)


      Nach Änderung der Höhenwertes
      Bei der Abb. "Modellansicht" haben beide Elemente exakt die gleiche Höhe. Das lila Element geht in das grüne Element.
      Für das lila Element steht in der Mesh-Datei bei der Elementbeschreibung "to": [ 12.5625, 2, 15.25 ], der y-Wert ist 2, dies ist die Endhöhe des Elements. Auch bei dem grünen Element ist der y-Wert = 2.

      Nun wird für das lila Element dieser Wert ein kitzekleines bischen verkleinert, z.B. auf 1.999.
      "to": [ 12.5625, 1.999, 15.25 ],

      Die Verkleinerung ist so gering, dass sie im Spiel nicht sichtbar ist. Aber nun kann Minecraft auch richtig entscheiden welche Textur oben liegt.


      Effekt: kein Textur-Flimmern mehr. :)

      Weiterführende externe Infos dazu:
      Wiki (en) Z-fighting
      Wiki (de) Z-Buffer

    Du bist nicht angemeldet.
    Anmelden oder Registrieren