还在被电影中吧爆炸的画面震撼?那你一定不要错过这款Unity的爆炸插件

250 阅读4分钟

推荐阅读

一、插件介绍

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-threadingExploder支持多线程,你可以选择多达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可选材质的片段,如果没有选择默认材质

六、小结

觉得好用记得一键三连哦