我们一直在关注Ablaze Interactive独立开发的游戏《Psych Rift》的进展。在这款游戏中,一只心灵感应手套是你唯一的工具,用于在扭曲现实的世界中生存并逃离危险的研究实验室。开发者有时会分享有趣的幕后细节,比如墙壁变换的工作原理,而最新分享的是一个自定义遮挡系统,旨在保持游戏流畅运行。
Godot引擎本身已经具备一个开箱即用的遮挡剔除功能,但它有一些局限性:它只能隐藏网格,不影响灯光。《Psych Rift》主要发生在室内环境中,关卡可能包含大量网格和灯光。正如开发者所解释的,每个可见光源(比如一盏灯)都有自己的全向光,这很快会累积成数百盏灯和数千个网格。
为了保持性能流畅,并在RTX 3060上以原生1080p和60 FPS的高设置运行游戏,开发者的系统也能隐藏灯光。
“我使用所谓的‘区块’来构建关卡。一个区块是一个场景,代表关卡的一个独立部分,比如一个单独的房间或走廊的一部分。这些区块连接在一起形成整个关卡。
除了常规的遮挡剔除,我的系统还利用VisibleOnScreenNotifier3D节点来检测区块何时对玩家不可见,并可以将其隐藏,包括灯光。当一个区块被隐藏时,其中的所有刚体也会被禁用,以帮助物理引擎搜索碰撞(地板和墙壁保持开启,因为怪物可能仍在这些区域移动)。
这个系统并不完美(遮挡剔除并非‘密封’的,通常会有泄漏),还有改进空间,但总体上能完成任务。当灯光仍然开启时,你可以通过线框模式看到它们照亮雾气的效果。”
上面的演示视频由两个叠加的录制片段制作而成。
向下滚动查看更多《Psych Rift》开发展示:
您可能还想了解Quad Head在制作Godot合作游戏《Pratfall》时哪些方法有效、哪些无效。请访问我们的访谈栏目,我们经常与游戏开发者交流他们的工作。
想要开始使用Godot进行游戏开发?请查看The GameDev Tavern的教程系列和GodotGameLab的内容,获取有用资源。







