AssetBundle 打包资源

打开unity新建一个工程 在Assets下新建Editor文件夹

在该文件夹下创建脚本AssetsBundles

下面为脚本里面的完整代码

生成AssetBundle包

//代码部分

using UnityEditor;//引用程序集

using System.IO;

public class AssteBundles   //不用继承MonoBehaviour

{

//特性 添加到Assets菜单下  生成Build AssteBundles选项

[MenuItem("Assets/Build AssteBundles")]

static void BuildAssetBundles()

{

//生成文件名,用于存放AssteBundle文件

string dir = "AssteBundles";

if (Directory.Exists(dir)==false)//判断是否存在该文件夹

{

Directory.CreateDirectory(dir);//如果不存在创建该文件夹

}

//打包已标记的AssetBundle文件       如果分组打包  应该先加载依赖包 否则材质丢失BuildPipeline.BuildAssetBundles(dir,BuildAssetBundleOptions.None,BuildTarget.StandaloneWindows64);

}}

上述代码执行编译完成后在unity中Assets菜单下会出现Build AssteBundles选项

上述图片中会报错,不影响程序,只是再商店搜索时的错误

创建一个cube把下载的材质球拖到Cube上会得到上述图的效果

给上面的AssetBundle文件去个名字加后缀,我取得名字是wall后缀为ab

进到Unity页面点击Assets菜单下的Build AssteBundles选项就能打包成功

打开AssetBundles文件夹就可看到已经打包好的AssetBundle文件了

时间: 2024-11-01 23:56:24

AssetBundle 打包资源的相关文章

Unity AssetBundle打包资源工具

using UnityEngine;using System.Collections;using UnityEditor; /// <summary>/// 简单资源打包Editor/// </summary>public class BuildPacketEditor : EditorWindow { [MenuItem("Tools/Packet/BuildAssetBundle-Android")] public static void ExportAnd

Unity AssetBundle共享资源打包/依赖资源打包

依赖性打包 依赖性打包的作用在于避免资源冗余,同时提高资源加载和卸载的灵活性,其重要性不言而喻.在4.x版本的AssetBundle打包系统中,涉及一对 BuildPipeline.PushAssetDependencies和BuildPipeline.PopAssetDependencies接口,从官方文档中可以大致了解其用法:http://docs.unity3d.com/ScriptReference/BuildPipeline.PushAssetDependencies.html 可以简

Unity AssetBundle打包与资源更新

Unity的AssetBundle打包是一件让人头疼的事情,当我接手这项工作时,我以为最多只用两个周就可以把整个打包和资源热更新的流程搞定,结果还是花了一个月,期间踩坑无数,总结出来希望能够节约别人的时间. (一)你的游戏项目是什么类型的? 在开始写打包的Editor脚本之前,你最好先详细考察一下你们的游戏项目是什么类型?是端游,手游还是页游?因为这三者涉及到bundle包的资源管理策略截然不同,如果你们是跨平台发布,那我建议你最好用宏来切换管理策略. 我先分享一下我曾经接手过打包工作的两个项目

前段时间说了AssetBundle打包,先设置AssetLabels,再执行打包,但是这样有个弊端就是所有设置了AssetLabels的资源都会打包,这次说说不设置AssetLabels,该如何打包AssetBundle

BuildPipeline.BuildAssetBundles() 这个函数,有多个重载,一个不用AssetBundleBuild数组,一个需要,如果设置了AssetLabels,那么这时候是不需要的,如果没有设置,那么我们就可以打包自定义项, AssetBundleBuild assetBundleBuild = new AssetBundleBuild();  我们可以new 出来一个 AssetBundleBuild  ,在这里指定他的  assetBundleName  和  asset

Assetbundle 打包加载及服务器加载等(采用unity3d5.0后的新版)

Assetbundle为资源包不是资源 打包1:通过脚本指定打包 AssetBundleBuild ab = new AssetBundleBuild { assetBundleName = PlayerSettings.bundleVersion + "@" + "zhao",//资源包assets的名字 assetNames = new string[1],  //包里的每个资源的名字 }; string outputPath = Path.Combine(Ut

AssetBundle打包优化解决方案

第一阶段:AssetBundle出一套解决方案 1.解决现在同一个资源打2个bundle的冗余问题 2.测试验证节省资源的比率是多少 问题拆分 一.bundle重复 问  题  :相同资源拆分问题? 解决方案:1.制作场景时将相同部分分开 制作方法:将每个场景相同部分放到同一个目录,不同部分保留在场景中 打包方法:a.打成独立的bundle,不同部分放到每个场景中打成bundle b.用xml记录下每个场景中公共部分的transform,bundle名称.资源名称.父节点信息 优    点:打包

[cb] Assetbundle打包(一)

Unity的Assetbundle是Unity Pro提供的功能. 理解:Asset 资源,资产:Bundle :包,一批,捆:字面上的意思,就是把资源打包. 在项目中的实际应用:Art工程,Prefab打包成AssetBundle到Produect目录,Client工程读取AssetBundle; 下面这张图是Art工程 放在Product目录下的Prefab都会打包成AssetBundle 打包AssetBundle到Product目录下[Assetbundle有运行平台之分] Client

unity 打包资源及网络请求资源包

第一步 导包 在Assets新建一个Editor目录 新建一个Test类 using UnityEngine; using System.Collections; using UnityEditor; public class Test : Editor { //打包单个 [MenuItem("Custom Editor/Create AssetBunldes Main")] static void CreateAssetBunldesMain () { Object[] Select

unity3d assetbundle打包策略

由于assetbundle打包存在依赖的问题,所有资源要进行合理的分包 零.代码 代码都放在本地,包括NGUI等插件的代码.shader代码 一.单位 单位的模型贴图.动画一起打包 二.UI 1.公用图集一起打包(UIAtlas.prefab.UIAtlas.mat.UIAtlas.png)在进入游戏的时候加载并且常驻内存 2.(依赖公共图集)面板图集和面板预设一起打包  在切换场景的时候加载场景所需要的面板图集 三.场景 1.场景公用的贴图和预设一起打包 一种风格的场景有一个公用依赖资源包 2