コンテンツへスキップ

Unityで音2

先日、勇ましく申請したAurora and Rolling Stoneはあっけなくリジェクトを食らってしまいました。理由は「プア」だそうで。

最近のアップルからは美しきミニマリズムの精神が薄れてきてるよなー、とは思ってましたが、自分の作ったものにまでダメ出しされるとは……これがアップルの洗礼というやつか。これを乗り越えれば晴れてわたくしめも一人前のアップル信者に!

まあぶっちゃけゲームとしては完結してるつもりなので、精々エフェクト足したりボーナスアイテム増やしたりとかですかね。しかしどうせなら「下品」な方向で駄目だしくらいたかったよなあ。とりあえず当面は忙しくてあんまりゲーム作ったりできなさそうなので保留です。

話は変わって、以前、Unityで音を鳴らす方法についてかきましたが、割と人が飛んでくるのでその続き。

前回はすべて同じAudioSourceのPlayOneShotを呼んでましたが、これ、一度に一つしか再生できないんですね。あの時点ではうまく行ってる気がしてたんですが、実はダメでした。そもそも同時に鳴らすと音が割れるからああしてみたんですが。つわけで、seの数だけAudioSourceを用意しなければいけないようです。

そこで、空のオブジェクトにAudioSourceコンポーネントだけを割り当てたオブジェクトを用意してそれを複製して割り当てるような感じで作りなおしてみました。

カメラかリスナーを割り当てた空オブジェクトに割り当ててから、sountObjectにAudioSourceオブジェクト、seTableとbgmTableにそれぞれAudioClipをぶちこんでやると使えます。細かい使い方はソース読んでください。booですが。

BGMはイントロ付きのループには対応してるんですけど、クロスフェードはまだ無いです。単にコルーチンでも使ってボリュームを切り替えるだけなので必要なら自分でつけてください。でもって公開しましょう!

Gistに貼ってみました。Githubにプロジェクトごと公開しようと思ったんですが、どうもgitの使い方にまだ慣れてなくて。変なとこあったらtwitterででも教えて下さいませ。