Ближайшая точка к ограничивающей рамке прикрепленных коллайдеров.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public float hitPoints = 10.0F; public Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } void ApplyDamage(Vector3 explosionPos, float radius) { Vector3 closestPoint = rb.ClosestPointOnBounds(explosionPos); float distance = Vector3.Distance(closestPoint, explosionPos); float damage = 1.0F - Mathf.Clamp01(distance / radius); damage *= 10; hitPoints -= damage; } }