Importer/Deleterのカスタマイズ方法

最終更新: 2020年1月30日

このページでは、Importer/Deleterをカスタマイズする手順を説明します。
以下は「SDKをインポート」を行なったプロジェクトに追加することを前提としています。

概要

Importer/Deleterは指定した拡張子のアセットがインポートまたは削除された時コールバックされる機能です。

独自のImporter/Deleterを作成しカスタマイズするには、以下の手順を行います。

  1. CubismImporterBase/CubismDeleterBaseを継承するImporter/Deleterスクリプト作成
  2. Importer/Deleter対象の拡張子を登録
  3. インポートまたは削除された時コールバックされるImport()/Delete()を作成

1. CubismImporterBase/CubismDeleterBaseを継承するImporter/Deleterスクリプト作成

ImporterCustomizationスクリプトを作成します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
using Live2D.Cubism.Editor.Importers;
public sealed class ImporterCustomization : CubismImporterBase
{
/*省略*/
}
```
DeleterCustomizationスクリプト作成する。
``` C#
using Live2D.Cubism.Editor.Deleters;
public sealed class DeleterCustomization : CubismDeleterBase
{
/*省略*/
}
using Live2D.Cubism.Editor.Importers; public sealed class ImporterCustomization : CubismImporterBase { /*省略*/ } ``` DeleterCustomizationスクリプト作成する。 ``` C# using Live2D.Cubism.Editor.Deleters; public sealed class DeleterCustomization : CubismDeleterBase { /*省略*/ }
using Live2D.Cubism.Editor.Importers;

public sealed class ImporterCustomization : CubismImporterBase
{
    /*省略*/
}
```

DeleterCustomizationスクリプト作成する。

``` C#
using Live2D.Cubism.Editor.Deleters;

public sealed class DeleterCustomization : CubismDeleterBase
{
    /*省略*/
}

※スクリプトはUnityエディター拡張となりますのでEditorフォルダ以下で作成する必要があります。

2. Importer/Deleter対象の拡張子を登録

Importer処理の対象となるアセットの拡張子を登録します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public sealed class ImporterCustomization : CubismImporterBase
{
[UnityEditor.InitializeOnLoadMethod]
private static void RegisterImporter()
{
CubismImporter.RegisterImporter<ImporterCustomization>(".asset");
}
}
public sealed class ImporterCustomization : CubismImporterBase { [UnityEditor.InitializeOnLoadMethod] private static void RegisterImporter() { CubismImporter.RegisterImporter<ImporterCustomization>(".asset"); } }
public sealed class ImporterCustomization : CubismImporterBase
{
    [UnityEditor.InitializeOnLoadMethod]
    private static void RegisterImporter()
    {
        CubismImporter.RegisterImporter<ImporterCustomization>(".asset");
    }
}

Deleter処理対象となるアセットの拡張子を登録します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public sealed class ImporterCustomization : CubismImporterBase
{
[UnityEditor.InitializeOnLoadMethod]
private static void RegisterDeleter()
{
CubismDeleter.RegisterDeleter<DeleterCustomization>(".asset");
}
}
public sealed class ImporterCustomization : CubismImporterBase { [UnityEditor.InitializeOnLoadMethod] private static void RegisterDeleter() { CubismDeleter.RegisterDeleter<DeleterCustomization>(".asset"); } }
public sealed class ImporterCustomization : CubismImporterBase
{
    [UnityEditor.InitializeOnLoadMethod]
    private static void RegisterDeleter()
    {
        CubismDeleter.RegisterDeleter<DeleterCustomization>(".asset");
    }
}

3. インポートまたは削除された時コールバックされるImport()/Delete()を作成

Importer処理の対象アセットがインポートされた時コールバックされるImport()を作成します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public sealed class ImporterCustomization : CubismImporterBase
{
public override void Import()
{
UnityEngine.Debug.Log("Asset Import as path : " + AssetPath);
}
}
public sealed class ImporterCustomization : CubismImporterBase { public override void Import() { UnityEngine.Debug.Log("Asset Import as path : " + AssetPath); } }
public sealed class ImporterCustomization : CubismImporterBase
{
    public override void Import()
    {
        UnityEngine.Debug.Log("Asset Import as path : " + AssetPath);
    }
}

Deleter処理の対象アセットが削除された時コールバックされるDelete()を作成します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public sealed class ImporterCustomization : CubismImporterBase
{
public override void Delete()
{
UnityEngine.Debug.Log("Asset deleted as path : " + AssetPath);
}
}
public sealed class ImporterCustomization : CubismImporterBase { public override void Delete() { UnityEngine.Debug.Log("Asset deleted as path : " + AssetPath); } }
public sealed class ImporterCustomization : CubismImporterBase
{
    public override void Delete()
    {
        UnityEngine.Debug.Log("Asset deleted as path : " + AssetPath);
    }
}
この記事はお役に立ちましたか?
はいいいえ
この記事に関するご意見・
ご要望をお聞かせください。