破碎插件
关于物品破碎,其实之前已经分享过一个免费插件,如果没有碎片化的模型,可以选择使用这个插件:
OpenFracture插件实现unity3d物体破裂和切割
可破碎的物品
代码控制
调用
其实最主要的逻辑就是控制刚体的isKinematic开启关闭
加入破坏力
为了让效果更好,还可以加入一个圆形推开的力
[SerializeField] float damageRadius = 1f; [SerializeField] float explosionForce = 10f; // 在伤害半径内获取所有的碰撞体对象 Collider[] colliders = Physics.OverlapSphere(transform.position, damageRadius); // 遍历所有在伤害半径内的碰撞体对象 foreach (Collider objectInRange in colliders) { Rigidbody rb = objectInRange.GetComponent<Rigidbody>(); if (rb != null) { // 将力的爆炸效果应用于碰撞体对象 rb.AddExplosionForce(explosionForce, transform.position, damageRadius); } }