Hi list I've asked this before but was ignored :( Can anyone please help me on this issue?
I have animations in our mod that need to directly influence a player's absorigin, for example a dash or roll or cartwheel, etc. These animations are pretty sophisticated and don't look good if we do QC root position extraction and fake it with a physics velocity push. We actually want short -performances- for these player animations, ie: like how Dog runs around attacking things in HL2, with the player ending up in a different location than where he started. Lacking any idea of how that's -normally- implemented, I've written some pseudocode. Maybe some kind soul can point me to the right direction? ---pseudocode--- StudioFrameAdvace(){ //...after all of valve's stuff... AppendAnimationOriginOffset() } AppendAnimationOriginOffset(){ Vector currentSkeletonRootPosition = GetRootBoneOrigin() Vector lastSkeletonRootPostion = lastRootPosition; Vector delta = currentSkeletonRootPosition - lastSkeletonRootPosition Vector currentPlayerPosition = GetAbsOrigin() Vector futurePlayerPosition = currentPlayerPosition + delta; // make sure our animation offset isn't moving our player into walls and things trace_t tr; traceLine( currentPlayerPosition, futurePlayerPosition + playerHull, ..., &tr, ...) if( tr.m < 1.0 ) futurePlayerPosition *= m SetAbsOrgin( futurePlayerPosition ) } ---end pseudocode--- It seems that this method would need to predict this (I have studioadvanceframe and predicted sequences implemented on both client/server). Then, it seems I might have to extract the skeleton root's animation offset back out of the animation sequence itself, but from code not from QC files (X,Y,Z commands). Please help, thanks. ~M _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders