Unity/AssetBundle/AssetBundleをサーバーから読込
提供: 初心者エンジニアの簡易メモ
サンプル
- AssetBundlesを生成する
- 例として、user.csvのアセットバンドルファイル(userとuser.manifest)を上げる。
- 以下サンプルを実行。
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class SampleScene : MonoBehaviour
{
public static TextAsset csv;
void Start()
{
StartCoroutine(GetAssetBundle());
}
IEnumerator GetAssetBundle()
{
string url = "ttp://www.my-server.com/";
string assetGroupName = "usergroup";
using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle(url + assetGroupName))
{
yield return uwr.SendWebRequest();
if (uwr.isNetworkError || uwr.isHttpError)
{
Debug.Log(uwr.error);
}
else
{
AssetBundle assetBundle = DownloadHandlerAssetBundle.GetContent(uwr);
string assetFileName = "user";
csv = assetBundle.LoadAsset<TextAsset>(assetFileName);
Debug.Log("csv.text=" + csv.text);
}
}
}
}
csv.textのところで、ファイル内のデータが、改行を含んで表示された。
既にロード済みのエラーが出る場合
以下エラーが出るとき
can't be loaded because another AssetBundle with the same files is already loaded.
既に同じファイルが、別ロジックからロードされてないか確認。
