OK, so inside the MDL file format there is support for simple frames and group frames. I'm trying to get it straight in my head which is good for what.
It looks like things like the walltorch use group frames. Is this so the engine can start animating them on a random frame? I don't see anything in the QuakeC that uses this information so it must be engine side.
Am I thinking about this the right way? Do group frames have other uses?
Programming question regarding MDLs...
framegroups autoanimate. this saves network bandwidth, and is required for animated 'static' items like walltorches.
for the most part, you don't know which actual frame will be shown at any given time, so its use is somewhat limited to basic stuff, like static items.
interestingly there are skingroups too.
framegroups can be controlled in csqc using frame1time/frame2time as the linear progression through the sequence. server-side qc has no control of framegroups other than to use one instead of a static frame.
logically you could implement your stand/run/walk animation as a framegroup. I'm not sure how many engines actually implement 4-way interpolation though. so mneh.
for the most part, you don't know which actual frame will be shown at any given time, so its use is somewhat limited to basic stuff, like static items.
interestingly there are skingroups too.
framegroups can be controlled in csqc using frame1time/frame2time as the linear progression through the sequence. server-side qc has no control of framegroups other than to use one instead of a static frame.
logically you could implement your stand/run/walk animation as a framegroup. I'm not sure how many engines actually implement 4-way interpolation though. so mneh.
-
- Posts: 399
- Joined: Thu May 15, 2008 10:46 pm
- Location: its a secret
-
- Posts: 2126
- Joined: Sat Nov 25, 2006 1:49 pm
The .mdl format support random or synchronized animations, so you can indeed create looping animation groups for walking, standing and others. IIRC I saw a few models for Prydon Gate NPC's using this technique. The main advantage would be not having to write boring QuakeC stuff.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC (LordHavoc)
-
- Posts: 2126
- Joined: Sat Nov 25, 2006 1:49 pm
-
- Posts: 399
- Joined: Thu May 15, 2008 10:46 pm
- Location: its a secret
ya, so i like, grouped the stand/run/walk frames, but when i code it do i have to code them out like : or can i just do ??
also i am wondering with the bars of frame code would it ok like:??
Code: Select all
$frame stand1 stand2 stand3 etc.
Code: Select all
$frame stand1
also i am wondering with the bars of frame code would it ok like:
Code: Select all
void() gug_stand1 =[ $stand1, gug_stand1 ] {ai_stand();if (random() > 0.8)
sound (self, CHAN_VOICE, "folder/sound.wav", 1, ATTN_IDLE);};
bah