美文网首页成都匠心互动
关于unity3D资源打包(AssetBundle)

关于unity3D资源打包(AssetBundle)

作者: 爱喝粥的西瓜 | 来源:发表于2017-04-17 10:23 被阅读60次

    写在前面的话

    AssetBundles是从unity导出你选择的assets,它使用特有的压缩格式并且应用可以实时去读取它。包括模型贴图音频等任何asset类型,甚至整个场景。压缩大小基本能达到zip的效果。AssetBundles从设计时就定位为可以很简单就下载到应用里。如果你想包括自定义的binary数据,就要用.bytes后缀,Unity将作为TextAssets导入他们。是目前来说比较主流的在运行时即时加载资源的一种处理手段。
    AssetBundles目前来说,并不能达到官方文档中所说的那样各版本兼容。

    资源打包

    在unity3D中,打包AssetBundles使用BuidPipeline.BuildAssetBundle()来对资源进行打包。
    AssetBundles打包需要区分使用平台,更具不同的平台,对AssetBundles分开进行打包。
    在打包的初始阶段,需要根据情况对打包资源进行处理,最好的处理是将资源做成完整的Prefab,然后对这个完整的 prefab进行打包。
    在打包之前,需要在 Edit -> ProjectSettings -> ** GraphicsSettings** 中将所使用的材质全部添加道Always Included shaders 中,否则会导致打包的素材材质丢失。

    资源使用

    AssetBundle资源的加载有多种方式,既可以使用WWW类进行加载,也可以像读取文件一样,从文件流数据中进行加载。
    AssetBundle.CreateFromMemoryImmediate(byte[])函数可以即时加载AssetBundle文件,适合文件大小不太大的资源的即时加载
    AssetBundle打包的资源,记录了资源的类型,声音类型的资源类型为UnityEngine.AudioClip,图像类型的资源类型为UnityEngine.Texture2D,GameObject类型的资源类型为UnityEngine.GameObject

    相关文章

      网友评论

        本文标题:关于unity3D资源打包(AssetBundle)

        本文链接:https://www.haomeiwen.com/subject/ovzlottx.html