by Optic Delusion » Mon Mar 23, 2009 10:37 pm
You will see a little box next to File-->export-->bzw, selecting it will show the export preferences. There are ten options. Here's a list, and the suggested usage.
1. One group per material: This should usually be on. (but it doesn't really matter. Maybe a tiny bit faster if it's on?)
1a. If it's on, your materials look like this... One matref and all faces after that will use it.
matref example
face
vertex 0 0 0
normal 1 1 1
texcoord 2 2 2
end ## all further faces use the same matref, until another matref is specified.
1b. If it's off your faces look like this.... Each face has the matref inside it
face
vertex 0 0 0
normal 1 1 1
texcoord 2 2 2
matref example
end ## Each face has the matref inside it
2. Vue D' Esprit Workaround: Leave it turned off. I don't even know what this does. All i know is it's a workaround if your wings exhibits a certain bug. Mine never had the bug, so i leave it turned off. In wings' preferences-->misc you will see some other workarounds you might want to use if your wings is buggy.
3. Tesselation. Should almost always be set for triangulation. What it does is break any face that is not a triangle, into triangles. BZFlag likes triangles! As a matter of fact, I usually triangulate the mesh before exporting , that way, WYSIWYG. If your mesh is already triangulated, the triangulation export option does nothing.
The only reason you might want quads is for drawinfo, or other advanced techniques.
4. Swap Y and Z axes: ALWAYS ON! In BZFlag the up direction is called Z. In Wings the up direction is called Y. When we make the export, we swap Z and Y, and up stays up. If you don't use the swap, your exported mesh will be laying on it's side.
5. Import Scale: Import does not work in the wings2bzw plugin. What you will do is import from obj format, using this procedure.
5a. Join a BZ server.
5b. use command /saveworld -o name.obj This saves a map in obj format, placing it in the same place as saved bzw's.
5c. Use wings' File-->import-->Wavefront (obj) Do not forget to swap Y-Z axes in obj prefs.
5d. After you import, you will see an object named bzground. This will cause problems on export, so i usually delete it right away. The same with teleporters. (optional)
6 Export Scale: You gotta use your judgment here. Import and Export work together. Here's how I usually do it.
Wings has that ground plane, it is centered at 0 0 0, It is a square 20 by 20 units.
Bzflag has a default worldsize, it is centered at 0 0 0, It is a square 800 by 800 units.
So i do a little math, and it turns out that if I import a default-sized BZWorld at scale 0.025, it fits perfectly on wings' ground plane.
Now when I export the mesh back to bzw, I use scale 40. The mesh turns into a bzw that is the same size as the one i started with.
I find that importing an obj at scale 0.025, then exporting to bzw at scale 40 works perfect for me. You can use whatever scales you want.
7. Subdivision Steps: I think i know what this does. I will edit this when i'm 100 percent sure. Don't want to put out inaccurate info.
8. Export normals: Yes, you want this! If you select wings' View-->Show-->Normals, it becomes apparent what they are. You can think of normals like this... If a shot bounces off of a face, it uses the normal to calculate ricochet angle. (you can edit a bzw to put in strange normals, and strange ricochets happen, but tanks can get stuck easily when they land on the face)
9. Export UV coordinates: Yes, you want this! If you bothered to uv-map the object, you want to use it! On the other hand, if you are not using a texture, texcoords are not needed.
9a. if you are exporting in obj format for conversion to drawinfo, the mesh must be FULLY uv-mapped. Ideally, there will be an equal amount of v,n,t (vertex,normal, texcoord). Every face needs complete v,n,t for modeltool drawinfo conversion. You might be able to get around this requirement by using di-machine, but i do not recommend di-machine.
10. Default Texture File Type: PNG, of course.
Take a look at my Defender game mode concept.
Thinking is not an automatic process. A man can choose to think or to let his mind stagnate, or he can choose actively to turn against his intelligence, to evade his knowledge, to subvert his reason. If he refuses to think, he courts disaster: he cannot with impunity reject his means of perceiving reality.