Addressable-配置相關

1、Profile 概述窗口配置

主要用于配置Addressable打包(構建)加載AB包時使用的一些變量,這些變量定義了

  1. 在哪里保存打包(構建)的AB包
  2. 運行時在哪里加載AB包

可以添加自定義變量,以便在打包加載時使用,之后在設置 組中打包和加載路徑相關時,都是使用這里面的變量

打開Profiles窗口

  1. Window > Asset Management > Addressables > Profiles
  2. 在AddressableAssetSettings中打開
  3. 在Addressables Groups窗口中打開

Profiles窗口參數相關

  • BuildTarget:構建目標,可以在這里設置平臺,默認是激活的平臺
  • LocalBuildPath:本地構建路徑,默認在項目的 Library 庫文件夾中
  • LocalLoadPath:本地加載路徑,在哪里加載本地已有的資源
  • RemoteBuildPath:遠程構建路徑
  • RemoteLoadPath:遠程加載路徑,在哪里下載遠程內容和目錄

注意:

  • 因為在發布應用程序時,默認設置會自動將 AB 包放入 SteamingAssets 文件夾中,一般情況下,不要去修改本地構建和加載路徑默認值,否則可能需要自己移動資源在 StreamingAssets 中
  • 當針對不同平臺遠程分發內容時,通過多個配置文件最方便,如果想要最終的發布包包含所有內容,那么一個默認配置就夠了

  • ProFile:概述文件
  • Variable:變量(所有概述文件通用)
  • Build and Load Path Variables:構建加載路徑變量(所有概述文件通用)

Profiles變量語法

所有的變量類型都是string字符串類型,可以在其中填寫一些固定的路徑或值來決定路徑,還可以使用兩個語法指示符讓原本的靜態屬性變成動態屬性

[]:方括號,可以使用它包裹變量,在打包構建時會計算方括號包圍的內容,比如:

  • 使用自己的變量[BuildTarget]
  • 使用別的腳本中變量[UnityEditor.EditorUserBuildSettings.activeBuildTarget]

在打包構建時,會使用方括號內變量對應的字符串拼接到目錄中

{}:大括號,可以使用它包裹變量,在運行時會計算大括號包圍的內容,比如:

使用別的腳本中變量{UnityEngine.AddressableAssets.Addressables.RuntimePath}

注意:方括號和大括號中使用的變量一定是靜態變量或者屬性。名稱、類型、命名空間必須匹配
比如在運行時 UnityEditor編輯器命名空間下的內容是不能使用的

2、AddressableAssetSettings

在導入Addressables包之后 創建的那些就是配置文件
AddressableAssetsData文件夾下的內容都是本質為ScriptableObject的數據配置文件

我們可以在工程中對Addressables相關內容進行設置,他們會影響我們的打包方式等等相關內容

AddressableAssetsData(可尋址資源數據)

  • AssetGroups(資源組):當我們創建一個組就會多一些相關數據配置文件
  • AssetGroupTemplates(資源組模板,主要是對資源組的一些默認設置)
    • Packed Assets:打包資源數據配置
  • DataBuilders(數據生成器,這些內容決定了在不同模式下,資源打包和使用的方式)
    • BuildScriptFastMode:構建腳本快速模式
    • BuildScriptPackedMode:構建腳本打包模式
    • BuildScriptPackedPlayMode:構建腳本打包播放模式
    • BuildScriptVirtualMode:構建腳本虛擬模式
  • AddressableAssetSettings(可尋址資源設置)
  • DefaultObject(默認對象)

AddressableAssetSettings 參數講解

  • Profiles In Use:可以在選擇使用的是哪一套配置文件
  • Manage Profiles:點擊打開管理配置文件窗口

  • Send Profile Events:啟用分析器事件,啟用后可以在 Event Viewer 窗口查看 Addressable 相關信息
  • Log Runtime Exceptions:記錄運行時加載相關的異常

目錄相關設置,將資源的地址映射到其物理位置

  • Player Version Override:重寫用于指定遠程目錄名稱的時間戳,如果不設置默認使用時間戳作為遠程目錄命名
  • Compress Local Catalog:在壓縮的 AssetBundle 文件中生成目錄,可以壓縮大小,但是會增加生成和加載的時間(減少流量)
  • Build Remote Catalog:構建遠程目錄,勾選后會出現新選項
    • Build & Load Paths:在何處生成和加載遠程目錄,從列表中選擇一個配置文件路徑,如果要分別設置生成路徑和加載路徑,請選擇<custom>,僅在啟用生成遠程目錄時可見
    • Build Path:遠程構建路徑,在何處構建遠程目錄,通常,應該使用 RemoteBuildPath 配置文件變量。僅當將生成和加載路徑設置為<custom>時顯示
    • Load? Path:遠程加載路徑,用于訪問遠程目錄的 URL,通常,應該使用 RemoteLoadPath 配置文件變量。僅當將生成和加載路徑設置為<custom>時顯示
    • Path Preview:路徑預覽

在編輯器中進入播放模式時,選擇 Addressable 系統如何加載資產,這些腳本處理默認的構建進程,并提供不同的方式在編輯模式下訪問數據。

可以在 AddressableAssetData/DataBuilders 文件夾中找到這些腳本,如果要為他們自定義腳本,那么對應的腳本需要是 BuildScriptBase 的子類,并且繼承 IDataBuilder

  • Use Asset Database:使用資源數據庫
  • Simulate Groups:模擬組
  • Use Existing Build:使用現有版本
  • Default Build Scripts:默認生成腳本

  • Packed Asset:打包資源,定義可用于創建新租的模板列表,創建新模板時,必須先將其添加到此列表中,然后才能使用它
  • Addressables 包含一個模板,其中包含默認構建腳本使用的模式,可以在 AddressableAssetData/AssetGroupTemplates 文件夾中找到該模板

3、Packed Assets 打包資源數據配置

確定如何處理組中的資源,比如可以指定生成 AB 包的位置和包壓縮相關的設置

打包資產參數講解

  • Build & Load Paths:配置文件路徑對,定義可尋址構建系統在哪個路徑為此組創建內容,以及可尋址系統在運行時在何處加載這些內容
  • Build Path:打包路徑?
    • LocalBuildPath:本地路徑
    • RemoteBuildPath
  • Load Path:加載路徑
    • LocalLoadPath
    • RemoteLoadPath
  • Path Preview

  • Asset Bundle Compression:AB 包的研所方式,默認時 LZ4,通常時最有效的選項,建議使用
    • Uncompressed:不壓縮,包較大,不推薦
    • LZ4:壓縮,相對 LZMA 大一點,建議使用,用什么解壓什么,內存占用低
    • LZMA:壓縮最小,解壓慢,用一個資源要解壓所有
  • Include in Build:包含在構建中,是否在內容生成中包含此組中的資源,如果取消勾選,那么在選擇打包時,不會打包改組的內容
  • Use Asset Bundle Cache:使用 AB 包緩存,是否緩存遠程分發的包
  • Asset Bundle CRC:是否在加載前驗證 AB 包的完整性
    • Disabled:永遠不檢查完整性
    • Enabled, Includeing Cached:檢查完整性,包括緩存也檢查
    • Enabled, Excludeing Cached:檢查完整性,不包括緩存也檢查
  • Include Address in Catalog:是否將地址字符串包含在目錄中。如果不使用地址字符串在組中加載資源,則可以通過不包括他們來減小目錄的大小(其實就是資源名加載)
  • Include GUIDs in Catalog:是否在目錄中包含 GUID 字符串。必須包含 guid 字符串才能使用資產參考。如果不使用 AssetReference 或 GUID 字符串在組中加載資源,則可以通過不包含他們來減小目錄的大小
  • Include Labels in Catalog:是否在目錄中包含標簽字符串。如果不適用標簽在組中加載資源,則可以通過不包含這些資產來縮小目錄的大小
  • Internal Asset Naming Mode:如何在內部命名目錄中的資源
    • Full Path:全路徑
    • FileName:文件名
    • GUID:資源的 Guid 字符串
    • Dynamic:Addressables 根據組中的資源選擇最小的內部名稱
  • Cache Clear Behavior:確定安裝的應用程序何時從緩存中清除 AB 包
    • Clear When Space is Needed In Cache:在緩存中需要空間時清除(只會更新變更的資源)
    • Clear When new Version Loaded:在加載新版本時清除(全部清除下載新的)
  • Bundle Mode:打包模式,如何將此組中的資產打包到包中
    • Pack Together:創建包含所有資產的單個包(一個組是一個包)
    • Pack Seperately:為組中的每個主要資產創建一個包,如精靈圖片中的精靈圖片被包裝到一起,添加在組中的文件夾中的資產也打包在一起(一個組中的同一類型的資源打一個包)
    • Pack Together by Label:為共享相同標簽組合的資產創建一個包
  • Asset Load Mode:資源加載模式
    • Requested Asset And Dependencies:請求的資源和依賴項
    • All Packed Assets And Dependencies:所有包中的資源和依賴項

創建自定義的配置

在 Project 窗口右鍵或者點擊 + 號

Create -> Addressables -> Group Template -> Blank Group Template

4、Addressables Hosting 可尋址托管窗口

一般的資源服務器需要將其搭建為 http 服務器,這樣才能進行資源的上傳和下載,而 Unity 為了簡化本地測試這一過程,提供了快捷搭建 http 服務器的工具 Addressables Hosting

通過它可以將我們的本機模擬為一臺遠端服務器來進行遠端發布加載測試,可以幫助我們快速的進行遠程打包下載的相關測試。簡單理解就是把本地作為一臺資源服務器

可尋址托管窗口參數

  • Create:
    • Local Hosting:本地托管,通過本機模擬加載相關內容
      • Service Name:服務器名稱
      • Service Type(ID):服務器類型
      • Port;端口號(一般不自己設置,避免和其他應用發生沖突)
      • Upload Speed(kb/s):上載速度
      • Enable:是否啟用,啟用后會自動分配端口號
      • Hosting Service Variables:托管服務變量
      • Variable Name:變量名
      • Value:值
    • Custom Service:自定義服務?

我們可以使用 Local Hosting 這些變量名來編輯 Addressables Profiles 中發布和加載相關路徑:http://[PrivateAddress]:[HostingServiceProt]/[BuildTarget]

注意事項

Addressable Hosting 窗口創建的本地服務器有時候會失效,可以使用第三方工具,讓本機變為一個 http 服務器模擬遠程加載,比如 hfs

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82890.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82890.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82890.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

aws(學習筆記第四十三課) s3_sns_sqs_lambda_chain

文章目錄 aws(學習筆記第四十三課) s3_sns_sqs_lambda_chain學習內容&#xff1a;1. 整體架構1.1 代碼鏈接1.2 整體架構1.3 測試代碼需要的修改1.3.1 unit test代碼中引入stack的修改1.3.2 test_outputs_created代碼中把錯誤的去掉 2. 代碼解析2.1 生成dead_letter_queue死信隊…

Python訓練營打卡Day43

kaggle找到一個圖像數據集&#xff0c;用cnn網絡進行訓練并且用grad-cam做可視化 進階&#xff1a;并拆分成多個文件 config.py import os# 基礎配置類 class Config:def __init__(self):# Kaggle配置self.kaggle_username "" # Kaggle用戶名self.kaggle_key &quo…

hive 3集成Iceberg 1.7中的Java版本問題

hive 3.1.3 集成iceberg 1.7.2創建Iceberg表報錯如下&#xff1a; Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/iceberg/mr/hive/HiveIcebergStorageHandler has been compiled by a more recent version of the Java Runtime …

文本切塊技術(Splitter)

為什么要分塊&#xff1f; 將長文本分解成適當大小的片段&#xff0c;以便于嵌入、索引和存儲&#xff0c;并提高檢索的精確度。 用ChunkViz工具可視化分塊 在線使用 ChunkViz github https://github.com/gkamradt/ChunkViz 如何確定大模型所能接受的最長上下文 可以從…

C++:用 libcurl 發送一封帶有附件的郵件

編寫mingw C 程序&#xff0c;用 libcurl 發送一封帶有附件的郵件 下面是一個使用 MinGW 編譯的 C 程序&#xff0c;使用 libcurl 發送帶附件的郵件。這個程序完全通過代碼實現 SMTP 郵件發送&#xff0c;不依賴外部郵件客戶端&#xff1a; // send_email.cpp #include <i…

tensorflow image_dataset_from_directory 訓練數據集構建

以數據集 https://www.kaggle.com/datasets/vipoooool/new-plant-diseases-dataset 為例 目錄結構 訓練圖像數據集要求&#xff1a; 主目錄下包含多個子目錄&#xff0c;每個子目錄代表一個類別。每個子目錄中存儲屬于該類別的圖像文件。 例如 main_directory/ ...cat/ ...…

遨游Spring AI:第一盤菜Hello World

Spring AI的正式版已經發布了&#xff0c;很顯然&#xff0c;接下來我們要做的事情就是寫一個Hello World。 總體思路就是在本地搭建一個簡單的大模型&#xff0c;然后編寫Spring AI代碼與模型進行交互。 分五步&#xff1a; 1. 安裝Ollama&#xff1b; 2. 安裝DeepSeek&…

華為云Flexus+DeepSeek征文|基于華為云Flexus X和DeepSeek-R1打造個人知識庫問答系統

目錄 前言 1 快速部署&#xff1a;一鍵搭建Dify平臺 1.1 部署流程詳解 1.2 初始配置與登錄 2 構建專屬知識庫 2.1 進入知識庫模塊并創建新庫 2.2 選擇數據源導入內容 2.3 上傳并識別多種文檔格式 2.4 文本處理與索引構建 2.5 保存并完成知識庫創建 3接入ModelArts S…

Java優化:雙重for循環

在工作中&#xff0c;經常性的會出現在兩張表中查找相同ID的數據&#xff0c;許多開發者會使用兩層for循環嵌套&#xff0c;雖然實現功能沒有問題&#xff0c;但是效率極低&#xff0c;一下是一個簡單的優化過程&#xff0c;代碼耗時湊從26856ms優化到了748ms。 功能場景 有兩…

Prompt Tuning:生成的模型文件有什么構成

一、為什么Prompt Tuning會生成模型文件? 1. Prompt Tuning的本質:優化可訓練的「提示參數」 核心邏輯:Prompt Tuning(提示調優)是一種輕量級的微調技術,僅優化模型輸入層的提示向量(Prompt Embedding)或少量額外參數,而非更新整個預訓練模型的權重。生成模型文件的原…

ARM SMMUv3簡介(一)

1.概述 SMMU&#xff08;System Memory Management Unit&#xff0c;系統內存管理單元&#xff09;是ARM架構中用于管理設備訪問系統內存的硬件模塊。SMMU和MMU的功能類似&#xff0c;都是將虛擬地址轉換成物理地址&#xff0c;不同的是MMU轉換的虛擬地址來自CPU&#xff0c;S…

在 Windows 系統上運行 Docker 容器中的 Ubuntu 鏡像并顯示 GUI

在 Windows 上安裝一個 X Server&#xff08;如 VcXsrv 或 X410&#xff09;&#xff0c;Ubuntu 容器通過網絡將圖形界面轉發到 Windows。 步驟&#xff1a; 安裝 X Server&#xff1a; 推薦使用VcXsrv&#xff0c;免費開源。 安裝后運行 XLaunch&#xff0c;選擇&#xff1…

Vue3學習(4)- computed的使用

1. 簡述與使用 作用&#xff1a;computed 用于基于響應式數據派生出新值&#xff0c;其值會自動緩存并在依賴變化時更新。 ?緩存機制?&#xff1a;依賴未變化時直接返回緩存值&#xff0c;避免重復計算&#xff08;通過 _dirty 標志位實現&#xff09;。?響應式更新?&…

【HarmonyOS 5】出行導航開發實踐介紹以及詳細案例

以下是 ?HarmonyOS 5? 出行導航的核心能力詳解&#xff08;無代碼版&#xff09;&#xff0c;聚焦智能交互、多端協同與場景化創新&#xff1a; 一、交互革新&#xff1a;從被動響應到主動服務 ?意圖驅動導航? ?自然語義理解?&#xff1a;用戶通過語音指令&#xff08;如…

csrf攻擊學習

原理 csrf又稱跨站偽造請求攻擊&#xff0c;現代網站利用Cookie、Session 或 Token 等機制識別用戶身份&#xff0c;一旦用戶訪問某個網站&#xff0c;瀏覽器在之后請求會自動帶上這些信息來識別用戶身份。用戶在網站進行請求或者操作時服務器會給出對應的內容&#xff0c;比如…

深入剖析MySQL鎖機制,多事務并發場景鎖競爭

一、隱藏字段對 InnoDB 的行鎖&#xff08;Record Lock&#xff09;與間隙鎖&#xff08;Gap Lock&#xff09;的影響 1. 隱藏字段與鎖的三大核心影響 類型影響維度描述DB_TRX_IDMVCC 可見性控制決定是否讀取當前版本&#xff0c;或在加鎖時避開不可見版本&#xff08;影響加鎖…

以SMMUv2為例,使用Trace32可視化操作SMMU的常用命令詳解

Trace32支持一系列的SMMU命令&#xff0c;可以幫助用戶更好地配置、查看和分析SMMU。換句話說&#xff0c;就是讓SMMU的配置變得可視化。 在添加SMMU實例之前&#xff0c;需要選擇一個CPU來激活該SMMU實例的相關命令。Trace32讓SMMU的配置可視化的本質是&#xff0c;操縱CPU讀取…

將數據庫表導出為C#實體對象

數據庫方式 use 數據庫;declare TableName sysname 表名 declare Result varchar(max) /// <summary> /// TableName /// </summary> public class TableName {select Result Result /// <summary>/// CONVERT(NVARCHAR(500), ISNULL(ColN…

CSS 預處理器與工具

目錄 CSS 預處理器與工具1. Less主要特性 2. Sass/SCSS主要特性 3. Tailwind CSS主要特性 4. 其他工具PostCSSCSS Modules 5. 選擇建議 CSS 預處理器與工具 1. Less Less 是一個 CSS 預處理器&#xff0c;它擴展了 CSS 語言&#xff0c;添加了變量、嵌套規則、混合&#xff0…

this.$set() 的用法詳解(Vue響應式系統相關)

1. 什么是 this.$set()&#xff1f; this.$set(target, key, value) 是 Vue 2 中提供的一個方法&#xff0c;用于向響應式對象中動態添加屬性&#xff0c;確保新加的屬性同樣是響應式的。 2. 為什么需要它&#xff1f; Vue 2 的響應式系統基于 Object.defineProperty&#…