レッスン 3
目次
今まで行ってきた作業をCubeデモに組み込みます。前2つのレッスンと同様に、SoundBankを生成します。しかしまずここではどのようにしてプレイヤーのHeartbeatを再び動かすかを考えなくてはなりません。Cubeデモには、プレイヤーのHeartbeatをスタートさせるゲームコールがありません。プログラマーに追加を依頼することもできますが、プログラマーを介することなく同じことを実現できないかを考えます。ゲームがプレイされる際に一度だけ起こるイベントが必要になります。
幸い、ゲームをスタートする時や、ゲームに新しいレベルをロードする時に、ゲームから毎回送信されるイベントがあるので、これを利用できます。
今回は、Project ExploreのEventタブに戻る代わりに、ショートカットを使います。
-
Event Viewerのメインエリアで右クリックし、 New Event > Play を選択します。
New Eventダイアログボックスが開き、Events Folderが表示されます。
-
Nameフィールドに Map_Loaded と入力し、 OK をクリックします。
-
Heartbeat Sound SFXオブジェクトを、Event Property Editorにドラッグします。
これで、ゲームをローンチすれば心拍音がスタートします。ただ、プレイヤーが別のレベルをロードすると、Map_LoadedというEventがまたトリガーされるので、2つ目の心拍音が再生されてしまいます。そしてプレイヤーがまた別のレベルに移動すれば、さらに3つめの心拍音が再生される、と続くのです。あなたの作成したプロジェクト構成では、プレイヤーのHPが低くなった時に初めて心拍音が聞こえるようになっているので、複数の心拍音の問題は、プレイヤーのHPが下がるまで気づかれないかもしれません。問題を解決するには、Map_LoadedというEventのアクションを2つ作成すればよく、既存の心拍音を全て停止するアクションと、心臓を再スタートさせるもう1つのアクションです。
-
Heartbeat Sound SFXオブジェクトを、もう一度Event Property Editorまでドラッグします。
Map_Loaded Eventを受け取った時に、まず最初に、既に再生中の心拍音があれば、たとえボリュームが低くて聞こえない場合でも全て停止させます。どの音も、Playというアクションタイプを使って再生できるのと同様に、Stopというアクションタイプを使って停止できます。
-
1行目のType列にあるアクションタイプを Play から Stop に変更します。
PlayとStopのアクションは、同時に発生するように見えても実際にはこのリストの順番通りに処理されるので、Heartbeatは、まず停止され、その直後に再び再生されます。
これで、ゲームをローンチしたり、新しいレベルをロードしたりするたびに、最初にHeartbeatを全て停止してから再び再生するようになるので、ゲームプレイ中に複数の心拍音が聞こえてしまうような事態を防げます。次に、新しく作成したイベントをMainのSoundBankに追加します。
-
Wwiseメニューバーで Layouts > SoundBank を選択するか、 F7 を押し、SoundBank Managerビューで Default Work Unit を展開します。
ここでFoot_PlayerとMap_Loadedの2つのEventをSoundBankに追加する必要があります。
-
Event Viewerで、 Map_Loaded と Foot_Player の両方を、Main SoundBankのSoundBank Editorにドラッグします。
-
SoundBank Managerで、あなたのGame SyncインテグレーションのSoundBankを生成するために、 Generate Selected を押します。