c# - 是否可以统一锁定场景?
问题描述
在全息镜头中的场景之间切换时,您的坐标将重置为您当前在切换时查看的方式。
假设我在启动全息透镜(场景 1)时在 0XYZ 有一张图片,并且在向右 90° 处我有一个对象,如果我按下它,我就会进入另一个场景。在另一个场景(场景 2)中,我在 0XYZ 有一张新照片。
团结起来,我得到了预期的结果,因为我必须向左旋转 90° 才能看到(场景 2)中的图片。Unity 在场景之间转换时会保持 XYZ 坐标。
但是,如果我在 hololens 中切换场景,来自 (scene2) 的图片会直接出现在我的脸上,因为 hololens 在加载场景时会重置 XYZ 坐标。
首先,我认为我所要做的就是将对象(scene1)的所有 XYZ 保存到 Json 中并将 Json 加载到(scene2)中,以将图片放置在与(scene1)中相同的位置。但是由于 XYZ 被重置,所以 (scene2) 中的图片也会移动。
所以基本上,无论我在房间的哪个位置,是否可以锁定场景以保持其位置/旋转?
解决方案
我的建议是有一个主要场景,除了你的相机之外大部分都是空的,然后你使用以下方法加载和/或卸载其他场景:
SceneManager.LoadSceneAsync("SceneName", LoadSceneMode.Additive);
您可以使用事件SceneManager.sceneLoaded跟踪加载的场景。然后,您可以在要加载新场景时卸载该场景。
推荐阅读
- python - TensorFlow 错误 GPU 安装
- python - python 3 paramiko ssh代理在第三台主机上使用远程命令转发跳转主机
- firebase - 在firebase中重定向301
- reactjs - React 组件 - this.setState 在第一次迭代后跳过
- sql - Postgres 按值更改分区/分组
- linkedin-api - 在我的页面上获取并显示linkedin公司更新
- javascript - Uncaught SyntaxError: Unexpected token ) 绘制 js 图表时
- javascript - 将双向实时连接扩展到数十万的最佳方法?
- gnuradio - GNU RADIO 中的 packed_to_unpacked 块有什么作用?
- actions-on-google - 对话流和谷歌操作的集成