Forum

Programming question regarding MDLs...

Discuss the creation of various model formats for Quake engines, and related matters to modeling.

Moderator: InsideQC Admins

Programming question regarding MDLs...

Postby Willem » Fri Jan 16, 2009 2:25 pm

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?
Willem
 
Posts: 73
Joined: Wed Jan 23, 2008 10:58 am

Postby Spike » Fri Jan 16, 2009 3:34 pm

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.
Spike
 
Posts: 2908
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby MeTcHsteekle » Fri Jan 16, 2009 6:16 pm

Spike wrote: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.


i was thinking about that a few months ago, would save time eh?
bah
MeTcHsteekle
 
Posts: 399
Joined: Thu May 15, 2008 10:46 pm
Location: its a secret

Postby frag.machine » Sat Jan 17, 2009 1:05 am

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)
User avatar
frag.machine
 
Posts: 2118
Joined: Sat Nov 25, 2006 1:49 pm

Postby Urre » Sat Jan 17, 2009 12:15 pm

frag: Not only that, but also reduces network load a lot, because frame updates don't need to be sent at all. Perfect for all kinds of static animations, like trees blowing in the wind and whatnot.
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby frag.machine » Sat Jan 17, 2009 1:55 pm

Urre: yeah, but only if you're talking about static entities. Dynamic entities still receiving update messages with the same frame number over and over.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2118
Joined: Sat Nov 25, 2006 1:49 pm

Postby MeTcHsteekle » Tue Jan 20, 2009 1:50 pm

ya, so i like, grouped the stand/run/walk frames, but when i code it do i have to code them out like :
Code: Select all
$frame stand1 stand2 stand3 etc.
or can i just do
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
MeTcHsteekle
 
Posts: 399
Joined: Thu May 15, 2008 10:46 pm
Location: its a secret


Return to Modeling

Who is online

Users browsing this forum: No registered users and 1 guest