【Unity】音まわりパッケージ
ナニコレ
そろそろ音まわりの処理が共通化できそうだなーということでやってみる。
とはいえ音に関してはこだわったことをしたことがないので、機能は必要最低限という感じ。FPSなんか作るともう少し演出的にやるべきことができるんだろうけど…。
リポジトリ
機能
- BGMのフェードアウトつき遷移
- BGMアセットの読み込み先切り替え(アセットバンドル or 内部アセット)
- ただし、アセットバンドル版だと起動時に全部読み込んでメモリに乗せるというゴリ押しの実装になっている。
- というのもロード処理に関してはハードの影響をモロに受けるので、ベストプラクティスな書き方がないように見える。なのでとりあえずはロード時間が問題にならない方式を用意しておいた。
- ロード処理はある程度アプリ側で書けるようにしてある。
IMusicStore
を実装すればいい。
- ただし、アセットバンドル版だと起動時に全部読み込んでメモリに乗せるというゴリ押しの実装になっている。
- 効果音同時再生の抑制
- 同じ音が大量に同じフレームに鳴って潰れる、みたいなのを回避する。
- ちょっとした工夫として、使い終わった音声ファイルは(設定されていれば)
AudioClip.UnloadAudioData
を呼んで使用メモリを減らすようにしている。
TODO
これまで作ったパッケージの機能を網羅するサンプルプロジェクトがあればいいかなあ。