Unity. Rigidbody.AddExplosionForce()
π Rigidbody.AddExplosionForce()
νλ°μ΄ μΌμ΄λ κ²μ²λΌ νλ°μ κ·Όμ²μ μ€λΈμ νΈλ₯Ό νλ€ μ μλ? ν¨μλ€. νλ°μ νμ λ°μ μ€λΈμ νΈ μ μ₯μμ μ¬μ©νλ€.
π μ¬μ©λ²
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); //νλ° ν, νλ° μμΉ, νλ° λ°κ²½, μλ‘ μꡬμΉλ ν
}
}
Rigidbody.AddExplosionForce()
λ Physics.OverlapSphere()
μ μ°λ©΄ μ’λ€. μ μ½λλλ‘ μ¬μ©νλ©΄ νλ°μ μ μμΉν μ€λΈμ νΈμ λ°κ²½ 5.0f μμ μλ collidersλ€μ΄ νλ°μ μν΄ νμ λ°μ νλ€λ¦¬λ λͺ¨μ
μ 보μ¬μ€ κ²μ΄λ€. λͺ¨μ
μ νλ°μ μμ λ©μ΄μ§μλ‘ μ½ν΄μ§λ€.
λκΈλ¨κΈ°κΈ°