1. 程式人生 > >Unity 5 官方打包管理工具 Asset Bundle Manager

Unity 5 官方打包管理工具 Asset Bundle Manager

keyword -s 有一個 unity3d argument 模式 -c == article

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