Skip to main content
gamedev.net
🔒 Locked

Regarding models

Started by Crispy 11 replies 700+ views
Original Post
Crispy
Crispy
Hi, which loader should I write for a game - md2 or md3? I don''t know much about either - so far I''ve only written loaders for so-to-say static formats (that afaik don''t support keyframing in the same sense md2 and md3 allow it). Alternatively, if there''s even a better format out there (that has available format specs on the net), I''m not really bound to the Quake model formats. Additionally are there any free editors out there that allow a beginner to create somewhat simplistic models (animated, of course; of the abovementioned type) for a potentially commercial use (some names would do well, if at all possible)? Thanks in advance, Crispy
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
coelurus
coelurus
The choice of model formats (as always ) depends on what type of game you''re writing. For example, a game where you''re running with guns blazing doesn''t really need a lot of detail, but an adventure games do.

About a modeler; try Milkshape, it''s not very expensive at all. Do a search on Google.
Crispy
Crispy
Yup it''s a "running with guns blazing" game, so I''m aware of the poly problem - in fact the model shouldn''t comprise more than perhaps 30 of them as there will be potentally hundreds of them (models) on screen at a time (think: Serious Sam). So what should the model format of preference be here?

Anyway, I haven''t had the time to check out Milkshape yet, but from your post it seems they''re charging money for it. Unfortunately the term "commercial" from the original post means we get a little pocket money (at most), nothing big and shiny, so are there any completely free editors around?

Thanks,
Crispy
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
amish1234
amish1234
Milkshape is free for 30 days. Since your models are only 30 polygons, maybe you could make all of them in 30 days! Milkshape is only $20 anyway.

Proceeding on a brutal rampage is the obvious choice.
___________________________________________________________Where to find the intensity (Updated Dec 28, 2004)Member of UBAAG (Unban aftermath Association of Gamedev)
Crispy
Crispy
quote:
Original post by Anonymous Poster
30 polygons won''t meet the demands of today''s audience.


I''m already down to 20-50 fps - can''t (shouldn''t) get much lower than that

Anyway - what would be the most favourable format for this type of use? I''m still pretty unbiased as to which loader to write... Don''t want to spend time on more than one for the time being...

Crispy

"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
Ingenu
Ingenu
What about dotXSI ?

It''s Softimage XSI file format.
There''s a file toolkit, and exporters for XSI, Maya, Max...

It supports Morphing (ShapeAnimation) and Skeletal Animation. (IK, FK, vertex blending,...)

http://www.softimage.com/connect/xsi/

-* So many things to do, so little time to spend. *-
-* So many things to do, so little time to spend. *-
3dModelMan
3dModelMan
Md3 is going to give you super-smooth animation cheaply with modern hardware BUT if you want to render dozens of them at a time in a game that's already struggling for frame-rate then you're going to have to implement some method of pre-calculating all the bone transformations which will cause a loss of animation quality. (I'm no expert on md3's though). This format uses skeletal animation, where vertex positions are relative to the position of a joint, and joint positions are kept relative to eachother.

Md2 is very processor intensive to achieve smooth animation unless you have a card that supports vertex shaders- then it becomes very gpu intensive. There's not a great deal you can do about it with this format. The position of EVERY vertex is stored for EVERY frame (do the math: frames * vertices, thats a lot of data, but id found a way of compressing that data which is the whole basis of the md2 format). Smooth animation is created by performing linear interpolation on each vertex position between keyframes.

Despite that, there is a way that md2's could help you in this situation..

If you have low-polygon models with a few frames of animation and you're not too concerned about ultra smooth animation (but if your engine is already struggling you can't afford to be!) then you can create a vertex buffer or gl display list for every frame at load time- basically converting it into a bunch of static models. I've used this method successfully in my current project in which I've opted for quantity over quality.

- Matt

PS. BUY MilkShape! It's stable, well supported from the community, expandable and very cheap. And if you're working with DX8.1 you can have my source.


[edited by - matibee on January 17, 2003 6:52:10 AM]
Crispy
Crispy
Yeah I think Milkshape''s the way to go. Thanks for offering your code - not too many people volunteer to do that... However, I''m using OpenGL and I, as far as my abilities allow me to, prefer to write my own code - a coder''s code, so to speak I think I''ll resort to md2 for the time being - it''s a bit simpler and I don''t think I''m shy of cpu power - it''s the gpu that''s dragging things to the gutter. Thanks for the input!

Crispy

"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
cody
cody
matibee:
md3 doesnt use skeletal animation or something like that.
it interpolates between the vertices of different frames to get animation.(...i think)
deadalive
deadalive
skeletal animation == interpolating between the vertices of different frames to get animation..
this place is lame
deadalive
deadalive
skeletal animation == interpolating between the vertices of different frames to get animation..
this place is lame
bakery2k1
bakery2k1
skeletal animation != interpolating between the vertices of different frames to get animation.

Interpolating between the vertices of different frames is exactly as it sounds.
Skeletal animation involves calculating the positions of bones in each frame, either by interpolating bone positions or by something more complicated such as inverse kinematics. These bone positions are then used to calculate vertex positions.

Quake 2 .md2 uses the first method.
Half life .mdl uses skeletal animation with "keyframing".

Quake 3 .md3 uses the first method. However, each md3 model you see on the screen is composed of different md3 model files. These are oriented wrt each other by a skeletal-type system.

500 x 1


http://users.ox.ac.uk/~univ1234

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.