Можно ли заблокировать сцену в единстве? - PullRequest
0 голосов
/ 26 апреля 2019

При переключении между сценами в гололинзе ваши координаты сбрасываются в соответствии с тем, что вы смотрите в данный момент при переключении.

Давайте посмотрим, у меня есть картинка в 0XYZ при запуске гололин (сцена 1) и под углом 90 ° вправо, у меня есть объект, который переносит меня в другую сцену, если я нажимаю на нее. В этой другой сцене (scene2) у меня новая картинка в 0XYZ.

В единстве я получаю ожидаемый результат, так как мне нужно повернуть на 90 ° влево, чтобы увидеть картинку в (scene2). Unity сохраняет координаты XYZ при переходе между сценами.

Однако, если я переключаю сцены в гололинзе, картинка из (scene2) выскакивает прямо у меня на лице, так как гололин сбрасывает координаты XYZ при загрузке сцены.

Сначала я подумал, что все, что мне нужно сделать, это сохранить все XYZ объекта (scene1) в Json и загрузить Json в (scene2), чтобы установить изображение там, где оно будет находиться в том же месте, что и ( Сцена 1). Но так как XYZ будет сброшен, картинка в (scene2) тоже будет двигаться.

Так в принципе, возможно ли заблокировать сцену, чтобы она оставалась в своем положении / вращении независимо от того, где я нахожусь в комнате?

1 Ответ

1 голос
/ 26 апреля 2019

Мое предложение будет иметь основную сцену, которая в основном пуста, кроме вашей камеры, а затем вы загружаете и / или выгружаете другие сцены, используя:

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

Вы можете отслеживать загруженные сцены, используя событие SceneManager.sceneLoaded . Затем вы можете выгрузить эту сцену, когда захотите загрузить новую.

...