我创建了一个场景,里面包含了所有我的游戏对象。在具体来说,它包含一个Player对象、通常会跟踪玩家的Camera对象,以及多个Cutscenes,每个Cutscene有其自己的时间线:
- 一把通过cinemachine跟踪和移动Camera的时间线
- Signal Emitters触发功能,包括Player脚本中的函数
但现在这些都是正常工作的。然而,我想为了便于管理和提高游戏的性能,当游戏变大时,分解场景划分成多个场景。我的期望是,一旦玩家接近下一个场景,就会自动加载下一个场景并在玩家未必察觉的同时移动到下一个场景。然而,在在线tutorial观看了一些,可能的一种建议是创建一个持久化的场景,包含了Player和Camera等永远都会被加载的游戏对象。然后我现在遇到的问题是,既然将这些对象移动到了一个不同的场景,绑定到这些对象的这些信号就消失了,信号无法触发Player脚本中的函数,Camera也不再由时光线程中的cinemachine跟踪。
我尝试了一种方法的是,将Player和Camera变成单例对象,然后通过脚本可以在场景局部脚本中找出该单例对象,绑定时间线中的Cinemachine跟踪到该单例对象上。然而,当我看到游戏时,当游戏加载时,Camera确实跟踪到了该跟踪。但是当时光线程开始运行时,Camera并没有跟踪。
或者任何其他方式,都可以通过场景局部脚本引用这些场景,不要使用单例对象和持久场景的方法。
评论 (0)