void Update() { if (controller.state == RagdollControllerState.Animated) { RagdollPhysics.MovePossibleCharacterController(transform, Vector3.Lerp(transform.position, target.position, Time.deltaTime * speed)); } }
IEnumerator CheckForRagdollGrab(Ray ray) { if (grabbedBone) { RagdollPhysics.DetachRigidbody(grabbedBone.GetComponent <Rigidbody>(), hangJoint, false); grabbedBone = null; } else { yield return(new WaitForFixedUpdate()); RaycastHit hit; if (Physics.Raycast(ray, out hit, 100f, shootMask, QueryTriggerInteraction.Ignore)) { grabbedBone = hit.transform.GetComponent <RagdollBone>(); if (grabbedBone) { ragdollGrabberAnchor.transform.position = hit.point; hangJoint = RagdollPhysics.GrabRigidbody(grabbedBone.rb, ragdollGrabberAnchor.childRigidbody, true); } } } }
// Use this for initialization void Start() { rag = GetComponent <RagdollPhysics>(); }