Forum

Quake frame/animation speed

Discuss programming in the QuakeC language.

Moderator: InsideQC Admins

Quake frame/animation speed

Postby JasonX » Sun Sep 05, 2010 8:00 pm

How can we tweak this value? Right now my animations play perfectly in QME, but in game they're too slow.
JasonX
 
Posts: 411
Joined: Tue Apr 21, 2009 2:08 pm

Postby jim » Sun Sep 05, 2010 10:23 pm

I used
self.nextthink = time + 0.05;
to make it two times faster. 0.1 would be the normal rate. I don't know how it works with player or player weapons. I've only used it in monster animation.
zbang!
User avatar
jim
 
Posts: 599
Joined: Fri Aug 05, 2005 2:35 pm
Location: In The Sun

Postby mankrip » Sun Sep 05, 2010 10:52 pm

Reconfigure QME.

In qME 3.0, go to Options -> Edit in the menu, and then select the Frame Editor tab and set the Target Framerate to 10 fps.

In QME 3.1, go to View -> Preferences in the menu, select the Frame Editor tab, and then set the Target framerate to 10 and the Playback framerate to 10.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Postby Sajt » Mon Sep 06, 2010 3:24 pm

Addendum to mk: I think qME for some idiotic reason defaults to 20 fps playback. It's stupid because Quake and Quake 2 use 10 fps. So what mk said will "fix" qME to play back at 10 fps, as it would appear in Quake. But it will not affect the exported model. You have to change the QC as jim suggested to speed up playback in game.
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Sajt
 
Posts: 1215
Joined: Sat Oct 16, 2004 3:39 am

Postby jim » Mon Sep 06, 2010 7:35 pm

I've also made a little function to make it simpler to type all the nextthink stuff.. as I also wanted some randomness to it.

Code: Select all
// the function:
void(float ft, float rt) A_Frametimer =
{
   local float t;
   t = ft - random() * rt;
   if(t < 0.01)
      t = 0.01; // so it's not too fast, zero or negative
   self.nextthink = time + t;
};

// example code:
void() spikeclaw_idle_01 = [$spikeclaw_idle_01, spikeclaw_idle_02] { ai_stand(); A_Frametimer(0.1, 0.05); };
zbang!
User avatar
jim
 
Posts: 599
Joined: Fri Aug 05, 2005 2:35 pm
Location: In The Sun


Return to QuakeC Programming

Who is online

Users browsing this forum: No registered users and 1 guest