Довідники Unity C# Physics.OverlapSphere

Що таке Physics.OverlapSphere в Unity C#?

Метод Physics.OverlapSphere використовується для визначення всіх колайдерів, які знаходяться всередині або перетинають сферу заданого радіусу. Цей метод особливо корисний для виявлення об'єктів у зоні, наприклад, при реалізації ефектів вибуху, виявленні ворогів навколо гравця або обробці зональних взаємодій.


Основні характеристики методу Physics.OverlapSphere
  1. Пошук об'єктів: Повертає масив колайдерів, які знаходяться в межах заданого радіусу.
  2. Гнучкість налаштувань: Дозволяє вказувати центр сфери та її радіус для пошуку.
  3. Фільтрація: Може використовуватися разом із шарами, щоб шукати лише певні типи об'єктів.
using UnityEngine;

public class Explosion : MonoBehaviour
{
    public float radius = 5.0f;

    void Start()
    {
        // Центр сфери — поточна позиція об'єкта
        Vector3 explosionPosition = transform.position;

        // Отримуємо масив об'єктів, що знаходяться в радіусі
        Collider[] colliders = Physics.OverlapSphere(explosionPosition, radius);

        // Обробляємо знайдені об'єкти
        foreach (Collider hit in colliders)
        {
            Debug.Log("Знайдено об'єкт: " + hit.name);

            // Приклад: якщо об'єкт має Rigidbody, додаємо імпульс
            Rigidbody rb = hit.GetComponent<Rigidbody>();
            if (rb != null)
            {
                rb.AddExplosionForce(1000f, explosionPosition, radius);
            }
        }
    }
}

У цьому прикладі метод Physics.OverlapSphere використовується для виявлення всіх об'єктів у межах радіусу. Знайденим об'єктам із компонентом Rigidbody додається сила вибуху.

Коментарі
Додати коментар

Поки що коментарів немає