--
[ Picked text/plain from multipart/alternative ]
Hi Mike,

Unfortunately since you are doing multiplayer (you said "HL2DM game") you
are probably using prediction for players with latency, so, you have to
predict the animation sequences of the local player if you want to show them
(third person.)

You need to preidct the stuff that SetAnimation does on the server. First
thing to do would be to make SetAnimation a shared function so that client
and server are using the same logic to set player sequences.

Once you have that, you just need to make sure that the client is calling
SetAnimation in CMoveHelperClient::PlayerSetAnimation and in
C_BasePlayer::PostThink to mimic what the server does.

Then, you need to fix m_flCycle for the local player since if it comes down
from the server it will mess up what the client's SetAnimation is doing, so
copy what Valve has done in C_BaseCombatWeapon::Interpolate, which is making
m_flCycle cycle properly independent of the server.

This is still not complete, because you will notice that
C_BaseAnimatingOverlay does not have the same methods available on the
client as the server, so if you want to use gestures / layered animation you
will need to make a version of C_BaseAnimatingOverlay that will work on the
client. It should be a matter of adding the code necessary to make
RestartGesture() work on the client. This is used for playing gestures like
attacks and signals, if your custom player model doesnt have any gestures
you may not need to do this.

Another thing is to check into CPlayerAnimState, which Garry already
mentioned does some funny stuff that can muck up your animation and
positioning (ie, calling SetLocalAngles when the function is called
ComputePoseParam_BodyYaw?!)

If you just wanted a single player, it would just be a matter of tracking
down the source of the jitter and fixing it, but for multiplayer you will
definately want to predict the animations, since even if you smooth out the
jitter completely, you will still notice that the animations lag behind what
the local player is actually doing, since his movements are predicted but
his animation has to come down from the server.

This is essentially what I said in the VERC forum but hopefully this summary
will help you understand better.

Paul

On 8/14/06, Michael Chang <[EMAIL PROTECTED]> wrote:

> Yeah. I've been a long-time participant in that thread. If you look at the
> latest posts, there is still no proper solution.
>
> I don't think this is directly related to third-person, simply a bug in
> client-side animation.
>
> Please help. Thanks!
>
--

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to