

I don't have a game in mind for it, though being able to use any Quake 3 editor to make levels for Unity is appealing. Quake 1 and 2 (and I assume Half-Life) used a list of vertexes as well, but in those games a face didn't refer to them directly, it referred to a series of edges, who each had two vertexes. Quake 3 stores a giant list of vertexes, and a list of faces, with each face having a list of indexes into that vertex array. Quake 1 (which Half-Life is very close to) and Quake 2 use a different method for storing their geometry, so it'd be a pretty big re-write. bsp format I can give it a shot, but for now only Quake 3 maps are supported. If I can find documentation on Half-Life's. It is simple:įor now it only works with Quake 3. The code, and a demo scene/map is here, the github readme has a short blurb about how to make it work.

To be totally square with you I don't know enough math to implement them on my own, so I don't fully understand the code I've copied. triangles because that's the format that the tessellate function produces. It appears to tessellate correctly, but as you can see it's not right. I tried to port some code from the second link above, but the results are what you see in the video. Details on converting the vertex systems/scale and bezier curve code bsp and to try rendering the bezier curves I have made some progress, which I've made a video to show. bsp, but I'm not able/sure how to make a mesh from the data in the. Many people have implimented this in their own engines that can load Quake 3. I have faces working perfectly, but I have no idea how to handle Quake 3's bezier patches. Textures are mapped for all three surface types. I now have it working 100% for faces, meshes, and bezier patches. bsp and recreates the geometry (and eventually entities too, but I digress) inside of Unity. I'm working some C# that parses an unmodified Quake 3.
