Unity 实现自定义图片破碎效果-2D_Destruction
- 导引
- 效果预览
- 源码下载地址
- 实现流程
- 1、添加SrpiteRenderer组件
- 2、添加Explodable组件
- 3、PolygonCollider2D组件
- 4、碎片生成
- 5、最后一步,添加点击破碎触发效果
- 6、添加爆破效果:ExplosionForce
- 7、碎片再次破碎:ExplodableFragments
- -----------
导引
最近有一个项目需要实现点击气泡然后气泡破碎碎裂的效果,然后就想着写出来博客进行记录一下。
效果预览
源码下载地址
进入github下载2dDestructionPackage.unitypackage
实现流程
1、添加SrpiteRenderer组件
给SrpiteRenderer指定对应的图片,支持Unity所支持的所有图片格式。
2、添加Explodable组件
同时会自动加载上Rigidbody2D组件
参数可以自己试试看看效果,刚开始可以设置Rigidbody 2D组建的Body Type属性为Kinematic,画面开始保持不掉落。
3、PolygonCollider2D组件
Explodable组件要求必须要配合PolygonCollider2D组件使用,那就不废话加上他。
4、碎片生成
点击 Explodable 组件的 Generate Fragments 按钮。
可以尝试修改Explodable 组件的 ** Shatter Type** 属性,设置碎片破碎的形状,设置成自己想要的效果,效果对比如下图片。
5、最后一步,添加点击破碎触发效果
给tree添加ExplodeOnClick脚本组件,实现原理很简单,其实就是添加了**OnMouseDown()点击事件,然后触发Explodable explode()**方法,感兴趣的可以自己研究源码,破碎的效果实现源码也不复杂,当前不操作完成,实现的效果下图所示。
6、添加爆破效果:ExplosionForce
Force:破碎力度,直接影响破碎的爆破力度。
Radius:破碎效果最大半径
Uplift Modifer:破碎后碎片向上和向下的一个惯性参数,可取正负值,可自己修改看效果。
7、碎片再次破碎:ExplodableFragments
添加ExplodableFragments组件后需要重新点击Explodable组件的Generate Fragments重新生成碎片才能实现碎了再碎的效果。