【Unity】AssetImporterを使ってみた。

こちらのスライドの13pを参考に、オーディオのアセットインポーターを使ってみました。

エディタ拡張って、検索しても実際に使っているコードが出てこなくて、「情報少ないし難しそう」となかなか手が出にくく、私も敬遠していたのですが、試しに使ってみたら少しの手間で結構な見返りが得られたので、是非使ってみて下さい!

今回はファイルのパスの何処かに"voice"という文字列があったら、
oggやmp3などの圧縮をする。
・3dサウンドを使わない(2dにする)
・96kbpsにする
という設定にしてあります。

【こんな感じの設定が、自動でされます】



下記の罫線の間のコードを、CustomImporter.csという名前で保存し、
Editorフォルダに入れると、それ以降のインポートしたファイルに適用されます。
(見難くてごめんなさい。インデントを入れたかったのですが、行頭の半角スペースや、tabが使えないみたいです…!)

【CustomImporter.csの配置場所です。】



CustomImporter.cs

using UnityEngine;
using UnityEditor;

public sealed class CustomImporter : AssetPostprocessor
{
public override int GetPostprocessOrder()
{
return 0;
}

void OnPreprocessAudio()
{
if(assetPath.Contains("voice"))
{
var audioImporter = assetImporter as AudioImporter;
audioImporter.format = AudioImporterFormat.Compressed;
audioImporter.threeD = false; //2d sound
audioImporter.compressionBitrate = 96000; //96kbps
}
}
}



もし何か間違えなどあれば、指摘していただけると助かります!