171 lines
5.6 KiB
Plaintext
171 lines
5.6 KiB
Plaintext
conv3ds
|
|
-------
|
|
|
|
conv3ds converts 3ds models produced by Autodesk 3D Studio and other
|
|
modelling packages into X Files. By default it produces binary X files
|
|
with no templates.
|
|
|
|
|
|
How to use it
|
|
-------------
|
|
|
|
At its simplest you can run it with no options and it will (endeavour) to
|
|
produce an X file containing a hiearchy of frames. For example:
|
|
|
|
conv3ds file.3ds
|
|
|
|
will produce an X File file.x. Use Frame::Load to load the frame.
|
|
|
|
If the 3ds file contains key frame data then you can produce an X file
|
|
which contains an animation set using the -A option. For example:
|
|
|
|
conv3ds -A file.3ds
|
|
|
|
Use AnimationSet::Load to load the animation.
|
|
|
|
If you want to make an X file containing a single mesh made from all the
|
|
objects in the 3ds file then use the -m option.
|
|
|
|
conv3ds -m file.3ds
|
|
|
|
Use MeshBuilder::Load to load the mesh.
|
|
|
|
|
|
Other useful options
|
|
--------------------
|
|
|
|
* The -T option will wrap all the objects and frame hierarchies in a single
|
|
"toplevel" frame. This enables you to load all the frames and objects in
|
|
the 3ds file with a single call to Frame::Load, using the default options
|
|
(ie. Load the first toplevel frame hiearchy in the X file). The frame
|
|
containing all the other frames and meshes is called "x3ds_filename"
|
|
(without the .3ds extension). When used with the -m option this option has
|
|
no affect.
|
|
|
|
|
|
* The -s option allows you to specify a scale factor for all the objects
|
|
converted in the 3ds file. For example
|
|
|
|
conv3ds -s10 file.3ds
|
|
|
|
will make all the objects 10 times bigger, and
|
|
|
|
conv3ds -s0.1 file.3ds
|
|
|
|
will make all the objects 10 times smaller
|
|
|
|
|
|
* The -r option reverses the winding order of the faces when the 3ds file is
|
|
converted. If after converting the 3ds file and viewing it in D3D, the object
|
|
appears "inside-out" try converting it with the -r option. All Lightwave
|
|
models (see notes below) exported as 3ds files will need this option.
|
|
|
|
|
|
* The -v option turns on verbose output mode. Specifiy an integer with it.
|
|
The only useful (currently) integers are:
|
|
-v1, print out warnings about bad objects and general information
|
|
about what the converter is doing
|
|
-v2, print out basic keyframe information, objects being included in the
|
|
conversion process, and information about the objects while being saved.
|
|
-v3, very verbose (mostly useful for debugging) information.
|
|
|
|
The default is -v0.
|
|
|
|
|
|
* The -e option allows you to change the extension for texture map files. For
|
|
example:
|
|
|
|
conv3ds -e"ppm" file.3ds
|
|
|
|
and file.3ds contains objects which reference the texture map file brick.gif,
|
|
the X file will reference the texture map file brick.ppm. The converter does
|
|
not convert the texture map file. The texture map files must also be in the
|
|
D3DPATH when the resulting X File is loaded.
|
|
|
|
* The -x option forces conv3ds to produce a text X file, not a binary
|
|
X file. Text files are larger but can be hand edited easily.
|
|
|
|
* The -X option forces conv3ds to include the D3DRM X File templates in
|
|
the file. By default the templates are not included.
|
|
|
|
|
|
Other options
|
|
-------------
|
|
|
|
* The -t option specifies that the X File produced will not contain texture
|
|
information.
|
|
|
|
* The -N option specifies that the X file produced will not contain Normal
|
|
information. All the D3DRM Load calls will generate normals for objects
|
|
with no normals in the X file.
|
|
|
|
* The -c option specifies that the X file produced should not contain
|
|
texture coordinates. By default if you use the -m option the outputted mesh
|
|
will contain 0,0 uv texture coordinates if the 3ds object had no texture
|
|
coordinates.
|
|
|
|
* The -f option specifies that the X file produced should not contain any
|
|
FrameTransformMatrix.
|
|
|
|
* The -z and -Z options allow you to adjust the alpha face color value of
|
|
all the materials referenced by objects in the X File.
|
|
This is best illustrated with an example:
|
|
|
|
conv3ds -z0.1 -Z0.2 file.3ds
|
|
|
|
says add 0.1 to all alpha values under 0.2. And
|
|
|
|
conv3ds-z"-0.2" -z1 file.3ds
|
|
|
|
says subtract 0.2 from the alpha values for all alphas.
|
|
|
|
* The -o option allows you to specify the filename for the .X File produced.
|
|
|
|
* The -h option tells the converter not to try to resolve any hiearchy
|
|
information in the 3ds file (usually produced by the keyframer). Instead all
|
|
the objects (when the converter is not used with the -m option) are outputted
|
|
in toplevel frames.
|
|
|
|
|
|
3ds file produced from lightwave objects
|
|
----------------------------------------
|
|
|
|
There are a number of issues with 3ds files exported by the trans3d
|
|
plugin for lightwave. These are best handled using the following
|
|
options to conv3ds.
|
|
|
|
conv3ds -r -N -f -h -T|m trans3dfile.3ds
|
|
|
|
All the 3ds objects which we've come across produced by trans3d and the
|
|
lightwave object editor need their winding order reversing (otherwise they
|
|
appear "inside-out" when displayed) and contain no normal information.
|
|
|
|
|
|
Hints and Tips
|
|
--------------
|
|
|
|
Some of these are pretty obvious but are probably worth saying anyway.
|
|
|
|
If, after loading an object produced by conv3ds into the D3DRM viewer,
|
|
you can't see the object then try using the -s object
|
|
with an integer of say, 100, to increase the X file objects scale.
|
|
|
|
|
|
If, after loading the object into the viewer and switching from flat
|
|
shading into Gourard shading the object turns dark grey try converting
|
|
with the -N option.
|
|
|
|
Textures can be the biggest problem. If after converting the object the
|
|
textures don't get loaded then make sure that the object is referencing
|
|
either .ppm or .bmp files (using the -e option), make sure the textures
|
|
width and height is a power of 2, and make sure the textures are stored
|
|
in one of the directories in your D3DPATH.
|
|
|
|
|
|
Known bugs and problems
|
|
-----------------------
|
|
|
|
Currently conv3ds can't handle dummy frames used in 3ds animations.
|
|
It just ignores them (but will convert any child objects).
|
|
|