在UE4中构建Houdini摩天大楼

介绍

我从 2000 年左右开始进入游戏行业——在Ubisoft Massive度过了我的前 12 年——我现在在MachineGames。我的主要 3D 工具是Houdini和 Modo。

UE4和胡迪尼

您可以通过多种不同的方式使用Houdini和 UE4。在我当前的测试项目中,我使用 UE4 中的 Houdini Engine 插件,这使得创建 Houdini 数字资产 (HDA) 成为可能。这些允许您创建程序节点系统并向 Unreal 公开值。这些值可以是摩天大楼中的楼层数量、阳台放置的种子值等。在 UE4 级别放置 HDA 文件后,这些公开的值提供对 UE4 中资产的实时控制。

对于破坏效果,Steven BurrichterHoudini编写了这个很好的工具,可以将模拟动画导出到 FBX(UE4 读取)。我相信你在几个月前发布了一些测试,当时我在 Unreal 中测试了一个 8423 关节动画。

对于流体效果,您可以做几件事 – 创建流图或顶点动画变形网格。对于更高级的东西,有些人会编写自己的导出器。但通常这在Houdini 中很容易做到。

使用 Houdini 进行游戏开发

未指明

人们一直想出使用Houdini进行游戏的新方法。在我看来,最好的用途是当您拥有要大量重复使用的资产类型但希望能够使它们看起来总是略有不同时。有了 Houdini Engine,在 Unreal 等支持 Houdini Engine 的游戏引擎中就变得非常容易了。

Houdini 对解决那些不可能完成的任务也非常有用,因为它非常灵活。

摩天大楼项目

首先,我只想说这是一项正在进行的工作——我的目标是了解更多关于Houdini Engine 与 UE4 结合使用的可能性——尤其是在使用 Houdini 中的实例化工具时。对我来说,这个项目不是关于我正在构建的东西,而是关于如何在技术上实现它。我开始建造……它演变成一个未来派的赛博朋克城市。

Houdini正在做的主要事情是生成建筑物并让我通过拉动滑块来快速迭代,使建筑物看起来不同 – 高度/宽度/深度,阳台放置的种子值等。另一件事我已经确认有效 – 这让我有些惊讶– 是我可以在 Modo 中制作我的模块,在我的 Houdini 文件中引用它们,而 HDA 将只在 UE4 中使用它们。当我在某个时候开始对更多“最终”模块进行建模时,将会有一个非常简单和漂亮的工作流程。

模块化

您可以使用Houdini以多种不同的方式执行此操作。我的方法是用规则生成点——然后每个点都被分配到一个特定的模块并使用很多子模块。

我已经使用 Houdini 的 VEX 代码设置了很多规则——程序分组和其他一些方式。所以这些点有属性,比如“这个点属于哪一层”、“它是不是角点”等等——然后我在这个上面运行规则。所以如果它是一个角点,它就不能变成阳台等。

我也在对规则进行分层——例如,如果只有一个阳台,那么它可以将杯子放在阳台上,因为这些是阳台模块的子模块。窗户也是如此,它是具有窗户开口的墙模块的子模块。这允许我让每个窗口打开不同的数量。

关于标志,它们只能放置在角落上,并且它们具有不同的高度,所以我有一个规则,从底层到每个角落 – 在每个点都有随机产生一个标志的机会。然后它会在我提供的不同标志之间进行选择,并且根据标志的高度,以下点将被标记为不可生成标志。

将 HDA 文件放置在关卡中并在 Unreal 中工作非常好,只需拉动地板滑块即可看到摩天大楼实时增长。

材料、照明和其他细节

我的材质工作流程是——在 Unreal 中创建不同的材质——在Houdini 中应用引用该材质的属性“Unreal_Face_Material”——然后当你在 Unreal 中加载你的 Houdini 资产时,它将使用该材质。这是相当简单的事情。

问题

公平地说,这是我在 UE4 中使用 Houdini Engine 做的第一件“大”事情,而我在 UE4 中没有那么多经验——所以我遇到的一些问题可能只是我自己。话虽如此,到目前为止 UE4 已经崩溃了几次,并破坏了我的地图,所以继续前进的唯一方法是创建一张新地图。我不确定这是 UE4 问题还是 UE4+Houdini 引擎问题,但这很令人沮丧。

然而,我经常遇到的一个问题是,当我更新我的 HDA 时,暴露的参数(例如房子有多少层、宽度/深度等)将被重置为它们的默认值。所以我必须再次把所有这些值都放回去。当我暴露了 16 个左右的值并且我对它们进行了大量调整时,如果它们被重置会非常令人沮丧。另一件事是,有时当您添加新的公开值时,它们可能会破坏您的公开值界面,因此突然地板可能会影响宽度,而不是在 UE4 中,因此您必须实际从关卡中移除资产并重新放置它以获得正确的新- 暴露的参数。这两件事使得迭代工作变得非常困难。

也就是说,开发人员会在论坛中积极地帮助他们尽可能地提供答案,并在您标记未按预期工作时将事情放在他们的待办事项列表中。SideFX 的网站上还有一个 RFE/BUG 报告选项。Houdini支持的一件好事是,您可以将您的节点网络发送给他们进行调试,我相信这对开发这些不错的工具有很大帮助。

UE4中的破坏模拟

如果您还没有,一定要看看Steven Burrichter开发的实时 VFX 工具。使用这些,将模拟破坏导出到 UE4 非常容易。他的 Vimeo 频道上也有相关的教学视频教程。这些工具让您动起来,然后取决于您和您的 Houdini 技能,让您的项目看起来很棒!

返回首页 

作者 CG-BOX

发表评论