アセットバンドルを使ってみよう AssetBundle
まったくこの辺使ってなかったので新しく覚える為にやった事をザザッとまとめていこうと思います。
バンドルとは?
ある製品に別の製品が付属して販売、あるいは配布すること。パソコンを「買ってすぐ使える」状態で販売するために、あらかじめOSやアプリケーションソフトをインストールしておくことなどを指す。
アセットバンドルとは?
選択したアセットを 1つにまとめて Unity からエクスポートできるファイルです。これらのファイルは専用の圧縮フォーマットを使用してアプリケーションからオンデマンドでロードできます。これによりモデル、テクスチャ、オーディオクリップ、または使用されるシーンから切り離してシーン全体などのコンテンツをストリーミングすることができます。
アセットバンドルを作成してみよう
まず最初に適当にtestという名前の.pngファイルを突っ込んでSpriteにしuGUIのImageに当てはめてそのuGUIをプレハブ化しておきました。
画像最初にtest.pngをクリックしてInspectorの下の方からAssetBundleとあるのでその右側のNoneをクリックしてNewを選択し、bundleの名前を入力します。
今回はmyfirstassetbundleという名前にしました。パスカル型で記述しましたが、全部小文字にされたので読みづらい…
同じバンドルにアセットを追加する場合はInspectorウィンドウ一番下のメニューから同じ名前のバンドルを選択して割り当てます。
初期値ではNoneに設定されているのでプロジェクト本体とともにパッケージ化されます。
公式ドキュメント
http://docs.unity3d.com/ja/current/Manual/BuildingAssetBundles5x.html
に記載されているようにアセットバンドルをエクスポートするにはスクリプトが必要になります。
using UnityEditor;
public class CreateAssetBundles
{
[MenuItem ("Assets/Build AssetBundles")]
static void BuildAllAssetBundles ()
{
BuildPipeline.BuildAssetBundles ("Assets/AssetBundles",BuildAssetBundleOptions.None, BuildTarget.StandaloneOSXUniversal);
}
}
そうするとメニューのAssetsからBuild AssetBundlesというメニューが追加されます。
Testというディレクトリでやっていましたが、BuildPipeline.BuildAssetBundles ("Assets/AssetBundles", BuildAssetBundleOptions.None, BuildTarget.StandaloneOSXUniversal);
"Assets/AssetBundles"がディレクトリを指定しているみたいなので、今回は合わせてAssetBundlesとディレクトリ名を変更しておきました。
それでは実際にBuild AssetBundlesを実行してみましょう。
myfirstassetbundleディレクトリが作成されており中にはアセットバンドルとマニフェストファイルが入っており、マニフェストファイルにはアセットバンドルに含まれているファイルが記載されています。
こんな感じでPrefabとSpriteのアセットバンドルとマニフェストファイルが出来ました。
それでこれをサーバーに配置してそこから引っ張ってきて使用するわけです。
一先ずアセットバンドルの作成までという事で次回の記事につなげたいと思います。。。(+_+)
それにしても忙しくてまたかなり更新の間隔があいてしまった…