玩家可以实实在在地跳转到两个时间线:2185年和2385年。要实现这一点并使其立即生效,两个时间线同时处于活跃状态。是的,这意味着我们有两个“容器”,代表“现在”和“未来”,它们包含所有的GameObject。它基本上是按照以下方式工作的:

  • 只有在Y轴上移动100个单位。
  • 我们在两个时间线之间移动玩家,立即避免抖动。
  • 这意味着大多数对象仍然活跃,但它们具有某种“静止”的状态以提高性能。
  • 我们遇到了照明的问题,所以我们不得不改变URP中的灯光行为,以便让其中一个时间线的灯光影响另一个时间线。
  • 有这么多东西被加载(这意味着两个时间线上的重复对象+是米特罗维尼亚),这是一种主要的性能问题。因此,我们采取的措施是使用基于节点异步加载Unity场景的方法,混合了延迟“Awake”和“Destroy”方法(在多个帧中使用时间分片)来移除从房间到房间转换时产生的抖动。

我还有更多的技术细节要分享,因为这个游戏非常先进,所以我会在不久的将来发布更多的后台内容。

在此之前,如果你喜欢这个游戏,它下个年份将会在PC、PlayStation 5、Xbox Series X/S上发布。同时,因为制作这个游戏是一个财务上的旅程,所以你的预购支持将会非常有帮助:https://store.steampowered.com/app/2360820/Tempus_Vitae/

附注:感谢Unity3D mod团队允许我分享这个游戏!