与附加碰撞体的包围盒最接近的点。
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;
}
}