void Start() { RagdollAnimator.Create(); _rootRigidbody = RagdollAnimator.Ragdoll.GetComponentInChildren <Rigidbody>(); _rigidbodies = RagdollAnimator.Ragdoll .ChildrenDeep() .Select(x => x.gameObject.GetComponent <Rigidbody>()) .Where(x => x != null) .ToArray(); _states = new Dictionary <int, TransformState>(); _ragdollTransforms = new[] { RagdollAnimator.Ragdoll }.Concat(RagdollAnimator.Ragdoll.ChildrenDeep()).ToArray(); foreach (var child in _ragdollTransforms) { _states.Add(child.GetInstanceID(), new TransformState(child)); } }