はじめに
https://github.com/charcolle/EasyAssetBundle
「EasyAssetBundle」を Unity プロジェクトに導入することで
エディタ上でアセットバンドルの構築ルールを設定できるようになります
目次
クイックスタート
この記事では、「EasyAssetBundle」を使用して
アセットバンドルの作成から読み込みまでを行う手順を紹介していきます
構築ルールの設定
Unity メニューの「Window>EasyAssetBundle」を選択すると、
アセットバンドルの構築ルールを設定できるウィンドウが表示されます
「+」ボタンを押して、
「Create」ボタンを押します
すると、アセットバンドルの構築ルールを管理する ScriptableObject が作成され、
エディタ上でルールを設定できるようになるので、
各項目を設定していきます
Basic Settings
項目 | 内容 |
---|---|
Root Path of Build AssetBundle | アセットバンドルにするアセットのルートフォルダのパス |
AssetBundle Build Options | アセットバンドルのビルドオプション 詳細はこちら |
Build Platform | ビルド対象のプラットフォーム |
Export Setting
項目 | 内容 |
---|---|
AssetBundle CachePath | アセットバンドルを作成日時ごとに分けて 保存しておくフォルダのパス |
Export with Manifest | Manifest ファイルを出力するかどうか |
Export AssetBundle Path | アセットバンドルの出力先のフォルダのパス |
Export Type | ビルド時に出力先のフォルダ構造を維持するかどうか |
AssetBundleList Setting
項目 | 内容 |
---|---|
Use AssetBundleList | アセットバンドルリストを使用するかどうか |
AssetBundleList SavePath | アセットバンドルリストの保存先のフォルダのパス |
アセットのリストの読み込み
Basic Settings の設定が完了した後に「Load Assets」ボタンを押すと、
アセットバンドル化する対象のアセットの一覧が表示されます
フォルダ単位でアセットバンドル化する時は上記のように、
ファイル単位でアセットバンドル化する時はこのようにチェックします
右下の入力欄には、アセットバンドルリストのファイル名(.csv)を入力します
アセットバンドルのビルド
「Build」ボタンを押すと、アセットバンドルの作成が始まります
作成が完了すると、「Export AssetBundle Path」で指定したフォルダ内に
アセットバンドルが保存されていることが確認できます
また、アセットバンドルリストを使用する設定にした場合は、
「AssetBundleList SavePath」で指定したフォルダ内に
アセットバンドルリストが作成されていることが確認できます
FileName,AssetPath,AssetBundle,Extension,Version,Size,Date,UnityVersion New Material,Assets/@Project/Materials/New Material.mat,new material,.mat,1,0.02454281,2018/04/15 23:00:00,2017.4.0f1 Square,Assets/@Project/Textures/Square.png,square,.png,1,0.001983643,2018/04/15 23:00:00,2017.4.0f1
アセットバンドルリストの中身は上記のようになっています
アセットバンドルのビルド完了時に表示されるウィンドウで
「Convert」ボタンを押して、保存先のフォルダを指定すると、
アセットバンドルリストを管理する ScriptableObject を作成することもできます
アセットバンドルの読み込み
using charcolle.EasyAssetBundle.Sample; using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private SampleAssetBundleInfoData m_data; private async void Start() { // ここではサンプルで用意されているマネージャーを使用しています // 本来であればゲームに合わせてマネージャーを自作します await EasyAssetBundleSampleManager.Initialize ( data : m_data, url : "【アセットバンドルの URL】", cachePath : "【アセットバンドルのキャッシュの URL】", isDebug : true ); var ab = await EasyAssetBundle.LoadAssetBundle( "New Material" ); Debug.Log( ab ); var mat = await EasyAssetBundle.Load<Material>( "New Material" ); Debug.Log( mat ); } }
アセットバンドルは上記のようなコードで読み込むことができます