Preplanning
LWO to V3D
The goal here is to import a LightWave 3D LWO file (.lwo
file) to a Vertex 3D V3D file (.3d file) which Search and
Rescue uses for its aircraft, scenery, objects, etc.
First, the LWO file needs to be "preped" before it can be imported to
a V3D file. You should save as your LWO file to a different
file name and then modify it (prep it) for the eventual importing to
a V3D file.
Below are a list of issues that need to be considered before
importing.
Level of Detail
Since LightWave is designed to maximize detail by creating 3d
objects "as realistic as possible", the LWO model may be too complex
(have too many primitives or too many graphics statements) than
desireable.
Objects in Search and Rescue need to have a balance between
simplicity and detail. For example, in a game situation you do not
want 60 primitives describing a cylender when you can just use 4
primitives to achieve a similar level of detail.
Therefore it is important to simplify the LWO model before importing
it to a V3D model. Remember that you can use normals to specify
the exact description of shading per primitive after import (but
this can be tedious).
Normals (or lack thereof)
Unfortunately the LWO format does not support normals. To be
precise, the LWO format does not support normals in OpenGL's
concept (and the V3D file format is really a slightly more advanced
text file form of an OpenGL display list).
A normal is not a vector perpendicular to two "surface"
vectors as typically thought of in the mathimatical defination of a
normal. Here, a normal directs the angle of shading in accordance
with OpenGL's implementation of normals.
A solution to that problem would be to use Vertex 3D's
VPI Render Normals plug-in,
however the resulting normals would be calculated and not intuitively
placed to achieve the intended shading. It would result in
precise but not accurate shading, meaning your imported
LWO model may not look the way you intended it to.
(This issue is mentioned again in
PostProcessing
)
Graphics Statements
Graphics statements can be redundant and cause the display of
the final V3D model to be slow and inefficient. Typically,
excessive graphics statements in LWO primarly consist of color
statements. For example you may have colored your LWO model in may
shades, but the imported V3D file will have color statements between
primitives in its serial order that make it inefficient. For example,
the final imported V3D file may have statements of the following:
- Color (red)
- Quad
- Color (blue)
- Quad
- Color (red)
- Quad
- Color (blue)
- Quad
It would be much more efficient if the order was:
- Color (red)
- Quad
- Quad
- Color (blue)
- Quad
- Quad
Unfortunately, there is little control over how the LWO file is saved
and how color statements are arranged. The best approach to this
issue is to not have too many different colors.
Texturing
If your LWO model is primarly textured, then you should
recolor your LWO model pure white and then select
side, top/bottom, and front/back portions of the model and save
them to separate LWO files (later you will import them all into
V3D and recombine them).
Winding
The winding of all primitives with solid surface faces should
be clockwise. This is not, however, a serious issue since the
winding can be easilly flipped (using Vertex 3D) after the
LWO file is imported to a V3D file.
Concave Primitives
The OpenGL specification does not allow primitives with solid
surface edges that are concave curved. Such curved edges will be
drawn as a straight line. Since the V3D file follows the OpenGL
specification, you will need to make sure there are no primitives
with solid surface edges that have concave curves.
If you do have primitives with solid surface edges that are
concave curved in your LWO file then you should divide
them into smaller primitives so that there are only convex curved
edges and no concave curved edges.
|