一、插件介绍
Exploder是一个Unity3D插件,可以爆炸任何有网格的游戏对象。在游戏对象上tag设置为“Exploder”,就可以看到爆炸了!
网络异常,图片无法展示
|
插件下载:
download.csdn.net/download/q7…
二、插件是如何工作的
这个插件包含一个强大的网格切割器,可以在你的游戏对象中找到网格。
之后,它递归地将网格切成小块,为每个块分配刚体和速度,并制造爆炸。
为了获得最好的性能,碎片被预先分配在一个池中。
切割算法非常快,计算时间最多在一帧中就运行完毕,所以并不会对FPS以及内存造成比较大的影响,而且还能看到非常强大的爆炸效果。
三、快速启动
用法很简单:
1、添加Exploder预制体到你的层级结构中
网络异常,图片无法展示
|
2、设置组件的参数
网络异常,图片无法展示
|
3、添加脚本调用ExplodeObject函数
using UnityEngine; using Exploder.Utils; public class ExplodeTest : MonoBehaviour { public GameObject TagerObject; void Start() { ExploderSingleton.Instance.ExplodeObject(TagerObject); } } 复制代码
网络异常,图片无法展示
|
网络异常,图片无法展示
|
四、Demo介绍
DemoQuickStart快速启动Demo
网络异常,图片无法展示
|
生成一个球,点击Explods sphere按钮,小球会爆炸。
DemoClickExplode
网络异常,图片无法展示
|
点击任意游戏对象,这个游戏对象就会爆炸
DemoShooter第一人称射击游戏场景
网络异常,图片无法展示
|
它的基本思想是:
(1)添加爆炸预置到场景。
(2)设置好你的武器和相机),用鼠标射击 。
(3)同时从相机的方向运行光线投射。
(4)获得一个被点击的游戏对象(例如花瓶)。
(5)将Exploder预制体移动到点击的游戏对象的位置(例如,现在ExploderObiect的位置与花瓶相同)。
(6)设置Exploder预制体的爆炸范围,调用ExplodeRadius(),范围爆炸;如果想设射击一个对象可以使用ExplodeObject() 。
(7)爆炸。
五、ExploderObject设置说明
网络异常,图片无法展示
|
Main Settings
名称 | 说明 |
Radius | 爆炸半径,表示可以摧毁的爆炸半径 |
Force | 力是加入到爆炸碎片上的物理力的多少。更大的力意味着更高的速度。 |
Target Fragments | 切割爆炸物体将产生的碎片数量。更多的碎片意味着更多的计算和 |
Use Force Vector | 此选项仅当UseForceVector为true时有效。推力器表示爆炸粒子将移动的三维矢量方向。 |
Ingnore Tag | 忽略标记可爆炸对象。将此设置为ture,将可以不用给物体设置tag标签,就可以爆炸 |
Explode self | 标识爆炸后是否保留Exploder对象,如果勾选,爆炸就会销毁 |
Hide self | 标识爆炸后是否隐藏爆炸的对象,乳沟勾选,爆炸就会隐藏 |
Delete original object | 爆炸后删除原始游戏物体。 |
Uniform distrubution | 通过启用此Exploder,每个对象都将创建数量相同的碎片,而不管对象离中心的距离如何。默认情况下,靠近中心的物体(爆炸中心)将被粉碎成比远离中心的物体更多的碎片。均匀分布将保证所有物体将被粉碎成相同数量的碎片 |
Split mesh islands | 选择分离不连接的部分相同的网格。如果这个选项是启用的,所有爆炸碎片被搜索连接的部分相同的网格和这些部分被分离到新的碎片 |
Disable triangulation | 通过启用这个爆炸器,不管物体离中心的距离如何,每个物体都会产生一定数量的碎片。在默认情况下,靠近爆炸中)会比远离爆炸碎成更多的碎片。 |
Use 2D physics | 启用2D物体。 |
Use Cube Raius | 使用Cube半径 |
Multi-threading | Exploder支持多线程,你可以选择多达3个额外的线程进行计算。线程在启动时被初始化,但在休眠状态下,只在需要时才被使用 |
Cutting plane angle | 剖切面角度 |
网络异常,图片无法展示
|
Fragment options设置
名称 | 说明 |
Pool Size | 对象池大小,这个表示所有可用碎片的最大数量,该数量应高于目标碎片。 |
Explodable fragments | 可以销毁碎片的碎片,如果勾选,可以摧毁对象,然后是它的所有碎片。你可以继续破坏碎片,直到它们变得足够小 |
Layer | 碎片层的名称 |
Mesh colliders | 开启网格碰撞器 |
MaxVelocity | 最大速度 |
MaxAngularVelocity | 最大角速度 |
Inherit parent physics | 通过启用这个片段将使用与其父刚体相同的物理性质。它将继承质量,速度,角速度,并利用重力。如果没有有效的父刚体,将使用默认设置代替。 |
Mass | 碎片的质量 |
Use gravity | 启用重力 |
Angular velocity | 碎片的角速度,如果“Inherit parent physics”被启用,最终的角速度将被计算为父物理和这个值的总和。 |
Random angular vector | 随机角速度 |
Freeze Position | 冻结碎片的位置。 |
Freeze Rotation | 冻结碎片的旋转。 |
Material | 可选材质的片段,如果没有选择默认材质 |
六、小结
觉得好用记得一键三连哦