I'm trying to get a Mobile Crowd Agent to have a ragdoll effect when they die.
Job pays 70$ via paypal. I'm using UDK Feb 2011. Please feel free to message me if you need anymore information.
In the Classes > MobileGameCrowdAgent.uc I have the following code:
Code:/** Stop agent moving and pay death anim */ function PlayDeath(vector KillMomentum) { Super.PlayDeath(KillMomentum); if ( WorldInfo.TimeSeconds - LastRenderTime > 1 ) { LifeSpan = 0.01; } else { SkeletalMeshComponent.SetHasPhysicsAssetInstance(true); // If we had stopped updating kinematic bodies on this character due to distance from camera, force an update of bones now. SkeletalMeshComponent.MinDistFactorForKinematicUpdate = 0.f; SkeletalMeshComponent.ForceSkelUpdate(); SkeletalMeshComponent.UpdateRBBonesFromSpaceBases(TRUE, TRUE); CollisionComponent = SkeletalMeshComponent; SetTickGroup(TG_PostAsyncWork); SkeletalMeshComponent.SetTickGroup(TG_PostAsyncWork); SkeletalMeshComponent.PhysicsWeight = 1.0; SetPhysics(PHYS_RigidBody); SkeletalMeshComponent.SetBlockRigidBody(true); SkeletalMeshComponent.PhysicsAssetInstance.SetAllBodiesFixed(FALSE); SkeletalMeshComponent.SetRBChannel(RBCC_Pawn); SkeletalMeshComponent.SetRBCollidesWithChannel(RBCC_Default,TRUE); SkeletalMeshComponent.SetRBCollidesWithChannel(RBCC_Pawn,TRUE); SkeletalMeshComponent.SetRBCollidesWithChannel(RBCC_Vehicle,TRUE); SkeletalMeshComponent.SetRBCollidesWithChannel(RBCC_Untitled3,FALSE); SkeletalMeshComponent.SetRBCollidesWithChannel(RBCC_BlockingVolume,TRUE); SkeletalMeshComponent.SetTraceBlocking(false,true); if( KillMomentum != vect(0,0,0) ) { SkeletalMeshComponent.AddImpulse(0.5*KillMomentum, Location, '', false); } LifeSpan = DeadBodyDuration; } }



Reply With Quote


Bookmarks