在包管理器中安裝 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官方文檔。
參考:
- tomcat: http://tomcat.apache.org/
- Addressable 1.3 版本文檔 https://docs.unity3d.com/Packages/[email protected]/manual/index.html