- 最后登录
- 2017-5-15
- 注册时间
- 2012-3-1
- 阅读权限
- 90
- 积分
- 32973
  
- 纳金币
- 32806
- 精华
- 12
|
为了解决web游戏场景动态加载的问题。将场景里的GameObject单独打包成资源包,然后生成自己的场景配置文件,在游戏运行时根据场景配置文件动态加载资源。
1.首先遍历游戏场景中的对象,为每个GameObject生成一个Prefab,加入PrefabList
2.然后将Prefablist里的对象打包:
>打包时先将所有的贴图分离出作为共享资源,放入一个单独的TextureAsset.untiy3d;
>然后每N个Prefab放入一个资源包,使用BuildPipeline.BuildAssetBundle(null, prefabs, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets),打包;
3.在游戏运行时是用WWW下载资源包,然后加入场景中。
遇到的问题:
大部分场景对象可以正确的在游戏运行时,加载并显示。但是有很少的对象,找不到贴图,或者干脆GameObject无法创建,实例化时返回null。此时我将原始场景中,GameObject的名字改成其他名字(默认名字和资源名字相同),再次打包,然后加载,却全部显示正确。一直不清楚是什么原因,难道名字还和资源对应有关系吗?或是什么其他原因?
|
|