I can get into ragdoll mode fine... but it looks vary jarring when the player comes out of it... since he immediately pops up in his last position before he went rag doll.
Basically the player is being knocked out and lying on ground... but I need him to "blend" into idle position. (rather than just instantly being in idle position)
Eventually I will probably do some sort of animation but wanted to ask if it is possible to blend from ragdoll to idle
I looked and the Feigned death stuff and played around with some of it - adding some that code to my routines but it still abruptly shows the character poping up when its goes out of ragdoll mode.
Is it possible to slowly fade/blend from ragdoll mode to an exsiting "idle" pose? Or do you have to have some sort of "lying on ground and getting up animation"
I even tried to put an 'getup' animation but he pops up immediately FIRST and then starts the getup animation - so not sure how to setup or where to start the animation properly
Its almost like I need to start the 'get up' animation before he gets out of ragdoll mode?
Thanks... Here's some code I am using.
Code:simulated function disableRagdoll() { Mesh.SetTickGroup(TG_PreAsyncWork); // Enable collision SetCollision(true, true, false); // Enable cylinder collision //CylinderComponent.SetActorCollision(true, true); // Change collision component to cylinder //CollisionComponent = CylinderComponent; // ensures that the actor's location and rotation matches the root body's location and rotation SetPhysics(PHYS_Falling); // Animation updates Mesh.bUpdateKinematicBonesFromAnimation=true; // Don't update when we are not looking at it Mesh.bUpdateSkelWhenNotRendered = false; Mesh.bIgnoreControllersWhenNotRendered = true; Mesh.bTickAnimNodesWhenNotRendered = false; // Don't Sync RigidBody location with mesh collation Mesh.bSyncActorLocationToRootRigidBody = false; //Mesh.PhysicsAssetInstance.SetAllBodiesFixed(true); // ensures that physics is blended in Mesh.PhysicsWeight = 0.0; Mesh.bEnableFullAnimWeightBodies = false; Mesh.ForceSkelUpdate(); MyHUD(MyPlayerController(Controller).MyHUD).addmessage("RagDoll Done"); } }



Reply With Quote


Bookmarks