是否可以统一锁定场景?

Is it possible to lock a scene in unity?

在全息镜头中切换场景时,您的坐标会重置为您当前在切换时所看到的方式。

假设我在启动全息镜头 (scene1) 时在 0XYZ 处有一张图片,在右侧 90° 处有一个物体,如果我按下它,它会将我带到另一个场景。在另一个场景 (scene2) 中,我在 0XYZ 处有一张新图片。

在 unity 中,我得到了预期的结果,因为我必须向左旋转 90° 才能看到 (scene2) 中的图片。 Unity 在场景之间转换时保持 XYZ 坐标。

但是,如果我在 hololens 中切换场景,(scene2) 中的图片会直接出现在我的脸上,因为 hololens 在加载场景时会重置 XYZ 坐标。

首先我认为我所要做的就是将对象(scene1)的所有XYZ保存到一个Json中并加载(scene2)中的Json以在那里设置图片放置在与(场景 1)中相同的位置。但是由于 XYZ 被重置,(场景 2)中的图片也会移动。

所以基本上,无论我在房间的哪个位置,是否可以锁定一个场景以保持其 position/rotation?

我的建议是有一个主要场景,除了你的相机外大部分都是空的,然后你加载 and/or 卸载其他场景使用:

SceneManager.LoadSceneAsync("SceneName", LoadSceneMode.Additive);

您可以使用事件 SceneManager.sceneLoaded 跟踪加载的场景。然后,您可以在需要加载新场景时卸载该场景。