扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
刚学unity3的人,肯定会对这两个目录非常困惑,知道他们都是只读的、Resources会加密,StreamingAssets不加密,但是在使用上到底有怎样的不同,却不太说得清楚。
创新互联2013年开创至今,是专业互联网技术服务公司,拥有项目成都网站设计、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元任丘做网站,已为上家服务,为任丘各地企业和个人服务,联系电话:028-86922220
我在用了unity3d有一段时间后,在研究AssetBundle及播放音频的时候,总算是弄清了他们的区别。当时是想播放一段音频,于是我把资源放在StreamingAssets目录下,用WWW加载a.ogg,然后并没有得到我想要的结果。但是放在Resources目录下面,Resources.Load()却能播放。后来经过研究,终于知道了这么几个概念的意思,也就清楚了前面为什么不能播放。
要说明这个原因,首先说一下AssetBundle。很多人应该知道这是unity3d里面用来打包资源的,支持的格式有限,如文理、音频、二进制、文本等。像一些.cs文件、.mp4文件是没法打包的。Resources目录下的资源在打包之后,也会生成AssetBundle,只是Resources下的资源会被系统自动处理。
那AssetBundle到底是什么呢?其实可以把它简单看成是一个资源集合,必须用WWW类来进行读取,而Resources可以看成是一个特殊的WWW,只能对于Resources目录的资源。而WWW读取的内容也必须是AssetBundle,所以一个单独的ogg文件无法用WWW读取,必须先打包成AssetBundle,才能用WWW读取。
StreamingAssets又是什么呢?这是个Raw目录,里面的内容不会加密、编码。比如png、ogg、AssetBundle文件,原来什么样,打包就是什么样。要使用这些文件的话,必须用对应的类来访问,如AssetBundle用WWW类,mp4用播放器插件加载(包括解析),用WWW加载mp4是不行的,因为识别不出来。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流