Що таке Physics.OverlapBox в Unity C#?
Метод Physics.OverlapBox в Unity використовується для перевірки перекриття (колізій) об'єктів у межах заданої прямокутної області (об'ємної коробки). Він повертає масив об'єктів, чиї колайдери перетинаються з цією областю, що робить його корисним для виявлення зіткнень, визначення об'єктів у зоні дії або перевірки тригерів.
Physics.OverlapBox
- Об'ємна перевірка: Метод визначає перетинання об'єктів із коробкою у 3D-просторі, використовуючи центральну точку, розміри та орієнтацію.
- Повернуте значення: Повертає масив об'єктів типу
Collider, які перетинають задану область. - Гнучкість налаштування: Ви можете вказати позицію, розміри, обертання та шар, щоб обмежити область перевірки.
- Не вимагає фізичного матеріалу: Метод працює з будь-якими об'єктами з колайдерами, навіть якщо вони не мають фізичних матеріалів.
Physics.OverlapBox
using UnityEngine;
public class OverlapBoxExample : MonoBehaviour
{
public Vector3 boxCenter = Vector3.zero;
public Vector3 boxSize = new Vector3(2, 2, 2);
public LayerMask layerMask;
void Update()
{
// Створення області перевірки
Collider[] hitColliders = Physics.OverlapBox(transform.position + boxCenter, boxSize / 2, Quaternion.identity, layerMask);
// Перевірка об'єктів у зоні дії
foreach (Collider hitCollider in hitColliders)
{
Debug.Log("Об'єкт виявлено: " + hitCollider.name);
}
}
// Візуалізація області перевірки в редакторі
private void OnDrawGizmos()
{
Gizmos.color = Color.green;
Gizmos.DrawWireCube(transform.position + boxCenter, boxSize);
}
}
Коментарі