This is a continuation of my problems involve with getting a data glove
controlling a ragdoll simulated hand model.  To catch up, I've been
following advice from Jay Stelly so far, and have no problems thus far with
any of his solutions to controlling bones.  The recurring problems seem to
be with spawning and creating a working model however.

Okay, here's the problem. I need a model to follow the player as his
arm/hand, and I need to manually edit it's bone data via ragdoll. Here's my
process I went through and the problems I'm now faced with.

Sounds generally simple enough, until I realized that the player model
rotates in a way unlike what you see. The view model class is setup to
follow the player's eye positions and angles much more accurately (as
opposed to the GetAbsAngles), and it takes in weapon models to set as it's
own whenever you switch weapons. So you never really switch weapons
entities, you just play a Holster animation then swap models on the same
entity. So in order to follow the player, I thought to try to make the
entity a weapon. I then realized I cannot control animations. The view model
is an obnoxious entity that over-rides the playing of sequences from
anything derived from BaseCombatWeapon.

So I made my own entity to get started on some trial and error. I created an
client-side only entity that derived from C_ClientRagdoll. I initiated and
spawned it through my player's spawn.

So I took my own entity and tried to follow the example of the view model to
follow the player's position. Annoyingly, the CalcViewModelView function on
the player is not virtual and the base player has the classname for the view
model in it's header, so my personal player class has no control over that
function (without editing base player, and I'm trying to avoid for Valve
updates). In the end, I could make my own CalcView and ItemPostFrame
functions to send my new entity the current status of the view model. When
the game runs however, the position of my model stutters and does indeed
follow the player, but in a jumpy fashion. I was wondering if I had to do
something server-side, but I have no idea what. First problem is, how do you
get something that is not a weapon to follow the player accurately without
having stutter?

The other problem I'm having is collision. I expected collision to just
follow the model around appropriately. It turns out that when I bump things
with my hand, which does indeed have tested collision models, nothing
happens. The hand model just goes through objects. Is this because I'm
updating the position of my model to follow the player? Is it instead
because it is inside the player's bounding box and decides to no longer
trace collision? How can I get my model to collide and push things down when
I bump them? The movetype, movecollide, and collision groups have been
played with a bit, but I'm not sure what combination will do what. It seems
no matter what I try, when the arm is following my player around, nothing
can collide with it.

Code is available upon request if anybody understands or wishes better
comprehension of the problem.

Please give me a hand, there's a deadline coming that is going to kill me.

_________________________________________________________________
Don’t just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/


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

Reply via email to