我考慮過這是否更像是一個 Unity 或特定庫問題,但考慮到它與資產的加載有關,如果有任何解決方法,它可能會派上用場。
我正在使用帶有 Unity 的 DryWetMidi 庫,并且有許多我可以在運行時加載和交換的 midi 檔案。DWM 從檔案路徑加載 midi 檔案,所以我只是將它們保存在一個檔案夾中,并在加載之前從 Application.dataPath 檔案名構建檔案路徑。但是,在構建專案時,檔案不再位于給定路徑(除非您之后手動將它們放置在那里)。
Unity 沒有可以存盤 midi 檔案的變數型別(除非您將其存盤為 .bytes 檔案),但即便如此,DWM 也需要檔案路徑來加載 midi。
有沒有辦法繞過這個我沒有看到的?我看過使用資源,但這并不能真正讓我與庫的加載方法聯系起來。
我考慮過使用資源(或將檔案存盤為位元組檔案)在運行時加載檔案,復制并創建一個臨時檔案以將其與庫一起加載,然后將其洗掉,但我不確定這是否是矯枉過正并且可能有一種更簡單的方法。
非常感謝!
uj5u.com熱心網友回復:
如前所述,您想要使用的是StreamingAssets
檔案夾和Application.streamingAssetsPath
.
這些資產要么與構建一起提供,要么甚至打包到生成的 apk 中(取決于您的目標平臺)。
您使用的Application.dataPath
實際上只是安裝檔案夾/專案根檔案夾,具體取決于您的目標平臺,并且在構建中根本無法訪問。
也不要混淆Application.persistentDataPath
哪個是允許應用程式持久存盤和訪問資料的外部路徑。例如,如果您希望您的用戶能夠在midi
以后修改和保存修改過的檔案,您將需要使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/528954.html
標籤:unity3d