- Home /
Rocket Explosive Force
Hi, I am using a rocket launcher script which fires this rocket prefabs, which have this script attached :
// The reference to the explosion prefab
var explosion : GameObject;
var timeOut = 3.0;
var radius = 5.0;
var power = 10.0;
// Kill the rocket after a while automatically
function Start () {
Invoke("Kill", timeOut);
// Applies an explosion force to all nearby rigidbodies
var explosionPos : Vector3 = transform.position;
var colliders : Collider[] = Physics.OverlapSphere (explosionPos, radius);
for (var hit : Collider in colliders) {
if (!hit)
continue;
if (hit.rigidbody)
hit.rigidbody.AddExplosionForce(power, explosionPos, radius, 3.0);
}
}
function OnCollisionEnter (collision : Collision) {
// Instantiate explosion at the impact point and rotate the explosion
// so that the y-axis faces along the surface normal
var contact : ContactPoint = collision.contacts[0];
var rotation = Quaternion.FromToRotation(Vector3.up, contact.normal);
Instantiate (explosion, contact.point, rotation);
// And kill our selves
Kill ();
}
function Kill () {
// Stop emitting particles in any children
var emitter : ParticleEmitter= GetComponentInChildren(ParticleEmitter);
if (emitter)
emitter.emit = false;
// Detach children - We do this to detach the trail rendererer which should be set up to auto destruct
transform.DetachChildren();
// Destroy the projectile
Destroy(gameObject);
}
@script RequireComponent (Rigidbody)
But when they hit another rigidbody it doesn't gets any effect from the rocket, any idea why?
Answer by GalZohar · Jan 01, 2013 at 10:58 AM
Depends how you move your rocket. If you move it by changing the transform.position you are breaking the collision detection system. Instead, move it by adjusting its velocity inside the FixedUpdate function.
Answer by Orloffyeah · Jan 01, 2013 at 11:05 PM
Thanks for your quick answers, it actually works! :D
Your answer
Follow this Question
Related Questions
How not affect other objects with physics of Detonator? 1 Answer
Cast Source Instantiating Error 1 Answer
Adding explosion force knockback on player 1 Answer
How to make thruster rotation 0 Answers
How to spawn a prefab on a trigger? 3 Answers