您的位置:首页 > 产品设计 > UI/UE

ue4制作可破碎物体

2017-01-18 14:59 417 查看
在本页中,我们将使用 OnComponentHit 和 Event Hit 事件(Events) 以伤害和撕裂一个可破坏网格(Destructible Mesh), 同时在命中位置施加冲力来推动可破坏对象,模拟被抛射物击中的效果并在命中位置施加作用力。

在本指南中,我们将使用 Blueprint First Person Template 项目并启用 Starter Content。

进入项目的 Content Browser,前往 Content/Geometry/Meshes 文件夹。

Right-click 1M_Cube 静态网格并选择 Create Destructible Mesh。


我们将通过这个静态网格创建出一个可破坏网格,从而在它被击中时,我们将可以将其撕裂并导致其解体。

在可破坏网格编辑器中,单击 Fracture Mesh 按钮,然后 Save 并关闭窗口。


Right-click 新建的可破坏网格资产,然后在 Asset Actions 中选择 Create Blueprint Using
This...


一定要为新建的蓝图选择一个保存位置,并为其命名。

在新蓝图的蓝图编辑器中,进入 Components 窗口并选择 Destructible 组件。

在 Details 面板的 Physics 中,选中 Simulate Physics 复选框。


现在,该蓝图将可以模拟物理效果。

在 Details 面板底部的 Events 下单击 OnComponentHit 事件。


这样会添加一个新的节点到事件图表(Event Graph)并打开此图表。


Left-click 并拖开 Other Actor 针,然后搜索并添加 Cast To FirstPersonProjectile 节点。


我们将 蓝图中的转换 到另一个名为 FirstPersonProjectile 的蓝图,并确保在我们击中可破坏网格时, 的确上是 FirstPersonProjectile 蓝图击中了它。如果是这样的话,我们就可以应用其他脚本来撕裂网格并使之解体。否则就什么也不做。

拖开 Hit 针并添加一个 Break Hit Result 节点。


我们可以利用 Break Hit Result 节点访问所有种类的打击信息及其自身信息。

从 Break Hit Result 拖出 Hit Actor 并添加 Apply Point Damage 节点。

在 Apply Point Damage 节点上,将 Base Damage 设置为 100 并将 Damage
Type Class 设置为 Damage Type。


Apply Point Damage 节点不仅能让我们指定造成的伤害量,还能指定施加伤害的位置。

在 Apply Point Damage 节点上,按以下方式连接其余的线。


连接好所有的线之后,您的图表应当与上面相同。

Compile 并 Save,然后关闭蓝图。

将蓝图从 Content Browser 拖动到关卡。


单击 Play 在编辑器中开始运行,然后用 Left-mouse 按钮向立方体发射一个抛射物。
当您在编辑器中运行程序时,您会发现在您发射抛射物并击中立方体时,会对立方体造成伤害并使之解体,同时在其命中位置施加冲力,使之朝着相应的方向飞行。 施加的作用力大小是在 FirstPersonProjectile 蓝图中定义,后者通过 Event
Hit 节点确定抛射物在何时真正击中了某个物体。

在 Content/FirstPersonBP/Blueprints 文件夹中,打开 FirstPersonProjectile 蓝图。


单击图像可查看大图。
该蓝图中的脚本,可查看被击中的对象是否在模拟物理效果(我们已在立方体蓝图中设置为 true)。如果正常模拟, 它将会在击中的位置施加一个冲力(力量大小是在绿色框内定义,我们已经将值减少到 50)。您可以调整这个值来增加/减少命中时施加的冲力大小。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: