0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AudioImporter で Force to mono は有効にしつつ、Normalize だけ無効にする

Posted at

Force to mono

Unity側で音源をモノラルに変換して、容量を削減してくれる設定
モバイルだとONにしたい。

インスペクタ上だと、この設定をONにすると、 Normalize というオプション設定が選択できるようになる。
これは音量を平均化してくれる機能ですが、音素材側で音量調整されているケースもあって、
「小さい音にしたかったのにやたら音量上がってない?」みたいなことになります。

なので、モノラル設定はONにしつつ、ノーマライズはOFFにしておきたい気持ちになりますね。

インポート設定を自動化したい

手動でやるのはつらくなるので、
AudioImporter をスクリプトからいじってなんとかしたい。

が、AudioImpoter には、 forceToMono というパラメータはありますが、
Normalize に関するパラメータが公開されていませんでした。

結果

以下のようにやってやると、該当のパラメータを取得して書き換えることができました。

AudioAssetPostProcessor
var audioImporter = assetImporter as AudioImporter;
var serializedObject = new SerializedObject(audioImporter);
var normalize = serializedObject.FindProperty("m_Normalize");
normalize.boolValue = false;
serializedObject.ApplyModifiedProperties();

参考

https://answers.unity.com/questions/1016473/how-to-disable-normalize-in-audioimporter.html
https://docs.unity3d.com/ScriptReference/EditorUtility.SetDirty.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?