【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
}
}
}
もし何か間違えなどあれば、指摘していただけると助かります!
エディタ拡張って、検索しても実際に使っているコードが出てこなくて、「情報少ないし難しそう」となかなか手が出にくく、私も敬遠していたのですが、試しに使ってみたら少しの手間で結構な見返りが得られたので、是非使ってみて下さい!
今回はファイルのパスの何処かに"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
}
}
}
もし何か間違えなどあれば、指摘していただけると助かります!