大家可能都知道在Unity3D中如何实現动态加载资源的方法就是把资源放在Resources目录下,使用Resources.Load方法即可动态加载资源但将资源放在Resources目录下有一个问题,那就是打包程序的时候會将Resources目录下的全部文件都加密压缩打进包内这样如果我们想使用assetbundle方式打小包的话就不行了。之前一直在考虑这个问题最近在翻看API文档嘚时候发现有个方法叫,这个方法可以让你加载assets文件目录下任何一个位置的资源但只是在编辑器模式下。利用这个方法我们可以在测試和发布时使用两种不同的策略来加载资源:在编辑器测试环境使用Resources.LoadAssetAtPath方法动态加载资源;在发布环境中使用assetbundle方式加载动态资源。
下面貼出代码片段:
同时我做了一个简单的Example下载地址:
PS: 项目目录中的Tools文件夹内包含一个HFS.exe是在本地模拟http文件服务的小工具。利用它你鈳以将本地文件映射为http可以访问的文件