3D animation/morphing/texture changing

Moderator
Posts: 370
Joined: 2006.08
Post: #1
Now that I have finished with 3D object loading, I've been trying to find information on 3D animation. After looking at several of the MMORPGs that I play/used to play, I've come to a conclusion: all of these programs either use DirectX for animation/3D object loading or they are built around a 3D animation file format that is in binary and that I can't find information on by googling it (some examples:
ConquerOnline uses .C3, .dds, (animated cursor files), .MSK, and .TME; these files are tied together using .ini files and .dat files into some sort of animation that, quite frankly, is beyond my comprehension for the time being).
How exactly is 3D animation usually exported in a file? Is an entire new mesh defined and the meshes that make up an animation displayed in a sequential order according to how much time has lapsed by (I know that that is usually how 2D animation is done, or at least that is how I have seen it done most of the time), or maybe you just define how far each mesh that makes up the monster is supposed to travel in a given time? What about textures that change with the object's animation?
Any links to tutorials, points as to where I might look, and (of course), advice by people from these forums would be very helpful to me! Smile
Thanks in advance Grin
-wyrmmage

Worlds at War (Current Project) - http://www.awkward-games.com/forum/
Quote this message in a reply
Member
Posts: 283
Joined: 2006.05
Post: #2
I'm interested in the same thing.

In my 2D thing that I'm working on (this method works in 3D as well), I did a sort of modified .obj format, where all the faces are defined once but the points are defined multiple times, once for each frame. Each frame also describes the interpolation between itself and the next one. Mine only lets you choose between linear and a few others, but obviously a better one would let you use whatever bezier interpolation you like.

Anyway, I certainly wouldn't recommend this method if you want it to be accurate. I'm looking forward to seeing some solutions other people come up with.
Quote this message in a reply
Member
Posts: 161
Joined: 2005.07
Post: #3
I have a custom format where the bones are stored as a tree structure, where the hip location is the main node, then the legs, arms, head, [tail], etc. protrude from that. The bones themselves are connections between the current and parent node. A frame of an animation file is just info at each node, like the rotation and scale, and the entire animation file is a sequence of these frames.
Quote this message in a reply
Moderator
Posts: 370
Joined: 2006.08
Post: #4
imikedaman Wrote:I have a custom format where the bones are stored as a tree structure, where the hip location is the main node, then the legs, arms, head, [tail], etc. protrude from that. The bones themselves are connections between the current and parent node. A frame of an animation file is just info at each node, like the rotation and scale, and the entire animation file is a sequence of these frames.

So...how do you store this information? Are you using a program that you made, or something that is for 3D modeling/animation?
-wyrmmage

Worlds at War (Current Project) - http://www.awkward-games.com/forum/
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #5
Blender can export lots of formats.

Quake 2 uses MD2: http://tfc.duke.free.fr/coding/md2-specs-en.html
Quake 3 uses MD3: http://icculus.org/homepages/phaethon/q3...ormat.html
Doom 3 uses MD5 (md5mesh and md5anim): http://www.doom3world.org/phpbb2/viewtopic.php?t=2884

If you have windows, the Milkshape format (MS3D) might also be useful: http://local.wasp.uwa.edu.au/~pbourke///...ms3dspec.h

Most other formats are proprietary and you won't find good information on how to load them.

DDS is a texture file format: http://msdn.microsoft.com/library/defaul...format.asp
Quote this message in a reply
Moderator
Posts: 370
Joined: 2006.08
Post: #6
interesting....do you mind if I ask what file format you use for animation? Are there any file formats that are...not program specific? (I havent researched the ones you listed yet).
-wyrmmage

Worlds at War (Current Project) - http://www.awkward-games.com/forum/
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #7
Ooh, I forgot the most important one, FBX: http://www.apple.com/downloads/macosx/de...bxsdk.html

The formats are as "non-program-specific" as the programs make them... All of the MD2-5 are used by multiple games, and all can be exported from multiple editors.

Personally, the only time I've ever done animation, I exported from Blender to MD2, then converted from MD2 to a custom format.
Quote this message in a reply
Moderator
Posts: 529
Joined: 2003.03
Post: #8
3D Animation is done in 1 of 2 ways generally:

Keyframe based: You have one model for each n frames of an animation and you tween the vertices to generate the in between frames.

Skeletal: You have one model and a skeleton. Each vertice in the model is bound to one or more bones. The bones rotate, the vertices follow. You tween the bone rotations.

Not being the math genius some of the others here are, I've only ever done keyframe animation. Its relatively simple to implement, but uses up more memory than skeletal animation does.

===Other random babble===

Blender's obj exporter can export 1 model for each frame of an animation which is handy if you want to convert them into some format of your own.

Blender can also export to Cal3D.

If you want to go with md2, you can also look at MisfitModel3D. Other than Blender that's the only app I know of on a Mac that can export it.

I played with Milkshape, but I think its kind of crap. It only supports one bone per vertex(I think.) I don't recall the exact #, but it was pathetic.

"Yes, well, that's the sort of blinkered, Philistine pig-ignorance I've come to expect from you non-creative garbage."
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Changing Pixel Values using CG LIPH700 1 4,449 Nov 25, 2010 03:17 PM
Last Post: SethWillits
  Lighting and changing texture colors in OpenGL agreendev 2 7,529 Aug 13, 2010 03:47 PM
Last Post: agreendev
  Effifcient State Changing Nick 7 3,498 Apr 6, 2006 06:33 AM
Last Post: TomorrowPlusX
  Changing the Mask in OpenGL kodex 2 3,749 Jan 18, 2006 09:21 PM
Last Post: kodex
  changing resolution in fullscreen ghettotek 22 8,221 Jan 18, 2005 09:39 PM
Last Post: arekkusu