流媒體資源 (Streaming Assets)

多见多闻發表於2024-07-12

Unity 中的大多數資源在構建時都會合併到專案中。但是,將檔案放入目標計算機上的普通檔案系統以使其可透過路徑名訪問有時會很有用。這方面的一個例子是在 iOS 裝置上部署電影檔案;原始電影檔案必須位於檔案系統中的某個位置以便由 PlayMovie 函式進行播放。

放置在 Unity 專案中名為 StreamingAssets__(區分大小寫)的資料夾中的所有檔案都將逐字複製到目標計算機上的特定資料夾。可使用 Application.streamingAssetsPath 屬性來檢索此資料夾。在任何情況下,最好使用 Application.streamingAssetsPath 來獲取 StreamingAssets__ 資料夾的位置,因為它總是指向執行應用程式的平臺上的正確位置。

此資料夾的位置因平臺而異。請注意,以下名稱區分大小寫:

  • 在桌面計算機(Mac OS 或 Windows)上,可使用以下程式碼獲取檔案的位置:

     path = Application.dataPath + "/StreamingAssets";
  • 在 iOS 上,使用:

     path = Application.dataPath + "/Raw";
  • 在 Android 上,使用:

     path = "jar:file://" + Application.dataPath + "!/assets/";

在 Android 上,這些檔案包含在壓縮的 .jar 檔案(其格式與標準的 zip 壓縮檔案基本相同)中。這意味著,如果不使用 Unity 的 WWW 類來檢索檔案,則需要使用其他軟體檢視 .jar 存檔內部並獲取檔案。

注意:位於 StreamingAssets 資料夾中的 .dll 檔案不參與編譯。

相關文章