Returns an array with all colliders touching or inside the sphere.
// Call a damage function on all objects caught in the // radius of an explosion. function ExplosionDamage(center: Vector3, radius: float) { var hitColliders = Physics.OverlapSphere(center, radius); for (var i = 0; i < hitColliders.Length; i++) { hitColliders[i].SendMessage("AddDamage"); } }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void ExplosionDamage(Vector3 center, float radius) { Collider[] hitColliders = Physics.OverlapSphere(center, radius); int i = 0; while (i < hitColliders.Length) { hitColliders[i].SendMessage("AddDamage"); i++; } } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def ExplosionDamage(center as Vector3, radius as float) as void: hitColliders as (Collider) = Physics.OverlapSphere(center, radius) i as int = 0 while i < hitColliders.Length: hitColliders[i].SendMessage('AddDamage') i++