Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public void AddExplosionForce(float explosionForce, Vector3 explosionPosition, float explosionRadius, float upwardsModifier = 0.0f, ForceMode mode = ForceMode.Force));

Параметры

explosionForce Сила взрыва (которая может изменяться в зависимости от расстояния).
explosionPosition Центр сферы, внутри которой действует взрыв.
explosionRadius Радиус сферы, в пределах которой действует взрыв.
upwardsModifier Корректировка видимого положения взрыва, чтобы казалось, что он поднимает объекты.
mode Метод, используемый для применения силы к своим целям.

Описание

Применяет силу к твердому телу, имитирующую эффекты взрыва.

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

Эта функция применяет силу к объекту в точке на поверхности твердого тела, ближайшей к explosionPosition. Сила действует в направлении от explosionPosition до точки поверхности твердого тела. Если explosionPosition находится внутри твердого тела или у твердого тела нет активных коллайдеров, то вместо ближайшей точки на поверхности используется центр масс.

Величина силы зависит от расстояния между explosionPosition и точкой приложения силы. По мере увеличения расстояния между explosionPosition и точкой силы фактическая приложенная сила уменьшается.

Вертикальное направление силы можно изменить с помощью upwardsModifier. Если этот параметр больше нуля, сила прикладывается к точке на поверхности Rigidbody, ближайшей к explosionPosition, но смещенной по оси Y на минус upwardsModifier. Используя этот параметр, вы можете создать впечатление, что взрыв подбрасывает объекты в воздух, что может дать более драматический эффект, чем просто направленная наружу сила. Силу можно приложить только к активному твердому телу. Если GameObject неактивен, AddExplosionForce не действует.

using UnityEngine; using System.Collections; // Применяет силу взрыва ко всем ближайшим твердым телам public class ExampleClass : MonoBehaviour { public float radius = 5.0F; public float power = 10.0F; void Start() { Vector3 explosionPos = transform.position; Collider[] colliders = Physics.OverlapSphere(explosionPos, radius); foreach (Collider hit in colliders) { Rigidbody rb = hit.GetComponent<Rigidbody>(); if (rb != null) rb.AddExplosionForce(power, explosionPos, radius, 3.0F); } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3