Unity5のアセットバンドル作成とロード
下記手順でアセットバンドルを作成したのですが、
CreateFormFileを使用してLoadする方法がわかりません。
●アセットバンドル作成側
1.新しくシーンを作成しCameraの下にCanvasを作り、Canvasの下にButtonを作成しました。
2.Canvas以下をプレハブとし、そのPrefabにInspector上でAssetBandleの名前をtestcanvas
としました。
3.
BuildPipeline.BuildAssetBundles("Assets/BundleOutPut/");
メソッドにてアセットバンドルを作成し、
Assets/BundleOutPut/ の下に下記4つのファイルができました。
BundleOutPut
BundleOutPut.manifest
testcanvas
testcanvas.manifest
●アセットバンドルロード側
作成したBundleOutPutをAssetsの下のStreamingAssetsに置き
下記のソースでロードしてみたのですがエラーメッセージが表示されます。
public void CreateFileAssetBundleFileLoad()
{
string path = "file://" + Application.streamingAssetsPath + "/"
+ "BundleOutPut";
AssetBundle NoCompress = AssetBundle.CreateFromFile(path);
Instantiate(NoCompress.mainAsset);
}
エラーメッセージ:Error while reading AssetBundle header!
エラーメッセージ:NullReferenceException: Object reference not set to an instance of an object
●質問
・Unity4.xと違い拡張子がUnity3dではないアセットバンドルが作成されるのですが、
Unity5からは拡張子がUnity3dでなくてもロードできるのでしょうか?
・AssetBundle.CreateFromFile(path)でロードする時に必要なファイルは
manifestが拡張子についていない側をパス付きでロードすれば良いでしょうか?
AssetBundle自体はmanifestではない方に入っていると認識しています。