Cubes durch Bildfehler getrennt

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

funkmaster5000

Betreff: Cubes durch Bildfehler getrennt

BeitragMi, Okt 16, 2013 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich 2 Cubes nebeneinander setze und ein wenig entfernt bin, sind sie durch eine schwarze Linie/Bildfehler scharf begrenzt. Das erweckt nicht gerade den Eindruck einer durchgehenden Wand Sad

Hat jemand eine Idee? Es wurde schon auf Rundungsfehler von Float-Positionsvariablen getippt, aber vielleicht hat ja jemand eine andere Lösung? Danke!

Hier mal ein Screenshot:
https://www.blitzforum.de/upload/file.php?id=12602

Und von der Seite:
https://www.blitzforum.de/upload/file.php?id=12603

Und höher Aufgelöst. Da ist es etwas subtiler, aber trotzdem vorhanden!
https://www.blitzforum.de/upload/file.php?id=12604
 

PhillipK

BeitragMi, Okt 16, 2013 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
EDIT: Ack, grade erst den anderen thread gefunden.
Sieht so aus, als wäre dein problem dort anderweitig gelöst worden? Scheinbar eine near/farplane sache ^^

---------------

Ich tippe auch mal drauf, das dies durch rundungsfehler beim rastern der flächen entsteht.
Was du versuchen könntest, wäre die blöcke minimal größer zu machen, als sie eigentlich sein sollen.
Mit minimal meine ich zb: Ein cube geht von -0.5 bis +0.5 (eine einheit in der breite ). Das änderst du auf -0.50001 bis +0.50001 und veränderst schrittweise das ganze solange, bis man weder einen fehler beim nah-dransein sieht, noch beim entfernten gucken.

Vielleicht gibt es noch "bessere" lösungen, aber das wäre auf jedenfall eine mögliche.

Warum wird das funktionieren?

Die blöcke haben eine gewisse gewisse anzahl eckpunkte im raum, welche durch "Faces" verbunden sind.
Im renderprozess wird die bildposition durch die matrix errechnet und das ganze in einem raster (-> bildpunkte) dargestellt. Wenn hierbei aufgrund von float ungenauigkeit die position minimal verschoben wird, kann dieser ein pixel breite fehler entstehen.
Lösung: Man verschiebt die koordinate so subtil in die entsprechende richtung, das der fehler niewieder auftreten kann, höchstens in die andere richtung (dann überlappen sich evtl je 1 pixel des linken und 1 pixel des rechten blocks. In extremen ausnahmefällen kann hier ein anderer fehler auftreten -> Z fighting. Flimmern beim bewegen)
Deswegen: Koordinate einfach mal minimal verschieben, bis alles passt.

DAK

BeitragMi, Okt 16, 2013 23:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man das macht, kann es aber auch passieren, dass die beiden Blöcke ineinander geraten, so dass dann ein Teil des Ganzen überlappt, was wieder zu grauslichen Bildfehlern führt. Wenn man das also macht, dann bitte auch in die Richtung der anderen Achse der Ebene verschieben (also wenn man einen Block z.B. auf der X-Achse verschiebt, dann auch ein Wenig auf der Z-Achse verschieben).

Man kann auch gleich hingehen, und jeden 2. Block auf 1.00001,1.00001,1.00001 skalieren.
Gewinner der 6. und der 68. BlitzCodeCompo

AnniXa

BeitragDo, Okt 17, 2013 12:54
Antworten mit Zitat
Benutzer-Profile anzeigen
so wie es aussieht würde ich drauf tippen das es an der textur liegt.

das sieht man daran das der rand vom schwarzen strich "weich" gezeichnet ist und keine harte kannte.

es scheint als ob die uv map nicht ganz perfekt ist, würde ich zumindest vermuten, oder aber das sie durch ungenaue rechnung halt diesen effekt verursacht.

versuch mal ob du die uv coords so anpassen kannst das sie ein kleinses bissel weiter "in der textur" sind, oder alternativ sofern das geht bei b3d, einen anderen imagefilter versuchst
testen kannst du es kurz evtl indem du deine textur überall wo sie schwarz ist rosa einfärbst, wenn dann der schwarze strich rosa ist hast du gewissheit das es die rextur ist


edit:
bei dem ganzen gehe ich davon aus das du mehrere cube texturen auf einer grafik zusammengekegt hast und diese mit uv coordinaten den cubes zuweist

es reicht den bereich links und rechts von deinem holz cube bereich umzufärben zum testen, evtl beide seiten verschieden, dann siehst du auch gleich ob und auf welcher seite das uv problem ist.

wenn deine holz textur am linken rand deines textur images ist, also bei 0,0 anfängt, dann ist das schwarze das wir sehen vermutlich der recht rand des images.
in dem fall hilft nur stat 0,0 so etwas wie 0,00125 oder sowas zu nehmen, jeh nach textur auflösung.
|moonForge|
Ich bin Pokémon Meisterin seit 1998!
  • Zuletzt bearbeitet von AnniXa am Do, Okt 17, 2013 13:27, insgesamt einmal bearbeitet

Jan_

Ehemaliger Admin

BeitragDo, Okt 17, 2013 13:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Solche Probleme hatte ich bei einen ungünstigen Camerarange.

z.B. 0.01 , 1000
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group