User panel stuff on forum
  15 posts on 1 page  1
Graphics Discussion
2007-08-22, 01:27
Member
685 posts

Registered:
Jul 2007
Hi, I got a guestion:

What tools were used for creating new .mdl's that I see in nquake?

I'd like to be able to import an .mdl into 3d Max as reference to check size and position of the models. I tried to do all this with qme, but it didn't really work out. Max had probs reading the autocad format that qme can export and since I don't know the original mdl specs as described above, the .3ds model I made in max couldn't be imported in qme either.

Hope semeone can tell me abit about this. I could ofcourse experiment with md3 format too, but I'd like to use the .mdl format and know it's possible.
2007-08-22, 03:55
Member
60 posts

Registered:
May 2006
My 2 cents...
The best mdl related program you can have is quick3d http://www.quick3d.org/

I originally used "quake 2 model editor" to export all the frames of most models to 3ds. I'd start a new scene in max import the 3ds file to get the right scale in max and the objects pivot point. Still have most of the 3ds frames, I could dump what i have back on my website, but its pretty easy to do it yourself. Trouble with other programs that can export mdl to 3ds or obj, is that the model can be facing the wrong way (this sort of includes quick3d)

Open the mdl in quick3d and save it as a .obj
*import the obj into max (default settings should be right, make sure center pivots un-ticked).
*It'll be on its side but just rotate it 90 degrees till its upright (x-axis maybe)
*The pivot point will be in the right position compared to the model, but aligned upside down
*Once you've rotated it, hit pivot; affect pivot only; align to world. Should be good to go.
*other things to note for 3ds max, right view in max is the generally the front of the model, to get a realistic play back set your frame rate to 10fps in time configuration
(This is compared to the 3ds objects the quake2 program exported, which from my experience has the model facing in the right direction and the pivot points too)

Model, uvwmap, texture, do your shit in max and ps. etc etc. When your ready to export from max as a md3...
*have a material applied to the model with the names matching the mdl name. eg for backpack.mdl your exporting backpack.md3, the material name on the object is called "backpack" with the bitmap in the diffuse channel called "backpack.tga"
*Chris Cookson's md3 importers exporters for gmax should work with later versions of max, exporters good older versions required nphernos program to flip the mesh the right way

Open you md3 in quick3d (relink the texture if needed) and save as mdl (almost as simple as that)
*mdl has a maximum texture size of 480x480(I think), if you save a md3 to mdl with the texture been 1024x1024 the quake engines won't like it. QME can still open the mdl though.
Basically link the md3 to a small version of your texture, eg one thats 64x64 or 256x256, then save as a mdl
This will create a mdl with a acceptable size texture for the quake engines (the external 24-bit textures the mdl can use can still be 1024x1024 etc)
*If your just going for 24-bit skins just link the md3 to a grey flat texture of 64x64 for example, and use the full sized 24-bit, this will keep the mdl small as the textures part of the mdl format
*The 24-bit textures the the new mdl uses will need to be flipped vertically in ps, includes luma, spec and bump
*If your want your mdl to have a 8-bit quake palette, link your md3 to small version of your texture eg 256x256, before saving as a mdl. Quick3d will make convert the texture to quakes palette for you, but it'll probably have fullbright pixels in places you don't want, so you'll have to edit the texture in qme/ps to fix these.

OR
you could just use the md3 format that any decent engine supports.... Oh thats right ezquake still doesn't support skin files so md3 models that have multiple skins like the armour or grenades in TF don't work.
2007-08-22, 15:47
Member
685 posts

Registered:
Jul 2007
Wow, that's more then 2 cents! Thanks!
2008-06-13, 21:49
Member
32 posts

Registered:
May 2008
Can I add/edit motion frames in 3dmax/quick3d or do I need another program to do that?
--------iO!
2008-06-14, 07:21
Member
685 posts

Registered:
Jul 2007
You can do whatever you want in Max or another 3d program, but you'd need to export it properly AND probably make the necessary changes in the quake c code by adding the frames in the code, and then compile a new progs.dat which you'd use in your mod... Otherwise it won't work in the game. That's the thing: artists could make whatever they want but to get it to actually work in the game requires some study

It's apparently not like Quake 3 where everybody can 'easily' add custom player models with animations and sound for other people to use without a mod.

I'm not into this thing anymore so don't ask me how
2008-06-14, 10:50
Member
60 posts

Registered:
May 2006
My 5, 10, 20, 50 cents... trying to keep it simple but I still come off as a know it-all wanker

Quick3d
Dunno never used it to do anything to save md3 to mdl

qME
Edit motion/frames? if you mean change/tweak the animation of the player model (for example) and save it out, then yes. But in qME you'll be moving vertices, tris & polys by hand frame by frame. This will be painful and probably no very efficient.

You can add extra frames, but the frames are set by progs.dat and qwprogs.dat by quake. So if you make a 8 frame run cycle, standard quake dm ,tf etc only uses a 6 frame run cycle. This new 8 frame run cycle will throw all the frames out of wack, with the extra 2 frames been part of the next animation.

Ie axrun has 6 frames, if you make it 8, the 7th and 8th frame will become the 1st and 2nd frame of rockrun, making the 1st and 2nd frame of rockrun the 3rd and 4th frame, etc, etc, etc

3ds max
Even if you do import all the separate frames of the player model (142) and create a morph for each frame in the right order, it still won't do you much good. Max has better keyboard commands and tools than qME, but you'll still be having to vertices, tris & polys by hand, frame by frame. This will still be painful and probably no very efficient.

What you want to do is import a frame of the player model and re-rig it to a skeleton in max, then animate it again to match the frames of the original player model. This way you can edit the frame you want on the fly quick and easy in max.

Making a model
basically the making a player model goes like this (theres extra steps with creating a normal map from a high poly model)
a)model. You extrude, pull/push and cut your mesh up till you've got your finished model looking sexy, with the amount of polys you want.

b)unwrap/uvw map. You... eh unwrap the meshes uvw co-ordinates so you can paint a texture in photoshop. Its kinda virtual, like the original shape of the model stays the same its just how the vertices and polys are spread out on a flat plan. Like the way you skin a rabbit, deer or kangaroo and stretch its hide to dry in a frame.

c)painting the texure, you've got your uvw map rendered out at the size you want eg 512x512. bring into into photoshop as a layer and guide, paint away. You'll probably still be adjusting the uvw map as you go.

d)rig. This is the bit people don't seem to grasp
The models textured and stuff, now you rig it to skeleton so you can move it. This is done by creating a skeleton (nice and simple in max with biped) and positioning the skeleton so it matches the pose of your model. You then rig the mesh to the skeleton. Each bone in the skeleton will now have a envelope that controls how it effects the model.

You basically adjust the each bones envelopes so it only effects the part of the mesh you want, eg you shrink the forearms bones so it only effects the forearm.... riggings a very painful process or can be. The more bones you have the more envelopes, fingers, hands are the worst.

Take a leg, you've got the thigh and calf each with a envelope, the 2 envelopes overlap at the knee. The size and fall-off of the envelopes effect how the knee will deform when bent. You can do things like manually adjust the weight of each vertex between 2 bones (on top of the envelopes) and add morph points that deform the model better when bones are rotated and turned a certain way, make biceps bulge etc. These things make the model deform that much better, but it means the model can no longer touch the a single vertex, poly, tri changed at all then model. If you delete a single vertex all the vertex weighting and morph points will go to shit. (as all tris and veritces are numbered etc)

e)Animate. You move your skeleton making it move, run dance etc. The rigging you've done will move the mesh to the skeleton/bones, you'll adjust the rigging as you animate too (though you'll have bent legs and moved arms, all joints in the rigging process anyway. The frames of the poor old quake guys run,shoot cycles are to sadly to few and I feel not really worth animating to... 6 frames for a run, you can't even get like the 8 key frames of a run/walk into that.

I was gonna list the frames numbers and what they are, but just open the player model in qME and have a look.

f)Export. md3 are easier to export from max (with the right exporter). Export... choose the mesh and the number of frames and your done.
There's better formats out there for player models than md3, the skeletal format Darkplaces has DPM is ok, but Warsow has the nicest SKM, they're both base on half-life 1/2s SMDs.

A present for any 3ds max users
DOWNLOAD http://members.optusnet.com.au/~plaguespak2/downloads/quakeguy.rar DOWLOAD
Here's a rar that contains player.tga, quakeguy collapsed 0-142.max, complete animations.pts, ExportMD3.dle

The 3ds max 08 file has the original quake player model (edit poly of course) thats unwrapped and animated with all his original 0-142 frames of glory. He's the right scale, in the right pos and facing the right direction too for exporting to a md3/mdl... plus the frames are in the right order too (i've locked his pos,scale and rotation by the way). It uses a morph or point cache to be precise (you need "complete animations.pts" so don't delete it) to load all the different frames. Not really good for much, besides ref if your making a new model or animating one.

The player mesh and all its glorious animations are of course ids creation, the texture is how ever primeevil's, I think he used some of moos textures to create it too. No credit to me, just needed a texture for the material in max.
primeevil? http://primevil.quake-world.fr/index.php or http://www.quakeworld.nu/forum/viewtopic.php?id=1022
moo? http://www.quakeworld.nu/forum/viewtopic.php?id=504&p=1

ExportMD3.dle, this is the last/latest working working plug-in for 3ds max 8 (that i know of). I think it works for max 6-8, but unfortunately no longer functions for max 9 and above place in C:\Program Files\Autodesk\3dsMax8\plugins and export all the md3 you want from max, then convert to mdl if your so inclined. I think this is the last version which was updated by mojo... i think? http://mojo.gmaxsupport.com/

Like I said technically not much use, as its not rigged to a skeleton. But you can do wacky things if you like. For example...

a)if you want to animate fast v_weaps, If you open the max file and unhide all you'll see I've attached 2 objects so they follow the surface of the gun and axe called "attachment_gun" and "attachment_axe". I've created a temp axe and gun and linked them to "attachments_gun" and "attachment_axe" (I've also shrunk down the axe where appropriate). So in theory you can just merge in a new v_weap, align it to axe or gun, then link it, and all the animation should match. Probably be a little twitchy here and there, on the idle animations, so it'll probably be best to add a few rotation frames here and there to smooth things out.

b)You could also throw another uvw unwrap underneath the point cache on the stack, and adjust the unwrapping if you wanted. then re-export to creat your new skin

c)Maybe throw a "edit poly" on top of the "point cache" and cut in a bit of more detail into the model and then re-export. This is always a bad idea and you have 90% chance of the model chucking the shits on you eventually and you'll be pissed off at the wasted time.

Though you could always find a default pose (29s good) make a copy of the model, collapse it at that frame, cut more detail into the mesh and then "skinwrap" (at the same frame) to the untouched model underneath with the "point cache" on it. You'll probably get some crappy results though.

...like I said its only really good if you use 3ds max (6-8 if you want the exporter to work, and 8 and above to open it)
2008-06-14, 13:59
Member
32 posts

Registered:
May 2008
MonkeyRat, this is some serious knowledge mine right there. Will be of use for many.
Thanks, mate!

I am actually working on monster models but that's awfully useful nonetheless.
--------iO!
2008-06-14, 14:38
Member
793 posts

Registered:
Feb 2006
€€€
2008-06-16, 19:11
Member
685 posts

Registered:
Jul 2007
Oh man, I've dug up my own custom monster model. Remember, I created this all in shareware QuakeMe, exported the frames into Meddle to built the final model. I built it vertice by vertice without having objects like in Max. And to animate the damn thing, I had no Inverse Kinematics or whatsoever

It's based on the Shambler animations, so indeed, my animation sequences had to have the exact amount of frames as the Shambler animations. Oh what a drag

I just loaded the .mdl into Qme and made animated gifs for you all to see... I can't load it into quake, because it starts whining about the wrong version... I probably a different progs.dat then the latest we currently have in quake. Also, my model only worked in software quake, because it was actually named shambler.mdl and because of that, Glquake didn't remesh it and thus it deformed to a piece of crap in GLquake. I didn't add it in the quakec code you see.. I couldn't get that right.


Some animation sequences:


death :
http://img292.imageshack.us/img292/8444/deathtr1.gif




punch:
http://img292.imageshack.us/img292/5636/punchmr2.gif




run:
http://img292.imageshack.us/img292/2763/runpb0.gif




walk:
http://img292.imageshack.us/img292/2278/walkwb7.gif
2008-06-16, 19:19
Member
685 posts

Registered:
Jul 2007
I might add that I had zero experience with making models or animation.
2008-06-18, 13:28
Member
60 posts

Registered:
May 2006
Heh its cool Mega in a retro way
2008-06-18, 13:32
Member
793 posts

Registered:
Feb 2006
yeah i actually like it a lot! the walking stance is scary as hell, imagine that guy walking among a crowd. psychopath!
2008-06-18, 14:14
Member
32 posts

Registered:
May 2008
megalodon, I can’t imagine how you dealt with QME. Every time I try to move a limb or a torso, it just moves one triangle of the structure. If I had to do that with every frame I would probably start walking like your mdl
--------iO!
2008-06-18, 21:23
Member
685 posts

Registered:
Jul 2007
impact0r wrote:
megalodon, I can’t imagine how you dealt with QME. Every time I try to move a limb or a torso, it just moves one triangle of the structure. If I had to do that with every frame I would probably start walking like your mdl

I remember it was possible to 'define' objects, or 'bodyparts' by selecting the necessary triangles. So ultimately, it was a workable thing. And now I'm talking about it, I think Qme did have Inverse Kinematics too, I just didn't know how to use it. So animating the model was done carefully or I'd bend a joint too far.

Years later I got the full version of Qme, which you can still get here:
http://www.quaketerminus.com/tools.htm
2008-06-18, 21:43
Member
685 posts

Registered:
Jul 2007
Plagued MonkeyRat wrote:
Heh its cool Mega in a retro way

Thanks

Yeah it's software mode though... And like I previously said, it only worked in software quake anyway. I also painted the model in 3d view in Qme Ofcourse it's good for a laugh now, but in software quake, the skin actually didn't look that bad.

I do remember that, even though there were much better skinned models in those days, animation-wise, the quake models out there were very simple in comparison with mine. When fighting this Slaughter model (that's the name), the animations really came out nicely...
  15 posts on 1 page  1