Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
27.03.2002, 14:38
Mieswicht



ich hab mir ein programm geschrieben, welches mir aus einer .dxf-Datei die ebenen rausliest und dann in .map umwandelt. ja wenns gehen würde...

Beide Formate sind ja recht einfach im Notepad zu erstellen, folglich ist es ja nur ne "Umformatierung". Das heißt wenn ich in .dxf die punkte A, B und C einer Ebene rauslies, dann schreibt es mir in die .map datei ein tetraeder mit einem neuen punkt N : sieht dann im Editor ca. so aus:
{
( A ) ( B ) ( C ) tex
( B ) ( A ) ( N ) tex
( B ) ( N ) ( C ) tex
( C ) ( F ) ( A ) tex
}

tex ist der übliche texturname samt anordnung.

nun sollte man annehmen, daß das problemlos gelesen werden könnte, aber würde ich dann hier schreiben?
Ich bringe nun mal ein Beispiel:
{
( 18 4 -13 ) ( 18 0 -13 ) ( 21 4 -11 )
( -17 0 17 ) ( 18 0 -13 ) ( 18 4 -13 )
( 21 4 -11 ) ( 18 0 -13 ) ( -17 0 17 )
( -17 0 17 ) ( 18 4 -13 ) ( 21 4 -11 )
}

Dieses Tetraeder hab ich in WC erstellt, möglichst krank verdreht und in .map exportiert. (.map header und texturkoordinaten wurden weggelassen) Wc kann es öffnen und lesen.

{
( -20 0 6 ) ( -21 0 13 ) ( -5 11 12 )
( -21 0 13 ) ( -20 0 6 ) ( 0 0 0 )
( -21 0 13 ) ( 0 0 0 ) ( -5 11 12 )
( -5 11 12 ) ( 0 0 0 ) ( -20 0 6 )
}

Dieses Tetraeder hat mein programm erschaffen und in ein .map-file (natürlich mitsamt .map-header und tex-koords) gespeichert. Das will WC nicht lesen, sondern sagt mir das 1 solid fehlerhaft ist. Muß man die Ebenen in einer genauen sequenz ausgeben? Oder die Punkte in den Ebenen?
Wenn wer von euch ne Idee hat, dann werde ich euch sehr verbunden sein.

Mieswicht

--

zum Seitenanfang zum Seitenende Profil || Suche
001
27.03.2002, 19:11
King2500



.map is im ASCII format jo. aber is das .dxf format nich binär? ach ne das is ja .rmf

.dxf sind doch dateien für CAD soweit ich weiß....

--

Webmaster @ Half-Life Portal

zum Seitenanfang zum Seitenende Profil || Suche
002
27.03.2002, 21:01
Mieswicht



Ich denke ich habs inzwischen schon selber gelöst:
Jeder der schon mal Milkshape gemodelt hat wird es verstehen. Die Sache ist folgende: Bei einem Dreieck kann man die Punkte entweder rechtsherum sequenzieren, d.h. ABC oder linksherum das heißt ACB. So ich hab mal ausprobiert bei erwähnten legalem file die Punkte auszutauschen und siehe da: es kommt müll heraus, wieder zurück und es geht. Schlußfolgerung die Punkte müssen alle rechtsherum angegeben werden (bei MS ist es linksherum, das verstehe nun wer will. Verschwörungstheorie: Nur so kann die Engine zwischen model und brush unterscheiden :P).
Ich hoffe, daß es jetzt funzt. Ansonsten.... :(

Mieswicht
Ahhh, nein linksherum. *Verschwörungstheorie-cancel* Die Seite der Fläche auf die ich draufschaue muß linksherum angegeben sein.

--


Dieser Beitrag wurde am 27.03.2002 um 21:09 von Mieswicht bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
27.03.2002, 22:37
Kriz



Mieswicht, das hätte ich dir auch so sagen können, daß OpenGL- und DirectX Engines immer rechtsherum die Vertices abarbeiten =) Läßt man sie linksherum abarbeiten, kommen die Backfaces zum Vorschein, d.h. man sieht nichts vom Polygon.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
004
29.03.2002, 15:57
Mieswicht



jo, ich weiß eh, aber bis ich an dem Problem angekommen bin, hab ich schon hunderte andere lösen müssen, da ist mir es, verzeiht mir da draussen, nicht sofort eingefallen.
Aber ich frag mich grade, wie man dem Programm sagen soll, daß er den nächsten Vektor gegen den Uhrzeigersinn angeben soll. Irgendne Idee wer?

--

zum Seitenanfang zum Seitenende Profil || Suche