Unity 实现自定义图片破碎效果-2D_Destruction

  • 导引
  • 效果预览
  • 源码下载地址
  • 实现流程
  • 1、添加SrpiteRenderer组件
  • 2、添加Explodable组件
  • 3、PolygonCollider2D组件
  • 4、碎片生成
  • 5、最后一步,添加点击破碎触发效果
  • 6、添加爆破效果:ExplosionForce
  • 7、碎片再次破碎:ExplodableFragments
  • -----------

导引

最近有一个项目需要实现点击气泡然后气泡破碎碎裂的效果,然后就想着写出来博客进行记录一下。

效果预览

Android 点击图片碎裂特效 图片碎裂效果的软件_游戏程序

源码下载地址

进入github下载2dDestructionPackage.unitypackage

Android 点击图片碎裂特效 图片碎裂效果的软件_游戏程序_02

实现流程

1、添加SrpiteRenderer组件

SrpiteRenderer指定对应的图片,支持Unity所支持的所有图片格式。

Android 点击图片碎裂特效 图片碎裂效果的软件_游戏引擎_03


Android 点击图片碎裂特效 图片碎裂效果的软件_前端_04

2、添加Explodable组件

同时会自动加载上Rigidbody2D组件

Android 点击图片碎裂特效 图片碎裂效果的软件_前端_05


参数可以自己试试看看效果,刚开始可以设置Rigidbody 2D组建的Body Type属性为Kinematic,画面开始保持不掉落。

Android 点击图片碎裂特效 图片碎裂效果的软件_Android 点击图片碎裂特效_06

3、PolygonCollider2D组件

Explodable组件要求必须要配合PolygonCollider2D组件使用,那就不废话加上他。

Android 点击图片碎裂特效 图片碎裂效果的软件_游戏程序_07

4、碎片生成

点击 Explodable 组件的 Generate Fragments 按钮。

Android 点击图片碎裂特效 图片碎裂效果的软件_Android 点击图片碎裂特效_08


可以尝试修改Explodable 组件的 ** Shatter Type** 属性,设置碎片破碎的形状,设置成自己想要的效果,效果对比如下图片。

Android 点击图片碎裂特效 图片碎裂效果的软件_Android 点击图片碎裂特效_09

5、最后一步,添加点击破碎触发效果

给tree添加ExplodeOnClick脚本组件,实现原理很简单,其实就是添加了**OnMouseDown()点击事件,然后触发Explodable explode()**方法,感兴趣的可以自己研究源码,破碎的效果实现源码也不复杂,当前不操作完成,实现的效果下图所示。

Android 点击图片碎裂特效 图片碎裂效果的软件_unity_10

6、添加爆破效果:ExplosionForce

Force:破碎力度,直接影响破碎的爆破力度。

Radius:破碎效果最大半径

Uplift Modifer:破碎后碎片向上和向下的一个惯性参数,可取正负值,可自己修改看效果。

Android 点击图片碎裂特效 图片碎裂效果的软件_游戏程序_11

7、碎片再次破碎:ExplodableFragments

Android 点击图片碎裂特效 图片碎裂效果的软件_Android 点击图片碎裂特效_12

添加ExplodableFragments组件后需要重新点击Explodable组件的Generate Fragments重新生成碎片才能实现碎了再碎的效果。