Skip to main content
Version: Next

加载 Unity 的场景

使用 Scene.Load(Async) 可以加载 Unity 的场景。

// 加载一个 Unity 中的 Single 场景
var single = Scene.LoadAsync(path);
// 让场景加载后不激活
single.allowSceneActivation = false;
yield return single;
// 等可以激活的时候再激活
single.allowSceneActivation = true;
// 在加载新的 Single 场景时,之前加载的所有场景都会自动回收,所以 Single 场景不需要主动 Release;

Unity 中的场景有Single 和 Additive 两种类型,Single 场景比较特殊,每次加载新的 Single 场景后,之前加载的所有类型的场景全部会自动释放。 所以,Single 场景无需主动调用 Release。和 Single 场景不同,Additive 场景允许我们在切入新的 Single 场景前按需 Release。

// 加载 Additive 场景
var additive = Scene.LoadAsync(path, true);
// 主动释放 Additive 场景
additive.Release();

注意: 不管 Additive 场景是否已经加载好,只要调用了 Release 就能正常释放。这样在开发业务的时候,相对更轻松。