Unity 使用 Addressable Asset 配合阿里雲實現資源遠程託管

在包管理器中安裝 Addressable
導入一個模型,標記爲Addressable資源

打開Addressable Profiles窗口

創建一個配置


將遠程服務器地址更改爲服務器的地址

打開Addressable Groups窗口
在這裏插入圖片描述
將配置項切換爲剛剛添加的Aliyun
在這裏插入圖片描述
建立一個組

這裏更名爲 Remote Group

右鍵該組,選擇 Inspect Group Settings

將 Build Path 和 Load Path 設置爲 RemoteBuildPath和RemoteLoadPath


如果希望該組打包後的資源文件是分開的話,可以該組的檢查器面板中設置Bundle Mode 爲 Pack Separately
在這裏插入圖片描述
點擊檢查器面板中的Inspect Top Level Settings,將 Build Remote Catalog 勾選,然後將Build Path和Load Path設置爲RemoteBuildPath和RemoteLoadPath
在這裏插入圖片描述
回到Addressables Groups窗口,將剛剛的模型拖到 Remote Group 組中
在這裏插入圖片描述
將Player Mode Script切換到第三項

開始編譯資源

編譯完成後,項目文件中會增加一個文件夾,即剛剛 Build Path 設置的文件夾
在這裏插入圖片描述
選擇分開打包模式重新打包後,該組的資源在一個文件夾(remotegroup_assets_assets)中
在這裏插入圖片描述
將 ServerData\StandaloneWindows 中的所有文件上傳到服務器中

編寫程序,在遊戲運行後加載一個資源

public class GameManager : MonoBehaviour
{
    public AssetReference asset;
 
    void Start()
    {
        asset.InstantiateAsync();
    }
}

選擇剛剛標記的模型

進入遊戲後, Addressable Asset系統會自動檢查該模型在本地是否存在最新版,如果本地沒有該模型或者是舊版則會下載該模型,在下載完成後加載到場景中。
在這裏插入圖片描述
隨便更改一下資源,重新Build後上傳到服務器然後來測試一下客戶端是否能正常更新
在這裏插入圖片描述
然後回到 Addressable Groups 窗口,點擊Build-Update a Previous Build

然後會彈出一個文件選擇框,選中項目文件夾\Library\com.unity.addressables\StreamingAssetsCopy\Windows中的addressables_content_state.bin文件
在這裏插入圖片描述
重新編譯後,更新到服務器上,再打開遊戲,可以看到資源被正常重新下載了。
拋磚引玉,有請批評指正。
此文僅講敘配置資源遠程託管流程,有關Addressable的具體說明請看Addressable官方文檔。

參考:

  1. tomcat: http://tomcat.apache.org/
  2. Addressable 1.3 版本文檔 https://docs.unity3d.com/Packages/[email protected]/manual/index.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章