レッスン 6
目次
-
- 関連動画
既に気づいたかもしれませんが、音楽の再生中にAliveとDefeatedの間のトランジションを試みると、音楽がすぐには切り替わりません。理由は、デフォルトで、再生中のミュージックセグメントのエグジットキューに到達するまで、トランジションが実行されないからです。これを定義するのが、トランジションルールです。トランジションルールは、前回のレッスンでギターのミュージックトラックを設定した時にも使いました。ミュージックスイッチコンテナにも、トランジションルールのシステムがあります。トランジションルールを使って、Wwiseが正しいタイミングでトランジション後のミュージックを再生できるようにします。デフォルトトランジションルールがWwise 201 Musicミュージックプレイリストコンテナに既にあるので、見てみます。
-
Project Explorerで、Wwise 201ミュージックオブジェクトを選択して、Transitionsタブをクリックします。
表示されたウィンドウで、ミュージックプレイリストコンテナやミュージックセグメントが切り替わる時のトランジションを定義します。
各行がトランジションルールを表し、トランジション前後の音楽ピースの組み合わせ条件が合えば、それが実行されます。必ず、ソースがAny(任意)でデスティネーションがAnyである場合に、どのような動作を取るべきかを示すデフォルトルールがあります。このデフォルトルールが、今は1行目に表示されています。
-
1行目の“Any to Any” トランジションルールを選択します。
下のSourceグループボックスで、ソースが次のエグジットキューでエグジットすることになっているのが分かります。このためPlayerLifeステートグループのステータスを変えても、音楽がCombatからDefeatedにすぐにトランジションしないのです。このルールによると、再生中のミュージックセグメントがエグジットキューまで到達しなければ、トランジションしないので、CombatやDefeatedの音楽の場合に、トランジションが起きるまで数小節かかるかもしれません。トランジション発生のタイミングのオプションは多数あり、直後にも設定できますが、少しでも音楽的に適切に聞こえるようにする方法を提供してくれるのは、リズム感を意識したオプションです。
-
Exit Source atプロパティを変更して、Next Barにします。
これで、トランジションルールの変更点をテストできます。
-
Wwise 201 Musicイベントを再生して、Transport ControlビューでPlayerLifeステートグループを切り替える実験をします。
トランジションをするのに必ず次のバーまで待つので、切り替えが必ず小節のダウンビートで発生することに注目してください。
なお、この“Any to Any”トランジションルールは全てのトランジションに有効ですが、他のルールを追加することで例外をつくります。例えば、プレイヤーが敗れるとDefeatedミュージックが再生されますが、その前に1小節分待ちます。プレイヤーが敗れても、負けを示す音楽にトランジションするのが、何拍か経過してからになるのが、奇妙に感じられるかもしれません。負けは、突然、予期せぬ時に起きることが多いので、それを表す音楽も、同じようにトランジションすべきです。そこで専用のトランジションルールを追加して、プレイヤーが負けた時だけ有効にします。
-
Add Transitionボタンをクリックします。
2行目に、新しいトランジションルールが作成されます。
基本的に、再生中の音楽は何でもすぐに切って、すぐにDefeatedミュージックにトランジションするべきです。つまり、SourceをAnyにして、DestinationをDefeatedにします。これを設定するには、ミュージックプレイリストコンテナを目的の列までドラッグします。
-
Project Explorerで、Wwise 201 Musicオブジェクトを展開して、Defeatedミュージックプレイリストコンテナを、トランジションルールの2行目の、Destination列までドラッグします。
例外となる状況を明らかにできましたが、これが発生した時に、どのような動作で対応すべきかをまだ定義していません。
-
2行目を選択して、Exit source atプロパティをImmediateに変えます。
この変更点をテストする前に、もう1つ、検討すべき状況があります。プレイヤーのリスポーン時に、PlayerLifeステートグループがAliveに戻ります。これが原因で、Defeatedミュージックの終わりが、急に切れてしまうかもしれません。Defeatedミュージックは数小節分しかないので、Defeatedミュージックを最後まで再生してからCombatミュージックにトランジションして戻した方が、良く聞こえます。別のトランジションルールで、これに対応します。
-
別のトランジションルールを追加して、それを選択します。
デフォルトのExit Source atはエグジットキューですが、設定しようとしている内容にそのままで合います。Source値とDestination値を定義すればいいだけで、ここではDefeated to Anyにします。
-
Defeatedオブジェクトを、新しいトランジションルールのSource列までドラッグします。
これで、Musicイベントを再生してPlayerLifeステートグループを切り替えた時に、トランジションルールが適切に作用するかをテストできます。
-
Musicイベントを再生して、Player Lifeステートを切り替えます。
PlayerLifeステートグループがDefeatedに変わると、Defeatedミュージックがすぐに再生されます。DefeatedからAliveに切り替えた時に、Defeatedミュージックのエグジットキューに到達するまで、トランジションが起きないことに注目してください。こうすれば、プレイヤーがリスポーンした時でも、Defeatedミュージックが途切れてしまう心配はありません。