en las muestras de ARFoundation Unity encontré el siguiente fragmento de código:
public void BackButtonPressed() { if (Application.CanStreamedLevelBeLoaded("Menu")) { SceneManager.LoadScene("Menu", LoadSceneMode.Single); LoaderUtility.Deinitialize(); } }¿Puede alguien explicarme cuándo y por qué usar Application.CanStreamedLevelBeLoaded (String string)? En los documentos de Unity encontré esto como explicación: ¿Se puede cargar el nivel transmitido?
Pero eso no me dice nada.
¿Y cuándo y por qué debería uno usar LoadSceneMode.Single y LoaderUtility.Deinitialize() ? Encontré esto para LoaderUtility.Deinitialize() : Desinicializa el XR Loader actualmente activo, si existe. Esto destruye todos los subsistemas.
Agradezco cualquier ayuda. ¡Gracias!
Application.CanStreamedLevelBeLoaded hace exactamente lo que cree que debería hacer al leer el nombre de la función, comprueba si se puede cargar el nivel transmitido. Úselo ANTES de intentar cargar un nivel transmitido. Streaming en este caso significa descargar el nivel para el cliente WebGL. El progreso de la transmisión indica cuánto ha progresado la descarga de su nivel.
Utilice esta función para comprobar el estado de la descarga, tal como se ve en el ejemplo del documento, para evitar una excepción al intentar cargar un nivel sin terminar.
Detrás de escena, utiliza un flotante llamado downloadProgress de UnityWebRequest para determinar si el archivo se descarga.
https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest-downloadProgress.html
Más abajo, lo más probable es que encuentre un FileStream, de ahí el nombre de la función.