public bool SweepTest (Vector3 direction, out RaycastHit hitInfo, float maxDistance= Mathf.Infinity, QueryTriggerInteraction queryTriggerInteraction= QueryTriggerInteraction.UseGlobal);

Parámetros

directionLa dirección en la cual barrer el rigidbody.
hitInfoSi true se devuelve, hitInfo contendrá más información acerca de dónde el collider ha golpeado (See Also: RaycastHit).
maxDistanceLa longitud del barrido.
queryTriggerInteractionEspecifica si esta consulta debería golpear Triggers.

Valor de retorno

bool True cuando el barrido del rigidbody intersecta cualquier collider, de lo contrario false.

Descripción

Prueba si un rigidbody colisiona con cualquier cosa, si se moviera a través de la escena.

Tests if a rigidbody would collide with anything, if it was moved through the scene. This is similar to doing a Physics.Raycast for all points contained in any of a Rigidbody's colliders and returning the closest of all hits (if any) reported. This is useful for AI code, say if you need to know that an object would fit through a gap without colliding with anything.

Tenga en cuenta que esta función sólo funciona cuando un tipo de collider primitivo (esfera, cubo o cápsula) o un mesh convexo se une al objeto rigidbody - los colliders de mesh cóncavo no funcionarán, aunque pueden detectarse en la escena por el barrido.

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; } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961