Unity. Rigidbody.AddExplosionForce()

μ΅œλŒ€ 1 λΆ„ μ†Œμš”

🌟 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듀이 ν­λ°œμ— μ˜ν•΄ νž˜μ„ λ°›μ•„ ν”λ“€λ¦¬λŠ” λͺ¨μ…˜μ„ 보여쀄 것이닀. λͺ¨μ…˜μ€ ν­λ°œμ μ—μ„œ λ©€μ–΄μ§ˆμˆ˜λ‘ μ•½ν•΄μ§„λ‹€.

λŒ“κΈ€λ‚¨κΈ°κΈ°