Version: 2019.3
public Vector3 ClosestPointOnBounds (Vector3 position);

説明

アタッチされたコライダーのバウンディングボックスにもっとも近い位置

// Subtract damage from a character's hit points when an
// explosion occurs.

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; } }