Я хотел бы показать сцену инвентаря, если игрок нажимает клавишу I.
В этой сцене инвентаря должен быть показан объект героя, и им нужно манипулировать (например, текущее оружие должно бытьизменилось в этой сцене), поэтому MoveGameObjectToScene показался идеальным для этого.
Поэтому я следовал этому совету и в основном сделал следующее, что я изложил ниже.
Работает нормально, но проблема в том, что предыдущая сцена все еще показана.Я думал, что «Добавка» означает, что предыдущая сцена не разрушена, а скрыта.Но, очевидно, это даже не скрыто.Это действительно перекрывает предыдущую сцену.
Физическое удаление его на самом деле не помогает, так как огни из сцены 1 добавляются в сцену 2.
Я отключил «Автогенерацию освещения» для обеих сцен.

Что может быть причиной этого?
Большое спасибо за любые советы!
public class PlayerScript : MonoBehaviour
{
public GameObject UIRootObject;
private AsyncOperation sceneAsync;
void Update()
{
if (Input.GetKeyDown(KeyCode.I))
{
StartCoroutine(loadScene(1));
}
}
IEnumerator loadScene(int index)
{
AsyncOperation scene = SceneManager.LoadSceneAsync(index, LoadSceneMode.Additive);
scene.allowSceneActivation = false;
sceneAsync = scene;
//Wait until we are done loading the scene
while (scene.progress < 0.9f)
{
Debug.Log("Loading scene " + " [][] Progress: " + scene.progress);
yield return null;
}
OnFinishedLoadingAllScene();
}
void enableScene(int index)
{
//Activate the Scene
sceneAsync.allowSceneActivation = true;
Scene sceneToLoad = SceneManager.GetSceneByBuildIndex(index);
if (sceneToLoad.IsValid())
{
Debug.Log("Scene is Valid");
SceneManager.MoveGameObjectToScene(UIRootObject, sceneToLoad);
SceneManager.SetActiveScene(sceneToLoad);
}
}
void OnFinishedLoadingAllScene()
{
Debug.Log("Done Loading Scene");
enableScene(1);
Debug.Log("Scene Activated!");
}
}