BGM用のファイルをインポートするとデフォルトの設定がオーディオクリップに適用されます。
これをインスペクタ―上から手動で設定することが普通だと思いますが、数が多くなってくるといちいち設定をするのが面倒になります。手動での設定は行うことを忘れることもあります。
これらを解決するには自動で設定を行えるようにするのが一番です。
AssetPostprocessorというクラスを継承してクラスを作ります。AssetPostprocessorはアセットのインポートや変更時になんらかの処理を行うために使うクラスです。
Editorフォルダの下にスクリプトをおかなければいけません。(Unity5からなのかEditorフォルダの下に置かなくても動作するようになっていました。しかしながら、互換性のためEditorフォルダに置くことを推奨します。)
上のスクリプトはBGMをインポートしたときにオーディオクリップの設定を行うサンプルです。
BGM_IMPORTERシンボルが定義されていれば、Resources/Sound/BGMにおかれたオーディオクリップをストリーミング再生で圧縮フォーマットはOgg Vorbisというように設定します。
新しくオーディオファイルを追加したときはこのスクリプトの処理が行われます。既に追加してあるファイルに処理を通したい場合は、リインポートを行うかオーディオクリップの設定を変更すると処理が通ります。
リインポートはアセットを選択した状態でAssetsメニュー->Reimportを選択するかアセットを右クリックして出るメニューからReimportを選択すればできます。フォルダを指定するとそのフォルダ以下をリインポートすることもできます。
上記のスクリプトはBGM用に作ったものですが、少し改造すればSEやVoiceといったBGMとは少し設定を変えるであろうオーディオクリップにも使えます。
フォルダを分けるのが素直な方法だと思います。 Resources/Sound/SEとかResources/Sound/Voiceにあるファイルだったらで場合分けするというのがお手軽です。
こういった自動化用のスクリプトはEditor拡張というやり方でUnityは柔軟に対応することができるようになっています。 Editor拡張は面倒なことが多いのですが、一度作ってしまうと後の作業を劇的に減らしてくれる可能性を秘めています。
同じような作業を繰り返していると感じているときは自動化できないかと考えてみると楽ができます。
コメント