Open5

AB作成

mattakmattak

いっつもABのビルド方法忘れて調べるのでメモ

mattakmattak

exportとname付け用のscript用意

namespace Sample
{
    public static class AssetBundleBuilder
    {
        [MenuItem("Window/AB/Build")]
        public static void Build()
        {
            var outputDir = "AssetBundleData";
            if (!Directory.Exists(outputDir))
            {
                Directory.CreateDirectory(outputDir);
            }

            BuildPipeline.BuildAssetBundles(
                outputDir,
                BuildAssetBundleOptions.None,
                BuildTarget.StandaloneOSX
            );
        }

        [MenuItem("Window/AB/ApplyName")]
        public static void ApplyName()
        {
            foreach (var o in Selection.objects)
            {
                var path = AssetDatabase.GetAssetPath(o.GetInstanceID());
                var name = Path.GetFileNameWithoutExtension(path);
                AssetImporter importer = AssetImporter.GetAtPath(path);
                importer.assetBundleName = name;
                importer.SaveAndReimport();
            }
        }
    }
}
mattakmattak

出力

$ tree AssetBundleData
AssetBundleData
├── AssetBundleData
├── AssetBundleData.manifest
├── pentagonal
├── pentagonal.manifest
├── rectangle
├── rectangle.manifest
├── star
└── star.manifest

0 directories, 28 files
mattakmattak

簡易server

#!/usr/bin/env ruby

require 'sinatra'

get '/:name' do |name|
  File.read(File.join("AssetBundleData", name))
end