Which 3D format do you use?

Started by
11 comments, last by Arcibald Wearlot 19 years, 6 months ago
I have a few questions for you :) Which 3D formats for animated objects do you use in your engines/games (.3ds, .x or your own)? How do you create them (which tools)? Which 3D formats would you recommend (just your personal taste)? Or should I ask a more specific question? Which 3D format would you recommend to a newbie? Which one to an experienced developer? Thank you!
Another nameless person in the virtual space...
Advertisement
I use .x for 3D models and a custom file format that is almost finished for 2D models. If you are using DX, the .x format is very easy to use. I recommned against making your own file format unless you have a specific reason to because in addition to designing the file format and writing file loader and saver functions, you will also have to write an editor for the file format or make a converter to make a file in your format from one or more files in other formats. If you use a popular format such as .x, there are almost certainly file I/O functions already written for it and editors that can create them directly. I created my own format because I wanted some specific features not available through .x, but I have found .x much easier to work with when I am able to use it.

I create .x files using the excellent 3D modeller Caligari trueSpace. If you have money for it, there are some very new versions of it which I believe are vastly improved over what I use, version 3. Version 3 is available for free from Caligari; it's old enough that they have released it free but it still makes valid .x files (almost; if you want to use version 3 post a reply saying so and I will try to dig up the link for you and give you instructions on how to modify the files it produces so that they can be used) as well as a few other formats. It was used by many professional game developers for a while, I believe. To make files in my custom format, I use a program that I am currently writing which is not very far along (it can create files, but I have to specify what sort of geometry it should create in the code; I haven't written an interface yet).
TrueSpace3 is here http://caligari.com/Products/trueSpace/tS3/

If it is not too much trouble for you you can explain how to modify the .x files.
Another nameless person in the virtual space...
Check out DirectMesh v1.0. It is a keyframe-based animation format, and it is very easy to import and render in your applications. Just check out the Online Documentation for a sneek peek.

DirectMesh v2.0 will have many advances and new features, including the following:

- Skeletal animation (bones, instead of keyframes)
- Morph targets
- Multiple meshes in one model (aka subsets)
- Animation blending
- File compression using zLib
Dustin Franklin ( circlesoft :: KBase :: Mystic GD :: ApolloNL )
What is the format Maya 6 outputs? THats the program I have....is this also possible with DirectDraw7?
.X &.Cob& .3DS For Worlds
.obj. for Objects ( Items ) ..
MD2,MD3 For Chars..
Game Programming is the process of converting dead pictures to live ones .
Quote:Original post by NamelessTwo
TrueSpace3 is here http://caligari.com/Products/trueSpace/tS3/

If it is not too much trouble for you you can explain how to modify the .x files.


Sure. I hadn't done it in a while; I just looked again and I figured out that it is only necessary to modify the output if you save in ASCII (text) format. Binary .x files are perfectly fine -- in most cases it is better to use binary than text -- it's just that from time to time you may want to get a look at the data in the .x file for debugging purposes. In these cases, you will want to check ASCII on the right side of the (second) save dialogue in TrueSpace3 (note that this is different from selecting the .asc file format in the list box at the bottom left of the save dialogue). When you do this, you will need to do the following to make the file produced readable by DX: open the .x file in notepad. You should see something like this:
xof 0302txt 0064

# This DirectX file was written by a Caligari (tm) product

template Header {
<3D82AB43-62DA-11cf-AB39-0020AF71E433>
WORD major;
WORD minor;
DWORD flags;
}

template Vector {
<3D82AB5E-62DA-11cf-AB39-0020AF71E433>
FLOAT x;
FLOAT y;
FLOAT z;
}
...(more stuff)
Select beginning from "template Header" down to the line before "Header". Delete the selection and save. The template stuff describes the components of the .x file type, but it should not be present in an actual .x file. Just delete it and the file should be fine. Again, this is only necessary if you save the .x file in ASCII mode instead of the default, binary. If you don't see someting readable like what I showed above, you're looking at a binary file and either don't need to modify it or should resave the thing with TrueSpace3 if you really want it in text mode.
Thank you, mumpo!
Another nameless person in the virtual space...
I use a custom format, for no other reason than I thought it might be interesting to learn about.

Then I had to try and get my head around writing a 3DSMAX exporter, which thanks to the poor documentation is about as much fun as putting a nail through your privates.
Quote:Original post by PlayfulPuppy
Then I had to try and get my head around writing a 3DSMAX exporter, which thanks to the poor documentation is about as much fun as putting a nail through your privates.
[wink] You'd think that a $3,500 product would come with better SDK documentation (it looks like they just auto-generated it from the header files, and threw in a few short description comments). Sparks has been of a little use, but for the most part, not really.
Dustin Franklin ( circlesoft :: KBase :: Mystic GD :: ApolloNL )

This topic is closed to new replies.

Advertisement