如何自定义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脚本。

using Live2D.Cubism.Editor.Importers;

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

创建DeleterCustomization脚本。

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

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

* 该脚本是UnityEditor的扩展,所以需要在Editor文件夹下创建。

2. 注册Importer/Deleter对象文件扩展名

注册Importer处理对象资产的文件扩展名。

public sealed class ImporterCustomization : CubismImporterBase
{
    [UnityEditor.InitializeOnLoadMethod]
    private static void RegisterImporter()
    {
        CubismImporter.RegisterImporter<ImporterCustomization>(".asset");
    }
}

注册Deleter处理对象资产的文件扩展名。

public sealed class ImporterCustomization : CubismImporterBase
{
    [UnityEditor.InitializeOnLoadMethod]
    private static void RegisterDeleter()
    {
        CubismDeleter.RegisterDeleter<DeleterCustomization>(".asset");
    }
}

3. 创建载入或删除时会回调的Import()/Delete()

创建载入Importer处理对象资产时回调的Import()。

public sealed class ImporterCustomization : CubismImporterBase
{
    public override void Import()
    {
        UnityEngine.Debug.Log("Asset Import as path : " + AssetPath);
    }
}

创建删除Deleter处理对象资产时回调的Delete()。

public sealed class ImporterCustomization : CubismImporterBase
{
    public override void Delete()
    {
        UnityEngine.Debug.Log("Asset deleted as path : " + AssetPath);
    }
}
请问这篇文章对您有帮助吗?
关于本报道,敬请提出您的意见及要求。