.| Autor | Beitrag |
|---|---|
|
000 01.10.2002, 23:33 the_viking |
Ich weiß nicht so genau, ob das hier hin gehört, aber es geht um die von WorldCraft erzeugten *.map Dateien. In dieser Datei ist ja ein HL-Level mitsamt der Entities (Lichter usw..) gespeichert. Nun hab ich ne eigene Engine geschrieben, kann aber keine Levels machen, so hab ich mir gedacht, ich benutze WorldCraft dafür. Aber diese *.map Files sehen auf dem ersten Blick logisch aufgebaut aus, aber auf dem zweiten sieht es schier unmöglich aus, daraus irgendwelche Triangle-Daten ( 3 Punkte: Va,Vb,Vc (x,y,z,u,v) und Textur) zu extrahieren! Kennt ihr irgenwelche programme, die diese Daten z.B. in das *.ase Format o.ä. umwandeln? Bitte helft mir, ich weis echt nicht weiter! Auch mit den QUtils Quellcodes (QBsp) kann ich nichts anfangen, weil Quake2 das ganze irgendwie in t_brush es abspeichert!? --thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) |
|
Profil || Suche |
|
001 02.10.2002, 14:06 theDon |
zhlt sind afaik opensource... --\o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
002 02.10.2002, 16:05 Hanfling |
mh ich weiß nicht ob es eine referenz zu dem format gibt... sonst... einfach mal simpel anfangen... dann überlegen wie es aufgebaut ist.... dann einfach nur eine betrachten erstmal: das erste sind irgendwie 3 punkte.... dann textur.... etc. nur das mit nur 3 punkten wundert mich.... irgendwie wird in den sachen hinter der texturangabe drin sein wie sich der 4. punkt definiert im bezug auf die anderen... errr... was schreib ich hier... mir fällt grad ein... es gab mal nen "mapping guide mit notepad" oso.... da war drin beschrieben wie man map's mit nem texteditor macht... vieleicht findest das mit googlen.. könnte sehr hilfreich sein weil da dann wahrscheinlich auch erklärt wird wie die sachen aufgebaut sind.... [EDIT] Nun ist deine Zeit gekommen sprach der Tod, stolperte und brach sich das Genick. :o Dieser Beitrag wurde am 02.10.2002 um 17:47 von Hanfling bearbeitet. |
|
Profil || Suche |
|
003 02.10.2002, 18:44 Diablo_bth |
das is einfacher als man denk! die drei Vektoren in einer Zeile: ergeben eine Ebene ( Mit dem Kreuzprodukt der Verbindgungsvektoren Normalenvektor aufstellen -> Vektorrechnung Oberstufe ) ein Würfel wird dann z.B. von 6 Ebenen umschlossen. So kann man beliebige (konvexe) dreidimansionale Objekte definieren. bei WC werden für die Texturdefinition jeweils die u/v-Axen angegeben. also hoffe das hilft dir ein wenig. noch was: für ne engine eignet sich dieses Format - sofern die Geometrie nich weiter bearbeitet wird - nicht wirklich für eine 3d-engine. Welche Art von Technolgie benutzt du denn? Octree, normal BSP oder was? -- |
|
Profil || Suche |
|
004 04.10.2002, 21:26 the_viking |
Ich benutz nen Octree und versuche gerade, irgendwie meinen Beamtree ans laufen zu bringen *g*. BSP muss ich mal gucken, ich hab k.A. wie man Rückwärts durch den Tree gehen soll... Kennt jemand Artikel o.ä. zum Thema Beamtrees?? Auf gamedev.net sowie flipcode hab ich nichts gefunden... Zu WC: Ich will ja erst mal nur Testmaps machen, Diablo_bth hat die Maps für seine Engine (90% Q2 Code??) auch mit WC gemacht. Ich würd ja den UnrealED (Für UT Normal) benutzen, aber die Files sehen noch kryptischer aus! /E: Wenn bei: die [ u1 u2 u3 ...] [ v1 v2 v3 ...], wieso wird dann einmal u1 und dann nich v1 sondern v2 benutzt?? Das ist mir unklar. Sind die Standart-Koordinaten für eine Plane ( Muss man die Planes irgendwie miteinander beschneiden, um Polygone rauszubekommen? Wenn ja, verwerfe ich das lieber oder diabolo_bth postet den Quellcode von seinen BSP Utillities) irgendwie 0,0? --thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) Dieser Beitrag wurde am 04.10.2002 um 21:32 von the_viking bearbeitet. |
|
Profil || Suche |
|
005 04.10.2002, 21:37 the_viking |
@Diabolo_bth: Dein HLBSPSlice ist echt klasse! thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) |
|
Profil || Suche |
|
006 05.10.2002, 22:47 Diablo_bth |
klar habe ich das 100% selbst gecodet - Von Klassen für Vektoren, Matrizen, Ebenen, Polygonen, Nodes etc... habe ich alles komplett selbst entworfen - der ID-C-Style ist mir eben einfach zu unstrukturiert. (Obwohl ich John Carmack Arbeit sehr schätze!) auchja dass muss ich doch noch mal klarstellen: Mit dem q2-system ließe sich z.B. dynamische Berechnungen der BSP-Architektur nur sehr kompliziert bzw. garnicht realisieren, da die Geometrie in statischen Arrays abgespeichert wird. -- |
|
Profil || Suche |
|
007 05.10.2002, 22:53 the_viking |
Benutzt du nen dynamischen BSP Tree odda was? (Ich hab dynamische änderungen an der Levelarchitektur noch gar nicht gesehen :( ) (Sorry, das ich meine, das deine Engine wie q2 ist, aber die Konsolen-Tools machen die Ausgabe der q2 tools halt täuschend echt nach) Wie lange codest du schon an der Engine? --thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) |
|
Profil || Suche |
|
008 05.10.2002, 22:57 the_viking |
Ach ja: Kennt jemand gute tutorials zum Thema "Wie code ich einen 3D-Leveleditor für meine Engine" ? --thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) |
|
Profil || Suche |
|
009 05.10.2002, 23:29 Diablo_bth |
was genau verändert wird habe ich hier gezeigt: wenn du bei meinem engine-test den Wireframe-Modus einschaltest, so wirst du bemerken, dass um den Ventilator herum sich die Polygon-Architektur veändert. Ein editor habe ich auch angefange - bzw. den radiant modifiert, sodass er meine shader-scripts parsen kann. Dieser Beitrag wurde am 05.10.2002 um 23:30 von Diablo_bth bearbeitet. |
|
Profil || Suche |
|
010 05.10.2002, 23:41 the_viking |
Game Logig?? => Loging (Log-Files) oder Logik? Guck mal ins HLSDK das ist ein guter Ansatz sowas zu machen. Da du ColDet ja schon hast, ist das doch wohl ein Kinderspiel für dich *schleim* Wo gibts den Radiant Source? auf ftp.idsoftware.com? Wenn ja zieh ich ihn mir mal und versuch was vom ID-C Style zu verstehen *g* --thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) |
|
Profil || Suche |
|
011 06.10.2002, 00:14 theDon |
www.radiant.org oso --\o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
012 06.10.2002, 00:18 the_viking |
Warst mal auf radiant.org?? Das hat damit AFAIK nichs zu tun.. Und der id FTP Server ist ma wieder strótzenlangsam --thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) |
|
Profil || Suche |
|
013 06.10.2002, 00:47 Diablo_bth |
ftp://ftp.idsoftware.com/idstuff/ da musste dich halt durchwurschteln -> unter quake3, source oder radiant oder so.
ich glaube du hat noch nie mit q2 compiliert - da gibts nähmlich für die BSP, Sichtbarkeits- und Lichtberechnung ein eigenes Tool (im Gegensatz zu DBSP.exe) und die ganzen Ausgaben sind 1. auf English und geben 2. total andere Aussagen ab. ich bin heute mal gnädig gestimmt und poste hier mal ein kleine wenig meines *.map-Parser-codes: zunächst Teile der Vektor Klasse: // eine Ebene // Parsing einer Ebenen *.map-Zeile /edit Dieser Beitrag wurde am 06.10.2002 um 01:20 von Diablo_bth bearbeitet. |
|
Profil || Suche |
|
014 06.10.2002, 01:06 theDon |
habs nachgeguckt, ist www.qeradiant.com --\o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
015 06.10.2002, 03:21 the_viking |
Nee nach QCode nicht, das ist nicht objori. thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) |
|
Profil || Suche |
|
016 06.10.2002, 12:32 Diablo_bth |
also dieses GetToken() is bei mir ne Funktion von der Klasse script_base, welche alle script-operationen erledigt. (bei Quake wird das natürlich global gemacht). GetToken() sucht im Prinzip einfach nach dem nächsten zusammenhängenden Text-Wort im '\0' terminierten Script-Buffer - überpsringt dabei '\n' Space und '\t' etc.. - und gibt einen char-Zeiger zurück Das *.map-Format is halt ein Text und kein Binary Format - das wurde halt eben vor Jahren so entworfen. Ich habe da auch ein eigenes map-Format entworfen, welches einfach die Ebenen der Brushes in einem Hashtable speichert und die einzelne Brush-Seite hat dann nur noch Indices von einer Ebene, Shader und Texture-Alignment-Info. Das bringt das Format c.a. auf 25% der *.map Größe. Dieser Beitrag wurde am 06.10.2002 um 12:38 von Diablo_bth bearbeitet. |
|
Profil || Suche |
|
017 06.10.2002, 19:46 the_viking |
Hmm.. aber Q könnte das auch so speichern:
Das wär doch viel einfacher zu verstehen! --thx, cu, MfG the_viking (( My =]=H=O=M=E=> Page! )) |
|
Profil || Suche |

