《恐惧症 - 圣迪夫纳酒店》的开发面临一个独特挑战:在不借助加载画面或突兀切换的情况下,展现同一场景在不同时代的演变。为实现这一目标,团队结合了虚幻引擎4的动态光照系统与实时修改纹理和几何体的过渡机制,并借助Maya进行基础建模,使用Substance Painter制作逼真的表面老化效果。
Maya、Substance Painter与虚幻引擎4的工作流程 🛠️
流程始于Maya,采用模块化拓扑结构建模场景,以便在不同时代间替换部件。每个资源都经过优化的UV映射,便于在Substance Painter中进行纹理处理,生成磨损、灰尘和锈迹层,这些层会根据时间线激活。在虚幻引擎4中,通过蓝图控制动态光照:时代切换时,灯光重新配置,纹理通过具有不透明度和位移参数的材质进行插值。为了在主机和PC上保持性能,对远处物体应用了LOD(细节层次),并将动态阴影的使用限制在关键元素上,优先保证过渡期间的帧率稳定。
独立开发者的经验教训 💡
《恐惧症》的解决方案表明,时间旅行并不需要独立的场景或巨额预算。通过重复使用同一基础网格并仅改变视觉参数,可以减少内存消耗并加快开发速度。对于类似项目,建议从一开始就规划数据结构,将每个时代与一组纹理和灯光关联起来,并在中端硬件上测试过渡效果,以确保恐怖体验不会因性能下降而中断。
作为开发者,你们在虚幻引擎4中采用了什么技术来管理场景在不同时间线下的状态变化,同时不影响引擎性能?
(附注:游戏开发者就是那种花1000小时制作一个游戏,而玩家2小时就能通关的人)