Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Rigidbody.ClosestPointOnBounds

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public function ClosestPointOnBounds(position: Vector3): Vector3;
public Vector3 ClosestPointOnBounds(Vector3 position);

Параметры

Описание

Ближайшая точка к ограничивающей рамке прикрепленных коллайдеров.

// Subtract damage from a character's hit points when an
// explosion occurs.
var hitPoints : float = 10.0;
var rb: Rigidbody;

function Start() { rb = GetComponent.<Rigidbody>(); }

function ApplyDamage(explosionPos : Vector3, radius : float) { // Find the distance from the explosion position to the surface of the rigidbody. var closestPoint : Vector3 = rb.ClosestPointOnBounds(explosionPos); var distance : float = Vector3.Distance(closestPoint, explosionPos);

// Calculate the damage we apply, decreasing with distance from the strike point. var damage : float = 1.0 - Mathf.Clamp01(distance / radius); damage *= 10; // Apply the damage hitPoints -= damage; }
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; } }