Carga el nivel de forma aditiva y asíncrona en segundo plano.
A diferencia de LoadLevelAsync, LoadLevelAdditiveAsync no destruye los objetos del nivel actual.
Los objetos del nuevo nivel son agregados a la escena actual.
Esto es útil para crear mundos virtuales continuos,
en donde se carga más contenido a medida que uno va caminando a través del ambiente.
Unity cargará por completo todos los assets y todos los objetos en la escena en un hilo que estará en segundo plano.
Esto te permite crear un escenario con streaming por completo, donde constantemente cargues y
quites diferentes partes del escenario basados en la posición del jugador, sin tener interrupciones en el ritmo del juego.
La variable isDone del AsyncOperation resultante puede ser usada para verificar si la carga del nivel ha sido completada.
El resultado de un LoadLevelAdditiveAsync también puede ser usado para hacer yield en una coroutine.
Al construir un player, Unity optimiza automáticamente los assets en tal forma que LoadLevelAdditiveAsync los cargue desde el disco linealmente para evitar tiempos de búsqueda.
Nota que el desempeño de la carga en segundo plano en el Unity Editor es mucho más baja que en el web player o en el build independiente.
En el editor también puedes
estar observando más interrupciones que en el player.
function Start () {
// Load the level named "MyAddLevel".
var async : AsyncOperation = Application.LoadLevelAdditiveAsync ("MyAddLevel");
yield async;
Debug.Log ("Loading complete");
}
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { IEnumerator Start() { AsyncOperation async = Application.LoadLevelAdditiveAsync("MyAddLevel"); yield return async; Debug.Log("Loading complete"); } }
See Execution Order of Event Functions for more information regarding the calling sequence once a level is loaded. See Also: AsyncOperation, Application.backgroundLoadingPriority, Application.LoadLevelAdditive, Application.LoadLevel, Application.LoadLevelAsync.