Hello.
I want to make a cloned ragdoll fly by an explosion. I have an animated character and when it dies a ragdoll whit same bones position is cloned. So I can’t make the ragdoll fly when the explosion kills the character. I got this so far:
On char Script…
function Dead() {
var clone : Transform;
clone = Instantiate(ragDollClone, transform.position, transform.rotation);
CopyTransformPosition(transform, clone);
clone.rigidbody.AddForce(100.0 * (clone.rigidbody.position - _rocketPrefab.explosionPos));
Destroy (gameObject);
alreadyDead = true;
}
static function CopyTransformPosition (src: Transform, dst: Transform) {
dst.position = src.position;
dst.rotation = src.rotation;
dst.gameObject.active = src.gameObject.active;
for (var child: Transform in dst) {
var curSrc = src.Find(child.name);
if (curSrc) CopyTransformsRecurse(curSrc, child);
}
}
On rocket(Explosion) Script…
function OnCollisionEnter (collision : Collision) {
var explosionOrigin : Vector3 = transform.position;
var colliders : Collider[] = Physics.OverlapSphere (explosionOrigin, radius);
for(var hit : Collider in colliders){
if (hit.rigidbody){
hit.rigidbody.AddExplosionForce(power, explosionOrigin, radius, explosiveLift, ForceMode.Impulse);
explosionPos = explosionOrigin;
Destroy(transform.gameObject);
explosionDamage = (1/((hit.transform.position - explosionOrigin).sqrMagnitude))*160;
hit.transform.SendMessage("ApplyDamage", explosionDamage, SendMessageOptions.DontRequireReceiver);
}
}
}
Thanks in advanced.