我在多种游戏引擎中开发游戏。包括 Unreal Engine、Unity3D 和 Game Maker。在我最近完成的游戏中,我使用的是 Unreal Engine。

Unreal Engine会带来一些独特的挑战。例如,我不喜欢该引擎的文档,并且,寻找引擎问题的答案会很困难。网上很多帖子都没有答案。最近,我在开发这款游戏的过程中遇到了许多与引擎问题相关的帖子,但很少有答案。

让我们继续深入一些。

为什么我选择在 Unreal Engine 中开发这款游戏?

最初,我读到了地形工具的介绍,我很喜欢尝试新事物。所以,我为第三人物位模板创建了有趣的岛屿。随后,我孩子(我们共同在多个项目中工作)为游戏添加了更多艺术元素,如玩游戏中的卡通动物。接着,我孩子和我一起想出了这个游戏的整个创意,并将其融入了像我最喜欢的岛屿奥马菲洛(Omphalos)的方式。这意味着“中心或核心”。

第二点,我一直在尝试使用弧线创建和改变网格。在此基础上,我创build了一个快速时间事件系统。因此,玩游戏时可以探索岛屿,并捕捉动物。随后,我们添加了赚取能力。

另一方面,我们的姓氏是TOONE,所以我们决定以自私的心情命名动物为TOONE,也开发了一个TOONEDEX (动物图鉴)。

因此,这个游戏的开发过程非常有机。

好吧,为什么写这个帖子?

因为 Unreal Engine 有一些晦涩的bug。

今天,我会抱怨关于水体系统的 Bug。 它看起来很棒,但经过数年了,这个 Bug 的表现方式没有改变任何变化 。

此外,这是两个关于这个系统的 Bug的图像:

这个 Bug 表示海岸线在一些奇怪的三角形方法上就决定停下来,不再和岛屿的边缘匹配。这也表现为岛屿周围有多个三角形。

https://preview.redd.it/isfjpf9703vg1.png?width=545&format=png&auto=webp&s=0dcf788ef9fab940ace8e492ac96c43f3763b900

下一个 Bug 是第一个 Bug 的一个变种。 在这个 Bug 中,海岸线决定远离岛屿边缘,但仍然保持岛屿边缘的形状。

https://preview.redd.it/8wjr89pb03vg1.png?width=892&format=png&auto=webp&s=2ddd8ef169ceee5877b9776e6763d5d4f3824164

我没有找到一个易于解决的办法。然而,我发现了,如果你移除并重新添加水区区域,或者移除整个水体系统并重新添加,那么问题可能会被解决。但是,这种修复方法不是很可靠。

然而,这种修复方法可能会导致岛屿边缘的破坏,但经过一些调整,可以得出解决方案。

大揭露:如何解决这个 Bug

在我继续为游戏处理 Bug 的过程中,我对引擎的问题感到非常失望,所以我买了一个叫做卡通水表面的 Shader。它从来没有出现过 Bug,没问题。它看起来很棒,但它的计算成本非常高 (这将是另外一篇文章的内容)。

相关信息源:

TooneQuest 上的 Steam:https://store.steampowered.com/app/2143690/TooneQuest/
卡通水表面:https://www.youtube.com/watch?v=lQqJJ6MOR0g