Too Many Verts
#209 posted by sock on 2012/04/07 01:09:05
For some reason I have 1200 skin/frame verts in my model for something that started with @160 (used the standard ogre model as a test) Not sure why, maybe it is the export 3DS process not sure.
The LW->MD3 exporter plugin is too old, won't load in the current version. (typical for LW TBH) I did find a LW to MD3 external program converter but the documentation is gone (website link dead) Might experiment with it. The 3DS route seems to be causing problems.
#210 posted by necros on 2012/04/07 01:17:03
when you are exporting, make sure you only export the mesh, and not any bones, helpers or anything else.
bones (at least in max) count as mesh objects when exported in some formats.
Ouch
#211 posted by Preach on 2012/04/07 01:17:04
That is too many vertices, 1000 is the number you need to get models down to in order for them to load in glquake...
To check if you can fix it you may want to try a weld on the mesh vertices as well as the skin vertices in gmax. Obviously though if you can pin down what's splitting the vertices and avoid it that's best in the long run.
#212 posted by necros on 2012/04/07 01:19:16
actually yeah, thinking about it... that's sounds way too high for just bones/helpers. not sure what else it could be aside from what preach just said.
Fixed
#213 posted by sock on 2012/04/07 01:40:02
http://wiki.beyondunreal.com/Legacy:Lightwave/Exporting_3DS
"The reason is a limitation of the 3ds format not supporting discontinuous uv coordinants"
Just got to weld all the stuff together in GMAX and now I have a model with 402 verts and 410 triangles :D My very first ogre, just got to test it in game, sort out animations, write ogre script and fix the skin and .. way too many things to do!
#214 posted by necros on 2012/04/07 01:53:29
have you tried importing additional frames after that first one?
#215 posted by Spirit on 2012/04/07 11:35:01
#216 posted by necros on 2012/04/07 18:56:22
i still haven't had a chance to try that out.
#217 posted by sock on 2012/04/07 20:41:43
@necros, I was planning to animate the model with bones in gmax or maybe LW. This is something I have not done before and I am curious to see the process. I have not decided yet which route to take, I need to test which is easier. I tried a couple of frame imports with Qme and the mesh was all warped. I really want to avoid using Qme at all because of the vertex problems.
#218 posted by necros on 2012/04/07 21:22:02
the nice thing about doing a model for quake is that when you animate it, you can use absolutely ANYTHING you want.
from basic IK to crazy scripted constraints/controllers.
you can use any modifiers that don't change vertex# or order (ie: you couldn't use boolean operations).
but you can use morphs (scripted morphs!), lookats, you can follow a specific vertex, etc...
or you can just use biped and get everything you need for normal animation and add onto that.
Shame Is...
#219 posted by than on 2012/04/08 01:56:08
that after you import it into Q1 all the animation will be at 10fps and the vertices will be wobbling all over the place due to them being rounded to fixed point numbers, so even if you have plenty of flexibility, it doesn't exactly allow you to go to town :)
#220 posted by necros on 2012/04/08 03:10:13
sure, but my point wasn't that you'd be making better looking animations than a AAA title, only that animating it is not a painful process at all (and, i find, quite fun).
Frame Rate
#221 posted by Preach on 2012/04/08 03:21:38
There's no reason you have to keep animations at 10fps.
Well, there are a few things you have to consider. First is that 256 frames gives you 25 seconds of animation at 10fps. Can you get an entire monster into 12 seconds of animation? Perhaps the thing to do would be to keep slow movements like standing animations at low fps and keep the higher rates for the big/fast things.
Secondly there's the QC support. There's a special instruction built into the QC instruction set for 10fps animation, with special notation and all. So to step outside that confers a minor performance penalty (though clearly it was significant in 1996) along with more verbose, messy code.
Finally I'd worry about how interpolation is handled in all the engines out there. I know that fitzquake takes a lot of care to interpolate well in a variety of situations and ought to handle high fps, but I don't know that all engines do.
Still, I'd like to see someone try!
#222 posted by necros on 2012/04/08 03:55:11
you must also halve .yaw_speed because movetogoal will be called twice as fast and so turn twice as fast.
256 Frame Limit
#223 posted by Kinn on 2012/04/09 00:18:02
probably not a huge issue if you don't mind splitting your anims over multiple models if you need more frames, and swapping the models when appropriate.
On a related note it usually makes sense to spread anims over different models if the creature varies size substantially - i've seen models where the vertex accuracy is totally trashed because of just a few frames where the dimensions of the model is large compared to the rest of the frames - moving these "large frames" into a seperate .mdl would have fixed that. The super-hell-knight thing from Nehahra is an example of how not to do it, and ironically the "large frames" that fucked the vert accuracy over in that weren't even used in the end - they were removed from the model after it had been converted to .mdl >_<
#224 posted by necros on 2012/04/09 00:23:56
yeah, that really pissed me off. :P
but tbh, i never considered splitting different bounds of a mdl into seperate files. that's a pretty good idea.
Good Point...
#225 posted by metlslime on 2012/04/09 05:12:19
I should have done that with my large and small banners in rubicon 2...
Gmax
#226 posted by sock on 2012/04/10 00:09:01
@Preach, I am trying to understand what you did with your ogre model in Gmax. (workflow) The chainsaw and grenade launcher objects both have blue boxes. They look like some attachment tag, what are they? How did you create them? I assume this lines up with a bone in the hand?
The bone structure for your ogre has a tail bone, what was that for? When you were creating the bone structure, did you start with the spine? Did you mirror the left and right bones?
The ogre is one complete mesh, is that done for a reason? animation etc
Do you know of any good gmax bone/animation tutorials you used?
Thanks for all your help
Gmax Tutorials
#227 posted by sock on 2012/04/10 03:05:12
So far I have only found this:
http://world-editor-tutorials.thehelper.net/magos.php
Most forums seem to point at this. The bone arrangement in this article is a bit goofy plus the spine is not connected. The article does talk about helpers (your blue box attachment) I assuming this is the same system?
#228 posted by necros on 2012/04/10 04:08:11
i don't really know how much experience you have in this area, but this tutorial: http://www.3dtotal.com/ffa/tutorials/max/joanofarc/joanmenu.asp covers everything from start to finish. you'll want to check out the last section for rigging.
it was written for 3ds max, but a much older version, so likely there is very little (if any) information that can't be brought over to gmax.
also, for more general information, 3dtotal is one of the best sites i know, with a higher concentration of max users than other places.
Naming
#229 posted by Preach on 2012/04/10 12:32:15
Seems like you've got a handle on how it all works, but I thought I'd add that the blue boxes are a type of helper called a "dummy". They're just like a simpler version of a bone, which is all you really need for something like a gun. You make them animate with the model by applying a "follow constrain" from the dummy to the hand bone.
Just Saw These
#230 posted by ijed on 2012/04/10 14:00:28
And loath as you may be to change the pipeline you got to Sock, give this a look:
http://oasis.xentax.com/index.php?content=downloads
I post this about once every two weeks or so.
Its a multi-multi platform / game model converter, very well maintained (found a problem in BMP format and it took a day or so to fix) and now supports IQM (boned models in Quake with proper UVs).
I use 3dsMax but I know a couple of people go direct from Blender - Noesis - Quake without additional steps.
So what they see in Blender is what they see in the engine.
->
#231 posted by ijed on 2012/04/10 14:02:52
And, Blender is free and up to date as well, though it'll need learning. There are lots of youtube tuts etc.
And, Necros, I remember that tutorial from uni :)
#232 posted by sock on 2012/04/10 16:09:39
@Preach, thanks I was not sure if you used a dummy or point helper, it is hard to tell the difference. Gmax is not really helpful on showing what things are what.
One thing I would like to request of your md3 to md1 converter is the ability to specify a list of animation names. At the moment they are just a long list of (from 3dsmax). Can a list (comma delimited strings) be specified in the text file you use for the compiler?
- Unfortunately I still need to use Qme to setup the animation names so they can work with the QC file.
@necros, that is a very cool link, thank you. The English in that tutorial is strange, but I guess that is because it was translated.
@ijed, I am close to finishing my model and the pipeline I have at the moment works! All the plugin and converters produce a result which works in Q1. If gmax bone animation drives me nuts, I will check out this other pipeline. Thanks for the link.
Animation Names
#233 posted by anonymous user on 2012/04/10 17:13:06
you actually do not have to do that.
in your QC, when you alias the frames with $frame nameofframe1 nameofframe2 etc...
they do not have to match at all. only the order matters.
so if you have 'frame1' 'frame2' 'frame3' in your model, if frame1 and 2 are walk anims and frame3 is a run then you need to alias in order:
$frame walk1 walk2 run1
all the qc compiler does it look at the order the aliases appear in and assign a number to them, so $walk1 = 0, $walk2 = 1.
you can just reference the frame numbers directly in the function macros (and you can use the aliases in if checks and such (if (self.frame > $walk2))
also, check out my qc starter vb program.
it will set up all your frame aliases along with the function macros after you enter the number of frames and such: http://necros.slipgateconstruct.com/utilities/ne_qcstarter/
|