找回密码
 立即注册
查看: 293|回复: 0

个人独立开发者如何利用虚幻引擎、Houdini和分形数学创造 ...

[复制链接]
发表于 2023-3-8 17:11 | 显示全部楼层 |阅读模式
《Chasing the Unseen》是一款关于攀爬巨型生物并探索异世界环境的游戏。游戏中的环境都是用分形数学生成的。作为一名个体游戏开发者,我知道开发这样一个野心勃勃的项目需要合适的工具。在这篇技术博文中,我将概述自己是如何应对《Chasing the Unseen》中的这些挑战的。
过去几年,那些赋予独立开发者强大能力的工具取得了长足的进步,最近,实现这类项目终于成为了可能。感谢Epic和SideFX等公司的不懈努力,让任何人都能取得这些强大的工具,这个项目也因此得以实现。
为了完成这个雄心勃勃的项目,我知道合适的工具是必不可少的,而我正是在虚幻引擎和Houdini相辅相成的关系中找到了我所需要的东西。
生物


首先,我们来看看生物和攀爬系统。




图片由Matthieu Fiorilli提供


我的生物是在Houdini中使用各种工具制作而成的。以章鱼为例,我使用了Houdini的传
我的生物是在Houdini中使用各种工具制作而成的。以章鱼为例,我使用了Houdini的传统工具,以程序化方式为它建模,然后使用Houdini最近推出的多解算器Vellum进行模拟。模拟为我带来了非常自然和流畅的变形。接下来的挑战就是将它导入虚幻引擎,并添加可攀爬功能。为了完成这项任务,我使用了Dem Bones这款强大的工具。我在Houdini中的章鱼模拟太过复杂,几何体的每个点都有自己的动画,所以此时,我不能简单地将它放到游戏引擎中。Dem Bones的作用是以程序化方式生成一组骨骼和皮肤,以便使用对游戏引擎友好的数据重建模拟。这样一来,章鱼的128000个顶点/点就不需要都具备动画了,我只需确保大约600根骨骼拥有动画即可。


图片由Matthieu Fiorilli提供
使用Dem Bones烘焙的Vellum模拟
然后,我可以将这只生物导入虚幻引擎,并实时回放。我在这里使用状态机混合了不同的动画。基于通过Dem Bones生成的皮肤信息,我能够以程序化方式生成用于碰撞的凸包,然后通过自定义工具将其导入虚幻引擎。


图片由Matthieu Fiorilli提供
虚幻引擎中的碰撞网格体
我生成了较低分辨率的网格体,将它导入虚幻引擎,实现攀爬功能。为了将角色连接到生物身上,我结合使用蓝图和C++,让攀爬系统能够使用较低分辨率的网格体。


图片由Matthieu Fiorilli提供
使用蓝图和C++的攀爬系统
环境


在环境方面,我使用了分形数学和其他程序化技术。分形是一些简短的数学公式,能够生成无限自我重复的形状。其中最著名的是曼德博集合。


图片由Wikipedia提供
维基百科的曼德博集合图片
曼德博集合是以本华·曼德博的姓氏命名的2D分形。在它被发现的数年后,人们又发现了一个类似的3D版本:曼德尔球。

这就引出了一个问题,如何将分形添加到游戏中?通过将Houdini和虚幻引擎结合起来,我成功地解决了这个问题。在Houdini中,我使用Juraj Tomori的毕业项目“视效分形工具包”生成分形,然后围绕它开发了一套几何体制备管线,为在虚幻引擎中添加分形做好准备。这套管线可用在分形和其他程序化网格体的生成方法中(取决于关卡)。



图片由Matthieu Fiorilli提供
为游戏关卡生成的分形网格体
为了做好准备,将分形添加到虚幻引擎中,我必须完成许多不同的任务:去掉非常小的细节;创建平坦的可行走斜面;将网格体分割成块,以便在UE中实现正确的遮蔽;简化网格体;生成LOD、UV和光照贴图等等。这个过程是完全自动化的,并且经过定制,符合虚幻引擎的要求。



图片由Matthieu Fiorilli提供
其中一个关卡的游戏内截图
最后,在完成所有这些过程之后,我会在虚幻引擎中构建关卡,并使用光照系统烘焙光照贴图。由于关卡被分成了多个部分,虚幻引擎的遮蔽系统只会绘制我们在摄像机中看到的网格体,这样很好。而虚幻引擎的LOD系统会根据与摄像机的距离,以我所需的密度绘制网格体。对于碰撞,我生成了单独的低分辨率网格体。



图片由Matthieu Fiorilli提供
我在这里概述了我如何处理游戏中的生物、攀爬和关卡。以上就是我在整个游戏开发中所使用的核心工作流程,在需要时,我也可以为每个生物或关卡引入不同的变体。

为这些项目挑战想出解决方案非常不容易,但是作为一名独立开发者,我可以自由、灵活地使用最新工具实现我的目标。我希望这篇文章至少能够在总体上帮助大家了解这个项目的技术流程,并对大家有所启发,让大家认识到现有工具的能力范围。
Houdini项目渲染慢,本地硬件配置不够,想要加速渲染,在不增加额外的硬件成本投入的情况下,最好的解决方式是使用渲云云渲染,在云端批量渲染,批量出结果,maya可分块渲染,享受高配置、高内存、高性能服务器带来极致的渲染速度,节省渲染时间,提高工作效率。
渲云支持多角度任务同时批量渲染,渲染高效便捷,渲云采用高性能服务器,稳定可靠,可满足用户大批量紧急渲染需求。有效解决设计师们工作周期紧张出结果任务重的情况。此外渲云提供超百余种插件支持,影视版已支持超3000余种插件,另渲染器及插件可根据需求定制安装。
Houdini渲染慢、解算资源不足,合成硬件成本高,可以采用云端解决方案,使用赞奇超高清云工作站轻松解决硬件配置问题,最大限度的节省成本,提高效率,根据需求选择云端配置,本地普通电脑也能享受行业高端cpu或gpu带来的体验,二手电脑也能变成超级计算机。
如何解决虚幻引擎的配置问题?

Unreal软件电脑配置的要求是比较高,特别是实时渲染,前期的硬件成本是比较高的,目前有云端解决方案,使用赞奇超高清云工作站,即使本地普通的电脑也能运行Unreal软件,且普通电脑也能享受行业最高端的CPU和GPU,极大提高制作效率和使用体验,且使用方便快捷,全面支持3D应用软件插件运行,随时调用百余款软件插件,高效作业。
在本地制作文件,提交渲云影视客户端渲染,在赞奇云工作站通过渲云影视客户端,将结果文件回传到云桌面进行后 期合成。支持多台机器同时运行,同步打开文件并发加载图片进行合成;最后将合成的结果文件下载到本地,节省 大量的时间。
文章来自unrealengine官网改,如有侵权,请联系删除。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-16 16:41 , Processed in 0.090273 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表