コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】AssetGraph で AssetPostprocessor の処理を構築する方法

はじめに

AssetGraph はアセットのインポートやアセットバンドルの構築に関するワークフローを
グラフィカルに作成、変更、修正して自動化できるツールです

この記事では、AssetGraph で
AssetPostprocessor の処理を構築する方法を紹介していきます

AssetPostprocessor

using UnityEditor;
using UnityEngine;

public sealed class TexturePostprocessor : AssetPostprocessor
{
    private void OnPreprocessTexture()
    {
        var importer = assetImporter as TextureImporter;
        Debug.Log( importer.assetPath );
    }

    private void OnPreprocessAudio()
    {
        var importer = assetImporter as AudioImporter;
        Debug.Log( importer.assetPath );
    }

    private void OnPreprocessModel()
    {
        var importer = assetImporter as ModelImporter;
        Debug.Log( importer.assetPath );
    }
}

これまでは AssetPostprocessor を使用して、
上記のようなコードを記述することでアセットのインポート時の処理を構築してきました

AssetGraph

今回は、AssetGraph を使用して、
テクスチャのインポート時の処理を構築する方法を紹介していきます

f:id:baba_s:20171226094032p:plain

Unity メニューの「Window>AssetGraph>Open Graph Editor」を選択します

f:id:baba_s:20171226100003p:plain

AssetGraphウィンドウが表示されたら
AssetGraph の設定を管理するファイルを作成するために「Create」ボタンを押します

f:id:baba_s:20171226100023p:plain

これで、AssetGraph でノードを構築する準備ができました

f:id:baba_s:20171226100129p:plain

テクスチャのインポート時の処理を反映したいフォルダを
Project ビューから AssetGraph ウィンドウにドラッグします

f:id:baba_s:20171226100147p:plain

すると、「Load from Textures」ノードが作成されます

f:id:baba_s:20171226094548p:plain

「Load from Textures」ノードを選択すると
Inspector でノードの名前やフォルダのパスを変更できます

f:id:baba_s:20171226100329p:plain

AssetGraph ウィンドウを右クリックして
「Modify Assets>Overwrite Import Settings」を選択します

f:id:baba_s:20171226100411p:plain

そして、「Load from Textures」ノードと
「Overwrite Import Settings」ノードを連結します

f:id:baba_s:20171226095121p:plain

「Overwrite Import Settings」ノードを選択して
Inspector で「Import Type」を「Texture」に変更します

f:id:baba_s:20171226095254p:plain

テクスチャのインポート時の設定を構築したら「Apply」ボタンを押します

f:id:baba_s:20171226095400p:plain

最後に AssetGraph ウィンドウの「Build」ボタンを押します

f:id:baba_s:20171226095444p:plain

すると、アセットの設定の反映が始まります

f:id:baba_s:20171226095539p:plain

プログレスバーの表示が終わったら、Project ビューで対象のアセットを選択すると
インポート時の設定が正しく反映されていることがわかります

以上が AssetGraph で AssetPostprocessor の処理を構築する方法になります
モデルやオーディオなども同様の手順でインポート時の設定を作成可能です

参考サイト様