Unity 5 官方打包管理工具 Asset Bundle Manager
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 5 官方打包管理工具 Asset Bundle Manager相关的知识,希望对你有一定的参考价值。
http://blog.csdn.net/suifcd/article/details/51570003
Unity5在Asset bundle 打包管理上采用了全新的方式,不需要再对每个文件进行MD5比对,unity已经帮我们做好了,对需要打包的资源AssetBundle属性就行了,同事Unity还提供了一个打包管理工具 Asset Bundle Manager。
官方文档对这个工具的说明及使用方式,地址
官方的工具项目工程地址
说下使用方式,工具提供了一键打包,本地加载模拟,网络加载模拟。
打包很简单,设定好属性,直接打包就行。本地加载模拟,右键选择Simulation mode即可切换到此模式进行测试。
还有一个是本地网络加载模拟,在本地搭建一个资源服务器,客户端连接这个服务器来进行动态的加载资源,但是实际测试中发现会报错,经过修改,终于好了。
首先需要在BuildScript.cs里修改变量为
public static string overloadedDevelopmentServerURL = "http://192.168.1.101:7888/";
具体的IP要根据自己的电脑来设定
然后修改LaunchAssetBundleServer.cs文件,主要是Run()函数,修改后的Run函数如下
static void Run ()
{
string pathToAssetServer = Path.Combine(Application.dataPath, "AssetBundleManager/Editor/AssetBundleServer.exe");
string pathToApp = Application.dataPath.Substring(0, Application.dataPath.LastIndexOf(‘/‘));
pathToAssetServer = pathToAssetServer.Replace("/", "\\");
pathToApp = pathToApp.Replace("/", "\\");
KillRunningAssetBundleServer();
BuildScript.WriteServerURL();
string args = Path.Combine(pathToApp, "AssetBundles");
ProcessStartInfo startInfo = new ProcessStartInfo(pathToAssetServer); ;
startInfo.Arguments = args;
Process launchProcess = Process.Start(startInfo);
if (launchProcess == null || launchProcess.HasExited == true || launchProcess.Id == 0)
{
//Unable to start process
UnityEngine.Debug.LogError ("Unable Start AssetBundleServer process");
}
else
{
//We seem to have launched, let‘s save the PID
instance.m_ServerPID = launchProcess.Id;
}
}
如此便可正常使用了。
项目工程里有资源场景的加载示例,有兴趣的可以自行研究。
以上是关于Unity 5 官方打包管理工具 Asset Bundle Manager的主要内容,如果未能解决你的问题,请参考以下文章
游戏开发探究Unity Addressables资源管理方式用起来太爽了,资源打包加载热更变得如此轻松(Addressable Asset System | 简称AA)
游戏开发探究Unity Addressables资源管理方式用起来太爽了,资源打包加载热更变得如此轻松(Addressable Asset System | 简称AA)