ADX2 同時発音数の制限方法(サウンドデータ側)

## <i class="fa fa-desktop" style="font-size:1em;"></i> 背景
ゲームの演出上、たくさんの音が鳴ることで、ユーザーが聞こえなければならない音が伝わらなくなってしまう場合があります。

だからと言って、伝えるべき音以外が無音では物足りないし、
賑やかにした上で、目的の音が聞こえるようにするには工夫が必要です。

解決策として**効果的なのは、同時発音数を制限する事**です。

ADX2では、同時発音数を制限する方法が大きく３通りあります。
それぞれを使い分けるシーンとメリット、具体的な設定方法について書きます。
## <i class="fa fa-cubes" style="font-size:1em;"></i> ３種類のボイスリミット
- キューリミット > アイテムの大量取得、カーソル操作音など、同じキューが短時間の間に何度も呼ばれる可能性がある場合に有効
- キューシートキューリミット
- カテゴリキューリミット
> キャラクター毎のボイスやジングル演出など、基本的に複数鳴らさないものなどに有効
- ボイスリミットグループ
> 攻撃音とか爆発音とか、複数種類があり、同時にはたくさん鳴らしたくないものをまとめて制限

※上記はあくまで一例です。

---
### <i class="fa fa-cube" style="font-size:1em;"></i> キューリミット
キューを選択し、キューリミットのチェックを入れる（下図参照）
![CueLimit.png](https://qiita-image-store.s3.amazonaws.com/0/96688/d70a0274-8412-e1fa-f57e-749241285bd1.png)


#### <i class="fa fa-check-square-o" style="font-size:1em;"></i> 先着優先？　後着優先？
リミット数以上の再生リクエストがあった場合、どちらを優先するか設定します。<BR>

>##### <i class="fa fa-cube" style="font-size:1em;"></i> 使い分けのイメージ
スーパーマリオで連続して1UPをする時、1UPの音→先着優先
マリオがコインを取る音→後着優先
##### <i class="fa fa-cube" style="font-size:1em;"></i> まとめ
- **何かの記号、合図、大きな動きに付けられた音**などは、途中で消えない方が良い場合が多い
- 細かくたくさんアクションがある場合は、手前の音を消して動きに合った音を鳴らした方が良い
- どうしても消したくない音はプライオリティを上げる
- もしくはリミットが掛からないよう設計する

#### <i class="fa fa-lightbulb-o" style="font-size:1em;"></i> 一度に複数のキューリミットを設定する場合
 1. キューシートを選び、キューの一覧を表示（デフォルトではキュー一覧）
 2. 登録したいキューを複数選択し、キューリミットフラグ列の上で左クリック

---
### <i class="fa fa-cube" style="font-size:1em;"></i> カテゴリキューリミット
> #####  <i class="fa fa-cube" style="font-size:1em;"></i> 使用例
キャラクター別にカテゴリーを設定しておき、リミット数を１にする事で、同じキャラクターのボイスが同時に複数鳴らない

#### <i class="fa fa-compass" style="font-size:1em;"></i> 下準備
左上のプロジェクトツリー内、カテゴリ上の右クリックメニューから必要なだけグループと、その中に含まれるカテゴリを作る
> ##### <i class="fa fa-cube" style="font-size:1em;"></i> カテゴリ作成例
 Voiceグループのキャラクター名カテゴリがずらっと並ぶ
 BGMグループのStage、Song、Jingleなどを分けて管理する

#### <i class="fa fa-compass" style="font-size:1em;"></i> カテゴリー登録
- 発音数制限を掛けたいキューを同カテゴリーに登録（キューリスト上で登録するのが視認性も良くオススメ）
- リミット数 (画像中央上部) を設定
- キューリミットフラグにチェックを入れる (意外と忘れやすい…と思う)
![CategoryCueLimit.png](https://qiita-image-store.s3.amazonaws.com/0/96688/f44b76cc-7444-f2f4-61a3-6682661b412c.png)


#### <i class="fa fa-lightbulb-o" style="font-size:1em;"></i> 一度に複数のキューをカテゴリーへ登録する場合
###### その１
- プロジェクトツリーのカテゴリーアイコンの列へキューをドラッグ＆ドロップ

###### その２
 1. キューシートを選び、キューリストを表示
 2. 登録したいキューを複数選択し、カテゴリー列の上でダブルクリック or エンターキー
 3. 出てきたポップアップメニューのツリーからカテゴリーを選択（カテゴリーグループが複数ある場合、最大４つまで設定可能）

---
### <i class="fa fa-cube" style="font-size:1em;"></i> ボイスリミットグループ
#### <i class="fa fa-compass" style="font-size:1em;"></i> 下準備
左上のプロジェクトツリー内、ボイスリミットグループ上の右クリックメニューから必要なだけグループを作る
![VoiceLimitGroup.png](https://qiita-image-store.s3.amazonaws.com/0/96688/7fcd9c1f-3989-c217-06e4-7604c01e5dea.png)


#### <i class="fa fa-exclamation-triangle" style="font-size:1em;"></i> 設定する場所が見つけにくいので注意
 - キューに登録した **ウェーブフォーム毎** に設定する<BR>
 - 画像中、水色枠の波形部分をアクティブにし、下のピンク色になっているFX2タブを選択し、プルダウンから選択)

> <i class="fa fa-exclamation-triangle" style="font-size:1em;"></i> 同じ波形でも、キューに登録した波形毎にリミットが掛かるもの、掛からないもので使い分けが可能（設定し忘れに注意）

#### <i class="fa fa-lightbulb-o" style="font-size:1em;"></i> まとめて登録する場合
###### その１
- プロジェクトツリーの緑アイコンの列へキューをドラッグ＆ドロップ<BR>
（この場合、キューで使われているウェーブフォーム全てが登録される）

###### その２
 1. キューシートを選び、キューリストのフィルタをONにしてウェーブフォームをONにする
 2. 登録したいウェーブフォームを複数選択し、ボイスリミットグループの上で左クリックorエンターキー
 3. 出てきたプルダウンメニューからグループを選択


---
設定の仕方は以上です。
### <i class="fa fa-check-square-o" style="font-size:1em;"></i> 最後に
複数のボイスリミットが掛かっている場合の優先順位や、そもそも端末毎、コーデック毎に設定するボイスプール数以上の音には制限が掛かるとか、上記以外にも様々な状況があり得ます。
大抵はマニュアルに記載されていますが分かりづらかったりするので、何かご不明点などあれば[twitter](https://twitter.com/ksilogic)でもコメント欄でもなんなりとお知らせください。

---
### <i class="fa fa-external-link" style="font-size:1em;"></i> 関連リンク
<i class="fa fa-check-square-o" style="font-size:1em;"></i> ADX2についてはこちら → [<i class="fa fa-external-link" style="font-size:1em;"></i> 勝手にADX2情報まとめ](http://qiita.com/ksilogic/items/eb12af856b1ffc88a276)
<i class="fa fa-check-square-o" style="font-size:1em;"></i> Unityへの導入の仕方はこちら → [<i class="fa fa-external-link" style="font-size:1em;"></i> Unity 5のサウンド機能をADX2 LEで強化する
](http://qiita.com/Takaaki_Ichijo/items/aa58faa062c67afb1a84)