unity 资源打包

这是在编辑器下实现的方法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;


public class CreateAB  {




    [MenuItem("Toosl/CreatAB")]
    static void BuildAllAssetBundles()
    {


        string dir = "AssetBundles";




        if (!Directory.Exists(dir))   //"没有文件夹,创建一个新的
        {
            Directory.CreateDirectory(dir);
            
        }else
        {
            Directory.Delete(dir, true);   //有文件夹,删除文件夹里面的内容,再创建一个新的文件夹
            Directory.CreateDirectory(dir);


        }


         //参数1: 文件输出地址   参数2:打包方式  参选3:打包平台,输出平台自己选择,安卓选安卓,苹果选苹果
        BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);


    }




	
}




/* 
 *   注意   关于打包资源的脚本,在移动平台下Assetbundle里面放的脚本是不会被执行的,
 *          如果你打包时,在物体上挂脚本了,加载资源时,会自动在本地找脚有,如果有就会挂上,没则不挂
 *          加载进游戏中Prefab会自动在本地找它身上挂着的脚本,他是根据脚本的名来寻找,挂前的参选数照旧,如果本地有这条脚本的话。
 *          
 *          Unity3D引擎为我们提供了三种压缩策略来处理AssetBundle的压缩,即:
 *          
 *           LZMA格式   LZ4格式     不压缩
 *           
 *           
 *           LZMA格式: 在默认情况下,打包生成的AssetBundle都会被压缩。在U3D中,AssetBundle的标准压缩格式便是LZMA(LZMA是一种序列化流文件)   
 *                      ,因此在默认情况下,打出的AssetBundle包处于LZMA格式的压缩状态,在使用AssetBundle前需要先解压缩。                     
 *                       使用LZMA格式压缩的AssetBundle的包体积最小(高压缩比),但是相应的会增加解压缩时的时间。
 *                       
 *           LZ4格式: 由于LZ4的压缩比一般,因此经过压缩后的AssetBundle包体的体积较大(该算法基于chunk)。
 *                     但是,使用LZ4格式的好处在于解压缩的时间相对要短。
 *                     
 *                     若要使这种格式就在 打包资源的第二个参数上面填  BuildAssetBundleOptions.ChunkBasedCompression
 *            
 *            不压缩:我们也可以不对AssetBundle进行压缩。没有经过压缩的包体积最大,但是访问速度最快。
 *                     若要使这种格式就在 打包资源的第二个参数上面填   BuildAssetBundleOptions.UncompressedAssetBundle
 *                    
 *            
 *                     
 *           
 *           


          

运行此代码会打包带有标签有资源,如图



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unity Addressables是Unity引擎下的一种资源管理工具,它能够管理游戏资源的文件路径和引用形式,提高游戏的可组合性,以及优化游戏的加载速度和内存使用效率。其中,Unity Addressables打包工具则是这个过程中非常重要的一环,它可以将项目中的所有资源进行打包和压缩,变成一个AssetBundle或者一组AssetBundle,以便于客户端加载使用。相比于传统的资源管理方式,Unity Addressables打包工具具有许多优势: 首先,通过Unity Addressables打包工具,我们可以方便地将游戏资源从项目中分离出来,并转化为可供运行时加载的包裹形式,大大简化了游戏开发和发布的流程。 其次,Unity Addressables打包工具支持数据的动态下载和加载,可以根据游戏内容和用户设备等因素动态调整资源的下载和使用情况,提高了游戏的运行效率和用户体验。 最后,Unity Addressables打包工具还可以支持多语言、多平台、多版本管理等功能,可以根据不同地区、不同游戏版本等因素动态加载和更新游戏资源。 综上所述,Unity Addressables打包工具是游戏开发和优化中不可或缺的资源管理工具,在提升游戏品质、降低开发成本和提高游戏运行效率方面都具有重要的作用。 ### 回答2: Unity Addressables 是 Unity 的一个高级打包工具,可以帮助开发者优化游戏的性能,提高玩家的游戏体验。它可以将游戏资源分散到多个 AssetBundles 中,并在需要时动态加载和卸载这些资源,从而减少游戏的内存占用和加载时间。这样一来,游戏变得更加流畅,玩家可以更快地进入游戏,同时也能够更加舒适地游玩游戏。 Unity Addressables 对于制作大型游戏尤其有用,因为它可以节省内存,并减少打包时间。这意味着开发者可以将更多的时间和精力投入到设计游戏玩法,添加新的关卡和挑战,而不用担心游戏的性能问题。此外,Addressables 还可以实现动态下载和更新游戏资源,使得游戏可以随时进行修复和更新,不影响玩家的游戏进程。 总的来说,Unity Addressables 是一款非常有用的工具,它可以帮助开发者优化游戏性能,提高玩家的游戏体验。开发者可以将游戏资源分散到多个 AssetBundles 中,并在需要时动态加载和卸载这些资源,从而节省内存,并减少游戏的加载时间。同时,Addressables 还可以实现动态下载和更新游戏资源,使得游戏可以随时进行修复和更新,不影响玩家的游戏进程。 ### 回答3: Unity Addressables打包工具是一个用于管理资源打包和加载的Unity工具。在Unity中,资源打包和加载是我们经常遇到的问题,如果处理不好会造成游戏卡顿和加载时间过长的问题。而Unity Addressables打包工具则可以很好的解决这些问题。 Unity Addressables打包工具可以让我们将游戏中常用的资源单独打包,这样可以减小游戏包的大小,提高游戏的加载速度。同时,Unity Addressables打包工具还可以做到在游戏运行时按需加载资源,这样可以让游戏更加流畅,避免了一次性加载大量资源导致的卡顿问题。 除此之外,Unity Addressables打包工具还可以让我们更加方便地管理资源,例如可以分组资源、设置加载优先级等等。这些功能可以帮助我们更方便地管理资源,提高开发效率,减少出错的概率。 综上所述,Unity Addressables打包工具是一款非常优秀的Unity工具,可以帮助我们更好地管理游戏资源,提高游戏性能,降低游戏开发成本。虽然需要一定的学习成本,但学习之后一定会带来非常大的收益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值