Оформить заказ дополнительного upwardsModifier
параметра
AddExplosionForce(float explosionForce, Vector3 explosionPosition, float explosionRadius, float upwardsModifier = 0.0f, ForceMode mode = ForceMode.Force));
(API для Unity 4 больше не доступен, но я думаю, что там должно быть то же самое)
Корректировка видимого положения взрыва, чтобы казалось, что он поднимает предметы.
и
Используя этот параметр, вы можете создать впечатление, что взрыв подбрасывает объекты в воздух, что может дать более драматический эффект, чем простая внешняя сила. Сила может быть применена только к активному твердому телу.
По умолчанию это 0
, поэтому, если вы не пропустите его, не будет никакой силы вверх.
Как видно из примера из API
Vector3 explosionPos = transform.position;
Collider[] colliders = Physics.OverlapSphere(explosionPos, radius);
foreach (Collider hit in colliders)
{
Rigidbody rb = hit.GetComponent<Rigidbody>();
// |
// v
if (rb) rb.AddExplosionForce(power, explosionPos, radius, 3.0f);
}
они прошли, например, 3.0f
как upwardsModifier
. Это делает взрыв
представляется центрированным на 3,0 единицы ниже его фактического положения для расчета направления силы (т. Е. Центр и радиус воздействия не изменяются).
Примечание: напечатано на смартфоне, так что никаких гарантий, но я надеюсь, что идея проясняется