There is a newer version of the Quake MAP specs at
http://www.niklata.com/quake/qmapspec.html
Also, like someone mentioned above, a brush is defined in terms of planes, which you have to convert to polygons. If you have the bandwidth, you can see an example of this in the Half-Life SDK, inside the source code for the qcsg tool, although it''s pretty hard to get ahold of what''s going on in that code unless you''ve had some experience with constructive solid geometry before. Basically what you do is take each plane in your brush, build a polygon set to the maximum world extents and lying in that plane, and then clip it with all of the other planes in the brush. This will give you the vertices you seek. After clipping, you may end up with floating point values, so it''s easiest to just write a utility to convert everything in the MAP file to your own format which uses floats. Since your final output (after extracting the polygons from the brushes) will contain duplicate vertices, and usually quads instead of triangles, you then have to strip out the duplicate vertices and triangulate your general polygons for more effecient rendering. I personally found all of this too cumbersome, and decided to write a 3DSMax plugin instead. Even though that isn''t much easier, it affords you much greater flexibility and expandibility.
-Liquid
Q on .MAP files
For those interested, here is the response I received from a ValveSoftware Rep regarding the current Format of the .MAP output:
(x1 y1 z1) (x2 y2 z2) (x3 y3 z3) TEXTURENAME [U1 U2 U3 X_SHIFT] [V1 V2 V3
Y_SHIFT] ROTATION X_SCALE Y_SCALE
The explanation of U/V numbers I got from David Speyrer-
Those are the U and V axes, respectively. They are unit vectors defining the
projection of texture coordinates onto face vertices.
I''ll be getting a document from David shortly which i''ll use to create a
resource explaining the map format a bit better - it''ll be posted at the erc
soon - halflife.gamedesign.net.
For those who have responded so far, thank you!
(x1 y1 z1) (x2 y2 z2) (x3 y3 z3) TEXTURENAME [U1 U2 U3 X_SHIFT] [V1 V2 V3
Y_SHIFT] ROTATION X_SCALE Y_SCALE
The explanation of U/V numbers I got from David Speyrer-
Those are the U and V axes, respectively. They are unit vectors defining the
projection of texture coordinates onto face vertices.
I''ll be getting a document from David shortly which i''ll use to create a
resource explaining the map format a bit better - it''ll be posted at the erc
soon - halflife.gamedesign.net.
For those who have responded so far, thank you!
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement