Unity中的爆炸力

    void OnCollisionEnter()
    {
        //获取爆炸范围的所有碰撞器
        Collider[] col = Physics.OverlapSphere(transform.position, explosionRadius,lm);
        if(col.Length>0) //如果有的话
        {
            for(int i=0;i<col.Length;i++)
            {   //获取刚体
                Rigidbody b = col[i].GetComponent<Rigidbody>();
                if(b!=null) //如果该物体有刚体的话
                {
                    //添加爆炸力场
                    b.AddExplosionForce(explosionForce, transform.position, explosionRadius);
                }
                unit u = col[i].GetComponent<unit>();
                if(u!=null)
                {
                    u.ApplyDamage(atk);
                }
                
            }
        }
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 创建爆炸效果对象 在Unity,我们可以通过创建一个粒子系统对象来实现爆炸效果。可以在Hierarchy面板右键点击空白处,选择Create Empty创建一个空对象,在Inspector面板点击Add Component按钮,选择Particle System添加粒子系统组件。 2. 设置粒子系统参数 在Inspector面板,我们可以设置粒子系统的各种参数,包括粒子数量、大小、速度、颜色、形状等等。通过调节这些参数,我们可以实现不同形态的爆炸效果。 3. 添加爆炸音效 在Assets面板导入一个音效文件,例如explosion.wav。在Hierarchy面板粒子系统对象,在Inspector面板点击Add Component按钮,选择Audio Source添加音频源组件。在Audio Source的属性面板,将刚才导入的音效文件拖拽到Audio Clip属性上,即可为爆炸效果添加音效。 4. 触发爆炸效果 在场景放置一个触发器对象,并设置其形状和大小,使其包含需要产生爆炸效果的物体。在触发器对象上添加Collider组件,并勾选Is Trigger属性,表示该触发器只用于检测碰撞,不会产生物理效果。然后在触发器对象上添加一个脚本,用于检测碰撞事件。当触发器检测到碰撞事件后,即可调用粒子系统对象的Play()方法,触发爆炸效果。 5. 销毁爆炸效果 爆炸效果通常只是一瞬间的闪现,完成后应该将其销毁,以释放资源。可以在粒子系统对象的Inspector面板,勾选Auto Destroy属性,表示粒子系统播放完成后自动销毁。也可以在脚本手动调用Destroy()方法,将粒子系统对象销毁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值