Inside3D!
     

$frames and self.frame
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming
View previous topic :: View next topic  
Author Message
Swift



Joined: 26 Jan 2010
Posts: 44

PostPosted: Sat Apr 17, 2010 4:20 am    Post subject: Reply with quote

If you're working with Darkplaces, it may be better to use framegroups instead.

http://dpwiki.slipgateconstruct.com/index.php?title=Modeling_for_DP
Back to top
View user's profile Send private message
Sajt



Joined: 16 Oct 2004
Posts: 1026

PostPosted: Sat Apr 17, 2010 5:50 am    Post subject: Reply with quote

Hmm. Framegroups are useful for idle animations, but not much else. An illustration: if you use framegroups, and some entity goes into a death animation outside of your PVS, and then you move into the room, you'll see the death animation just starting when it should be ending.
_________________
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.
Back to top
View user's profile Send private message
Swift



Joined: 26 Jan 2010
Posts: 44

PostPosted: Sat Apr 17, 2010 5:55 am    Post subject: Reply with quote

Oh really? I'm sure I saw Nexuiz use framegroups for character anims.

For some reason I thought they could drastically simplify a hub system for anims.

Well, is there any way to jigg it so that framegroup data would be sent to players outside the PVS?

Edit: Actually, one could create seperate DYING and DEAD framegroups entries and do some statemachine checking. Ya? Either way, I'm not entirely sure I understand the downside.
Back to top
View user's profile Send private message
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Sat Apr 17, 2010 10:20 am    Post subject: Reply with quote

Depends what the framegroup is synced to. In regular quake, the framegroup animation is synced to map start time. So start a framegroup animation and your animation begins mid-death.

DP's skeletal models are an exception to this, and those start the animation when the model first dies.

If you're using csqc, then framegroups may be easier to use, where you can specify the exact time into it. Otherwise I wouldn't really recommend using framegroups (the death animation is just one issue).

The first time you see the ent, it'll start playing its current animation. If you remove it and readd it (teleport out and back) the animation restarts. If you switch it to its dead non-animation after a fixed length of time, people just entering the room will see it starting to die then suddenly flat on the ground.
_________________
What's a signature?
Back to top
View user's profile Send private message Visit poster's website
mk



Joined: 04 Jul 2008
Posts: 95

PostPosted: Tue Apr 20, 2010 3:41 pm    Post subject: Reply with quote

Spike wrote:
In regular quake, the framegroup animation is synced to map start time.

Plus a random amount, if the "random" flag is defined.
_________________
Makaqu engine blog / website.

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Back to top
View user's profile Send private message
Swift



Joined: 26 Jan 2010
Posts: 44

PostPosted: Thu Apr 22, 2010 6:14 am    Post subject: Reply with quote

I guess the question remains: can all of these problems with framegroups can be averted if player animation is coded in CSQC?

Spike wrote:
If you're using csqc, then framegroups may be easier to use, where you can specify the exact time into it.


What are the effects of using .frame1time frame2time etc?
Assuming MD1/MD3 model - Does frame1time/frame2time specify the next frame, or next framegroup?
Back to top
View user's profile Send private message
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Thu Apr 22, 2010 10:35 am    Post subject: Reply with quote

.frame specifies the framegroup
.frametime specifies the time into the framegroup.

this results in a 4-way blend between the two frames of the new framegroup and the two frames of the old framegroup.

if you then send the time at which the animation was meant to start from the server, and calc the frametime as time - startime, then someone seeing a death half way through or after the event will see it starting half way through or already dead.

how you encode the time can vary. one way is as 'X seconds ago' rather than the absolute time, as this can be sent in a single byte. You'll want to scale it.
_________________
What's a signature?
Back to top
View user's profile Send private message Visit poster's website
ceriux



Joined: 06 Sep 2008
Posts: 969
Location: Florida, USA

PostPosted: Mon Apr 26, 2010 2:56 pm    Post subject: Reply with quote

frag.machine wrote:

I still don't think it's a good programming practice, but... It's up to you. It's your code. Smile


personally its easier for me to code animations with out macro's they confuse me.
_________________
QuakeDB - Quake ModDB Group
Back to top
View user's profile Send private message Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2004 phpBB Group