艺术家Erwin Smeenge为大家分享在Houdini和UE4中制作建筑破坏效果的流程。


1
建筑破坏

我想人研究Houdini中RBD的可能性,并将对象分解为可破坏簇的工作流程,然后将其重新组装到“虚幻蓝图”中。

Houdini制作建筑破坏效果
为它设定了一个目标,即为自己创建一个工作流,以平衡Houdini中RBD与引擎内控制。
Houdini制作建筑破坏效果
使用骨骼网格物体,因为会在UE4中获得骨骼信息。将破坏模拟与骨骼配对时,得到的控制和交互作用量与装配的角色或其他动画网格物体类似。研究动画蓝图,如果可以将销毁模拟与此集成在一起的话,将获得潜在控制权。
Houdini制作建筑破坏效果


2
第一次迭代


对于第一个迭代,设置一个简单的建筑生成器,然后将其分解并划分为多个簇,使用RBD项目符号求解器对其进行仿真。最初想分别导出群集,每个群集都是它们自己的独特资产,在虚幻蓝图中一起制作。

Houdini制作建筑破坏效果

这是使用Houdini中的RBD到FBX节点来完成的,但在使用所有骨骼资产的情况下,引擎会变得混乱。它还没有提供想要的控制量,而是执行重复的“蓝图”操作来激活集群。


3
设置模拟


回到Houdini,重新设计RBD之前,发现Labs Building Generator SOP,并在Blender中制作一些网格物体进行设置。对于这栋新建筑,需要重建聚类和分解工作流程,因为完全分解该建筑物并不是最佳选择。

因此需要确定并分割要破坏的区域。没有使用布尔值,而是对打包的几何图形进行分组,这对于开箱即用的小型模块化对象很有用。但较大的表面需要进行初始断裂才能使孔更真实。然后拆分群集组,并使用保险丝、Labs Dissolve Flat Edges SOP和Clean SOP节点清理初始断裂。
Houdini制作建筑破坏效果
这些簇根据其材料ID破裂,每个材料ID都有自己的破裂过程。在设置约束之前,在每个群集周围添加一个环。

在RBD模拟中,环设置为非活动状态,但确实具有粘合约束。该环用作群集的容器,这些群集在撞击碰撞对象之前将其固定在适当的位置,同时创建一个合适的拼图块以合并回到静态建筑物。

RBD模拟的其余部分本身主要涉及调整约束和力值。

准备好这种新的模拟后,研究将其转换为装备的过程。但在此之前需要清理一下模拟,因为每个包装的块都等于一根骨头。为此使用实验室破坏清除SOP。该SOP标识并组合可以在模拟中视为一件的零件。

由于片段周围的环设置为不活动,因此将合并为一个片段。这可以轻松地将其与仿真分离,然后将其合并回主楼。与胶水簇一起,大大减少骨骼的数量。


4
索具


清理后,RBD已准备就绪,可以进入钻机创建过程。在此过程中,将创建其余几何体,捕捉装备和动画装备。
Houdini制作建筑破坏效果
首先遍历每个群集并将它们连接到以每个群集为中心的父骨骼。然后将这些父骨骼连接到“骨盆”,该骨盆是整个静态对象的中心。该骨骼还具有所有静态蒙皮的蒙皮。最后将骨盆的骨头连接到根部。
Houdini制作建筑破坏效果
在此过程中,使用压缩几何体的固有数据有助于使转换对装备正确无误。
Houdini制作建筑破坏效果

在此工作流程中,最重要的是名称属性和在骨骼之间创建的折线。这两个方面控制钻机的层次结构和骨骼名称。设置完骨架后,使用Rig Doctor SOP和Capture Packed Geo SOP(新的KineFX工具集的一部分)来设置装备。


5
导入UE4


在UE4中导入的工作原理与任何其他骨架网格物体相同。为了测试动画,简单地将动画资产添加到场景中的骨架网格物体中。

Houdini制作建筑破坏效果


6
动画蓝图


为了分割模拟,使用动画蓝图。在本蓝图中混合多个状态机,其中每个状态机都类似于一个集群。在此状态机内,有一个转换规则,用于检查名称数组是否等于集群父级骨骼。如果符合此规则,则可以播放该群集的动画。

Houdini制作建筑破坏效果
为了使这对于多个建筑物更容易访问,设置遵循相同规则的子级蓝图,这样只需要切换动画和骨架资源即可使此动画蓝图可用于多个不同的建筑物和模拟。
Houdini制作建筑破坏效果
Houdini制作建筑破坏效果
Houdini制作建筑破坏效果


7
控制蓝图


控制蓝图用作数据发送器,将有效的群集骨骼存储在一个数组中,从那里可以访问这些骨骼。

Houdini制作建筑破坏效果
在构造蓝图中,使用这些骨骼位置和一些矢量数学来创建朝向簇的程序样条。这些样条线用于为火箭创建路径。迭代仿真时,不必为每次迭代手动替换样条线。
Houdini制作建筑破坏效果
然后在此演示的游戏时间中,控件“蓝图”每隔几秒钟随机选择此阵列中的一根骨骼,并将选定的骨骼发送到动画“蓝图”。通过将骨骼名称发送到“动画蓝图”,该骨骼符合状态机的规则,因此可以激活群集动画。控件Blueprint产生所需的视觉效果,如爆炸和相机抖动。
Houdini制作建筑破坏效果

建立此通信管道是此工作流程中最困难的挑战。并且花费多次迭代才能使此工作顺利进行。


8
未来计划


我想出一个原型,该原型表明破坏建筑集群并不是使用此工作流可以做的唯一事情。

Houdini制作建筑破坏效果
在这个原型中,创建一个桥梁的RBD模拟,然后将整个桥梁划分为多个簇。在UE4中没有随机地激活这些集群,而是检查玩家到集群的距离,如果集群在设定范围内,则播放RBD模拟的逆函数。
Houdini制作建筑破坏效果
建筑物群和此工作流程中的整体破坏模拟都是预先烘焙的,但是可以在引擎内对其进行部分操作,例如反转引擎或更改其速度。当前工作流程中最引人注目的地方是对何时以及在模拟中应播放哪个部分的控制。想探索和测试多种情况。例如添加动画阶段,在游戏事件期间创建样条曲线,或将其与带有UE4中的“物理资产”的动画组合。
Houdini制作建筑破坏效果

建筑破坏效果制作哦完成,对于一般对Houdini动力学或不熟悉Houdini的朋友,建议从简单开始并从那里开始扩展。探索诸如Bubble Pins,Simon Houdini和Entagma之类的YouTube频道。