やりたいこと
1、サーバーにおいてあるAssetBundleのURLを変数に代入
2、UnityWebRequestAssetBundle.GetAssetBundleでダウンロード・キャッシュする
3、AssetBundle.getContentでUnity上で使えるようにする
4、同じシーンをロードした時、URLはそのままなのでおなじAssetBundleをダウンロードしてしまうことになり、エラーにつながるので、「すでにおなじAssetBundleをキャッシュしているならGetContentしない」という処理をしたい。
なぜできないのか
AssetBundleのキャッシュを勉強してみたが、AssetBundleManifestの使い方が分からない。
manifestファイルは2つあり、使い道が分からない
キャッシュする際「AssetBundleCacheを引数に代入する」と調べたが、ManifestファイルからHash値が取得できず000000000000というHash値が入れられてしまう
C#
1var webreq = UnityWebRequestAssetBundle.GetAssetBundle(url, cache, 0); 2//変数cacheには値を代入していない 3assetBundleCache = DownloadHandlerAssetBundle.GetContent(webreq); 4/*Sceneを再ロードするとすでに同じファイルをダウンロードしているので 5The AssetBundle '--URL--' can't be loaded because another AssetBundle with the same files is already loaded. 6というエラーが出る*/
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/01 12:18