トラックのボリュームを変更する

【トラックのボリュームを変更するとは?】

バンド演奏などPAでは、BGMや声、楽器などの音をミキサー入力しバランスを調整します。

ADX2ではマルチトラックレコーダのイメージになぞらえ、トラックと呼びます。

トラックのボリュームを変更することで、トラック内に配置された音源の音量を調整できます。
これを、ゲーム中で行うとゲームの状況によって音楽のバランスが変化する演出が行えます。
例えば、敵がでてきたらドラムトラックのみになるなどです。

 【素材の用意】

20140613Music

ここでは、例として、ドラム、伴奏、リードと3つのパートを用意します。
別々の波形にミックスすることで、それぞれをゲーム実行時にコントロールできます。

これらの楽器のバランスをコントロールする状況を考えてみます。

    • ドラムだけにする(敵が現れた)
    • 伴奏だけにする(会話シーン)
    • リードだけにする(ステルスシーン)
    • すべてのパートをゆっくりフェードインする(敵がいなくなった)
    • すべてのパートをすばやくフェードインする(移動シーン)
    • 音楽を再生する(ステージスタート)
    • すべてのパートをフェードアウトして止める(ステージエンド)

この操作を行うキューをそれぞれ用意します。

 20140613CueList

ピンク色で書いたものはゲームのイベントになります。
音の表現、音楽の変化などは結果としてであり、プログラマ側で詳細まで意識しなくとも演出可能な形にするのであれば、抽象的なピンク色の方が扱いやすいかもしれません。
後付けで演出を変えたりといった場合などにもあえて具体的にしないのもありです。
※ここでは具体的な効果をあらわすキューの名前をつけています。

 【トラックのボリュームを変更するアクションを作る】

完成品はこれです。

 20140613Music_DrumOnly

キューの下のトラックに注目してください。トラックを表す「T」のアイコンに稲妻が入った、 「ActionTrack」 というものがあります。

20140613ActionTrackこれは、アクショントラックと呼びます。

右側には波形ではなく「P」とかかれた緑のリージョンがあります。 これを「アクション」と呼びます。タイムラインの横軸を拡大すると「PlaybackParam」と書かれています。

 20140613PlaybackParam

まず、これを作ります。

【トラックのボリュームを変更するアクションを作る】

まず、ドラムのトラックをコントロールしたい=ドラムのトラックを「アクション」の「ターゲット」にします。

空のキューを作成し、キューの下のあたりの余白を右クリックし、「アクショントラック」を作成します。

20140613NewActionTrack

20140613NoTargetObject

アクショントラック「ActionTrack」が作成されました。

よく見ると「No TargetObject」と書かれています。これにターゲットのトラックを設定します。

20140613DragTarget

設定するには、元の楽曲キューのトラックをActionTrackにドラッグ&ドロップします。

20140613ActionTrackWithTarget

ActionTrackの「No TargetObject」がドロップしたトラック名「Tr_DRUMS_F01_A1_N」に変化しました。

これで、この「アクショントラック」は、「Tr_DRUMS_F01_A1_N」トラックをコントロールするアクションが置けるようになりました。

【トラックのボリュームを変更するアクションを作る】

「アクショントラック」の右側で、右クリックし、メニューから「再生パラメータアクションの作成」を選びます。

20140613NewAction

できた「PlaybackParam」を右クリックして「プロパティリスト」を選択します。

すると、右側に「プロパティ」のリストが表示されます。

20140613PropertyList

プロパティから「目標パラーメータ値」を「0.00」となっています。

【ためしに再生】

「音楽」キューを鳴らしてから、このキューを再生してみましょう。

するとどうでしょう、ドラムパートの音が消えるのが確認できます。

このキューが再生されたら、トラックのボリュームは、元の値から、0.00に変化したのです。

【トラックの音量を元に戻す】

トラックの音量を元に戻すには、「トラック」の音量を変更する必要があります。

さて、ここで問題になるのは、元のトラックの音量は何か?

実は、バランス調整のためトラックの音量は、1.00にはなっていない場合があります。

ここでは、「目標パラーメータ値」を「0.30」にしてみましょう。

【ためしに再生】

「音楽」キューを鳴らしてから、このキューを再生してみましょう。

するとどうでしょう、ドラムパートの音が小さくなったのを確認できます。

このキューが再生されたら、トラックのボリュームは、元の値から、0.30に変化したのです。

これは、元の値が不定な状態から、「0.30」に変化させる動作になります。

「トラック」の「パラメータ」を変更する「アクション」を作ることができるだけなので、

状況によって、「音量を下げる」のか「上げる」のか「元の音量に戻す」のかは、どう操作したいか次第になります。

【ドラムだけにする】

最初の目的である「ドラムだけにする」は、実はアバウトな要望です。

細かく見て行くと

      • ドラムを聞こえるように=ドラムトラックの音量を0.80に変化
      • 伴奏を止める=伴奏トラックの音量を0.00に変化
      • リードを止める=リードトラックの音量を0.00に変化

という3つの動作を意味します。

プログラムでもしコントロールするとしても、トラックがどんな音量だったか、どのくらいの音量にすべきか、さらにどのトラックが何のトラックなのか、全てを把握している必要があります。

これはプログラマにとってもデザイナにとても負担が大きいです。

これらのアクションを用意する方法は割愛しますが、ここまで理解できていれば、

ゲームでおこるさまざまなイベントを「アクション」するキューを作ることで解決できるかと思います。

【完成品】

デモプロジェクトから「CRI Atom Craftアクションデモプロジェクト」をダウンロードしてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です