天天看点

Unity 初学3 爆炸效果代码

创建场景 

创建新场景,并在场景中创造如下图    进行测试

1.一个球体: Sphere

2.九个圆柱体:Cylinder

Unity 初学3 爆炸效果代码

并且在两种物体中添加 Ridibody  刚体

添加代码:代码并不是让球体爆炸  而是以球体中心为原点,让圆柱体产生爆炸
Unity 初学3 爆炸效果代码
private void OnCollisionEnter(Collision collision)
    {
        //爆炸范围半径10Cm
        float A = 50;
        //得到圆心为 collision.contacts[0]  半径为R的圆中间所有的碰撞体
        Collider[] colliders = Physics.OverlapSphere(collision.contacts[0].point,A);
        foreach (Collider collider in colliders)
        {
            //如果检测到BOX
            if (collider.tag=="BOX")
            {
                //添加爆炸力
                collider.GetComponent<Rigidbody>().AddExplosionForce(2000f, collision.contacts[0].point,A);
            }
        }
    }           

 为了避免炸飞地面,将所有圆柱体统一标签为BOX,并在球体落地后检测周围50范围内的BOX的刚体,产生爆炸

Unity 初学3 爆炸效果代码

继续阅读