
最近几周是一个有趣的混合过程,其中包括小进度和大量等待仿真和加载引擎的工作。
一切都从我最近的更新开始,我提到我不太高兴依靠APEX引擎来处理游戏中的可破坏对象。 进一步研究并认识到现已失效的APEX系统对可破坏对象的局限性,我决定解决将我的所有Asteroid资产从可破坏对象转换成简单动画的任务,以达到效果……当时我没有意识到这将是一个沉没的时间。
基本思想是在Blender中模拟爆炸的小行星块并将模拟另存为动画,然后将其全部导入到虚幻引擎中。
我意识到的第一件事是,我需要一种可以以虚幻方式工作的方式从Blender导出动画的方法,这要归功于很棒的Blender Addon:Ossim
在Blender中使用内置的Cell Fracture附加组件,我首先分解了所有45个Asteroid网格。 经过一些测试后,我找到了可以为我提供所需结果的设置,然后根据其大小对每个网格应用不同数量的破裂( 范围从大约100个单元的小网格到接近1000个单元的大网格 )。 对于较小的来说,这是一个相当快的过程,但是较大的可能要花费30分钟才能破裂! 而且,每时每刻的人工痕迹会使细胞破裂无用,我不得不从头开始整个过程。

然后,我对每组单元格进行了仿真,以获得与使用APEX在Unreal中的可破坏网格系统中相同的爆炸效果。

最后,我将使用Ossim为单元创建一个骨架,然后将其全部导出为FBX文件以导入到虚幻引擎中。 这是事情真正开始需要时间的地方。 对于一些较大的组,Ossim将花费几个小时才能将骨架和骨骼附着到我的细胞网格上。

在45种小行星的断裂,模拟和创建电枢中,整个过程大约需要一周左右的时间(每天工作大约6个小时)。
接下来是导入虚幻引擎的时间了, 哇,我没想到接下来会发生什么! FBX文件总计约17GB,耗时3天半来导入并设置为骨架网格物体!
一旦完成所有这些操作,他们就可以完美工作,我对游戏中的结果感到非常满意。
我的下一步是研究小行星的材料,我一直希望它们做两件事:使内部辉光随着时间的流逝而逐渐冷却,然后逐渐消失,直到使资产消失。 这很容易做到,因为我在5年前的一个很早的测试中就曾研究过类似的材料:

然后,我着手替换我的游戏代码,该代码将用动画生成可破坏的网格,并确保一切正常。
之后,我对某些NPC Drone资产执行了相同的过程,因此它们也使用基于Blender模拟的动画而不是引擎中的APEX系统爆炸。



我为期2周的最后两个任务是清理一些仍然在着色器复杂性方面花费很多的材料,然后我还想使从小行星收集矿石的动画更加有效。
以前,游戏会在10到100个对象之间生成,并使它们向玩家的角色飞行。 这没有效率那么高,所以我将其替换为一个使用实例化静态网格物体创建一堆矿石碎片并使该物体飞向玩家的物体。 这也使我可以为矿石集合添加一些效果,这些效果看起来更好,性能也更好: 赢—赢!

好吧,现在就这些了-我了解到有时候制作游戏只是等待事情完成,接下来的步骤中我将很快有另一个更新,这使我更接近可玩的演示!
请欣赏我的更新视频: