resource

Prefab

Prefab = GetEntity(authoring.Prefab,TransformUsageFlags.Dynamic)

PrefabReference

运行时加载 Prefab

var prefabEntity = new EntityPrefabReference(authoring.Prefab);
  • EntityPrefabReference : 在 entity 上添加 Prefab 弱引用

  • RequestEntityPrefabLoaded : 请求 Prefab 加载

  • PrefabLoadResult : 判断 Prefab 加载完成并实例化

Reference

用 Reference 引用序列化好的, 但是未被加载进内存的 Unity 资产

[Serializable]  
public struct References : IComponentData  
{  
public EntitySceneReference EntitySceneReference;  
public EntityPrefabReference EntityPrefabReference;  
public WeakObjectSceneReference GameObjectSceneReference;  
public WeakObjectReference<GameObject> GameObjectPrefabReference;
}

加载

判断引用合法

EntityReference

资产加载后自动转化为 Entity, 仅支持 Scene 和 Prefab

场景

Prefab

判断加载成功

WeakObjectReference

全生命周期控制任意 Unity Object 生命周期

Scene

Prefab

Scene Load

Scene Loading

使用 LoadSceneAsync 加载 EntitySceneReference

使用 SceneSystem.SceneStreamingState 监控加载状况

分段加载 SubScene 中的 Section

基于 Volume 的 Section 流式加载

6. StreamingVolume

SubScene 流式加载

7. SubsceneInstancing

使用 POstLoadCommandBuffer, 在 SubScene 加载完执行 Cmb

包括 LOD

8. Complete

最后更新于

这有帮助吗?