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

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

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

Rigidbody.SweepTest

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

Успех!

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

Закрыть

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

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

Закрыть

Отменить

Руководство
public function SweepTest(direction: Vector3, out hitInfo: RaycastHit, maxDistance: float = Mathf.Infinity, queryTriggerInteraction: QueryTriggerInteraction = QueryTriggerInteraction.UseGlobal): bool;
public bool SweepTest(Vector3 direction, out RaycastHit hitInfo, float maxDistance = Mathf.Infinity, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);

Параметры

direction @param direction Направление, в которое должно быть направлено твердое тело.
hitInfo @param hitInfo Если возвращает true, hitInfo будет содержать больше информации о том, где у коллайдера был удар (см. RaycastHit).
maxDistance @param distance длина протяжения.
queryTriggerInteraction Specifies whether this query should hit Triggers.

Возврат значений

bool @возвращает true когда твердое тело пересекает любой коллайдер, в противном случае false.

Описание

Проверяет, столкнулось ли твердое тело с чем либо. Если да - перемещает через сцену.

Проверяет, столкнулось ли твердое тело с чем либо. Если да - перемещает через сцену. Действие похоже на Physics.Raycast для всех точек, содержащихся в любом из твердых тел коллайдеров и возвращающих сообщения о ближайших из всех прикосновений (если таковые имеются). Это полезно при программировании ИИ, когда вам нужно знать будет ли объект соответствовать где либо без соприкосновений с чем либо.

Важно: эта функция работает только когда коллайдер примитивного типа (сфера, куб или капсула) прикреплен к твердому телу. Меш коллайдеры не будут работать, несмотря на то что они могут присутствовать в сцене.

See Also: Physics.SphereCast, Physics.CapsuleCast, Rigidbody.SweepTestAll.


        
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public float collisionCheckDistance; public bool aboutToCollide; public float distanceToCollision; public Rigidbody rb;

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

void Update() { RaycastHit hit; if (rb.SweepTest (transform.forward, out hit, collisionCheckDistance)) { aboutToCollide = true; distanceToCollision = hit.distance; } } }