1 registered members (AndrewAMD),
1,014
guests, and 1
spider. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Z-Buffer Fehler bei Modellen?
#41089
02/14/05 22:39
02/14/05 22:39
|
Joined: Feb 2005
Posts: 10 Graz, Austria
RahDick
OP
Newbie
|
OP
Newbie
Joined: Feb 2005
Posts: 10
Graz, Austria
|
Hallo, Ich versuche gerade, Modelle aus 3dsmax in dem MED zu importieren. Klappt auch alles wunderbar - außer in speziellen Fällen: Bei vielen Modellen, die eine komplexe UV-Map enthalten, werden komischerweise die Polygone von hinten nach vorne in der falschen Reihenfolge gerendert! Ich habe bereits mehrfach geprüft, ob die Oberflächennormalen korrekt sind. Daraufhin habe ich das Update auf A6 6.31.4 Pro aufgespielt, aber dort ist's derselbe Fehler. Das Kuriose: Wenn ich statt einer "Unwrap"-UV-Map nur simples Box-Mapping über mein Objekt lege, funktioniert alles! So sieht's aus: Das ist die dazugehörige UV-Map: Und so sieht's mit Box-Mapping (und einer grünen Test-Textur) aus: Was ist das!?
|
|
|
Re: Z-Buffer Fehler bei Modellen?
[Re: RahDick]
#41090
02/14/05 23:05
02/14/05 23:05
|
Joined: Dec 2002
Posts: 3,363 Vindobona (Ostarichi)
Harry Potter
Expert
|
Expert
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
|
WO genau hast Du denn geprüft, ob die Oberflächennormalen korrekt ausgerichtet sind? Hast Du es im MED überprüft, oder in MAX?
Weil das MaxToMdl-Export-Plugin hat nämlich einen Fehler, bei dem manchmal die Ausrichtung der Normalen falsch exportiert wird. Und zwar tritt dies genau dann auf, wenn in Max ein Model GESPIEGELT wird (oder GEKLONT und dabei gespiegelt). In Max sieht es dann korrekt aus, im MED sind dann allerdings die Normalen falsch herum ausgerichtet.
Daher folgender Tipp: - am besten ein Objekt in Max gar nicht spiegeln. Das macht nur Probleme.
- und wenn man dennoch spiegeln muss, sollte man vor dem Exportieren das Model in Max in ein "bearbeitbares Netz" konvertieren. Und mit "Netz bearbeiten" (EditMesh) sollte man dieses gespiegelte Objekt zu einem anderen Objekt, welches NICHT gespiegelt wurde, dazuhängen. Danach dürfte es beim Export keine Probleme geben.
Eine andere Ursache für falsch überlagerte Polygone kann natürlich auch eine TGA-Skin sein. Weil dann werden die Polygone von der Engine nicht sortiert, sondern sie werden in der Reihenfolge ihrer Erstellung gerendert. Aber Dein Problem sieht mir eher nach "falsch ausgerichteten Normalen" aus.
|
|
|
Re: Z-Buffer Fehler bei Modellen?
[Re: Harry Potter]
#41091
02/14/05 23:26
02/14/05 23:26
|
Joined: Feb 2005
Posts: 10 Graz, Austria
RahDick
OP
Newbie
|
OP
Newbie
Joined: Feb 2005
Posts: 10
Graz, Austria
|
Also gut, Problem gelöst!
Es waren NICHT die Normalen - es war die TGA-Textur. Vielen Dank für die promte Antwort!
Allerdings finde ich es reichlich unlogisch, dass die Z-Draw Reihenfolge der Polygone geändert wird, wenn eine TGA-Textur verwendet wird - ich kenne keine andere 3D-Engine, die soetwas tut, deshalb bin ich garnicht erst auf die Idee gekommen, die Textur in BMP umzuwandeln.
Die grüne Test-Textur auf dem anderen Torusknoten war nämlich von Anfang an ein BMP... Aber wie gesagt, auf sowas muss man erstmal kommen!
Danke nochmal
Last edited by RahDick; 02/14/05 23:29.
|
|
|
Re: Z-Buffer Fehler bei Modellen?
[Re: RahDick]
#41093
02/15/05 03:52
02/15/05 03:52
|
Joined: Dec 2002
Posts: 3,363 Vindobona (Ostarichi)
Harry Potter
Expert
|
Expert
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
|
In Antwort auf:
Allerdings finde ich es reichlich unlogisch, dass die Z-Draw Reihenfolge der Polygone geändert wird, wenn eine TGA-Textur verwendet wird
Naja, vereinfacht erklärt: Zum korrekten Sortieren von Polygonen wird von der Engine der Z-Buffer verwendet. Allerdings kann dieser Z-Buffer bei TGA-Texturen nicht verwendet werden, weil TGA-Texturen TEILWEISE transparent sein können (also nicht nur 100% und 0% Transparenz, sondern es kann ja auch Zwischenwerte geben).
Und Z-Buffer kann man nur dann verwenden, wenn etwas entweder 100% transparent ist, oder 100% nicht transparent ist. Bei Bitmaps mit OVERLAY kann daher die Engine die Z-Buffer-Logik verwenden. Aber bei den alphatransparenten TGA-Texturen ist das nicht möglich, und daher werden solche Models von der Engine "anders" gerendert bzw. sortiert. Das heißt: innerhalb der Models werden die Polygone GAR NICHT sortiert, und die Models selbst werden untereinander anhand ihres Model-Mittelpunktes sortiert.
Soviel ich weiß, gibt es keine einzige Engine, die "echte" Alphatransparenz korrekt sortieren kann. Das wäre nämlich viel zu rechenintensiv, und die Framerate wäre katastrophal. Aber mit ein paar Tricks kann man dieses Problem in vielen Fällen umgehen (man muss z.B. beim Designen der Models in Max schon auf die Sortierung der einzelnen Polygone achten - ist sehr mühsam, aber möglich).
|
|
|
Re: Z-Buffer Fehler bei Modellen?
[Re: mk_1]
#41095
02/15/05 22:48
02/15/05 22:48
|
Joined: Dec 2002
Posts: 3,363 Vindobona (Ostarichi)
Harry Potter
Expert
|
Expert
Joined: Dec 2002
Posts: 3,363
Vindobona (Ostarichi)
|
In Antwort auf:
Bei einem Torusknoten wird dir aber auch dieser Trick nicht helfen.
Da hast Du recht. Diese "Tricks" funktionieren eben leider nur in manchen Fällen. Bei so komplexen Figuren wie einem Torusknoten sollte man am besten die Finger von TGA-Skins lassen.
|
|
|
Re: Z-Buffer Fehler bei Modellen?
[Re: Harry Potter]
#41096
02/24/05 17:44
02/24/05 17:44
|
Joined: Feb 2005
Posts: 10 Graz, Austria
RahDick
OP
Newbie
|
OP
Newbie
Joined: Feb 2005
Posts: 10
Graz, Austria
|
In Antwort auf:
Soviel ich weiß, gibt es keine einzige Engine, die "echte" Alphatransparenz korrekt sortieren kann. Das wäre nämlich viel zu rechenintensiv, und die Framerate wäre katastrophal. Aber mit ein paar Tricks kann man dieses Problem in vielen Fällen umgehen (man muss z.B. beim Designen der Models in Max schon auf die Sortierung der einzelnen Polygone achten - ist sehr mühsam, aber möglich).
Soso... Hier mal zwei Screenshots aus der Unreal Engine... So sieht's im Editor aus:
Und so im Spiel:
Und beides läuft sehr flüssig.
|
|
|
|