レッスン 3
目次
-
-
-
-
-
-
-
-
-
-
関連動画
-
-
-
-
-
-
-
-
-
-
-
このセクションに入る前に、直前のセクションの Loading SoundBanks using Triggers を終わらせてください。 |
シーンによってゲームオブジェクトを分けておくと、様々なメリットがあります。1つは、同時にロードするアセット数を最小限に保てることで、もう1つは異なる複数のアセットを整理してまとめておくことで、同時にそれらを有効にできることです。前セクションの 'L3_1 - Loading SoundBanks using Triggers' のSceneをもう一度見て、その中にあるWaterfallゲームオブジェクトを使って、これらのメリットを説明します。
Waterfallゲームオブジェクトは、Waterfall(滝)をグラフィックレンダリングしたものです。その子としてWaterfall_UpCloseゲームオブジェクトがあり、さらにその子として、 Ambient_Waterfall AkEventがあります。Ambient_WaterfallのEventはWoodlandsのSoundBank内にあるので、少なくともWaterfall_UpCloseのゲームオブジェクトはWoodlandsシーンに入っていた方がよいように思えますが、実際には、プレイヤーにWaterfallが見えるのは、Woodlandsシーンの中に入ってからなので、Waterfallゲームオブジェクト全体をWoodlandsのSceneに入れると、さらに理にかなっています。
子ゲームオブジェクトのポジションは、親と相対関係にありますが、それで音のポジショニングがオフセットされることはありません。Wwiseは常に、ゲームオブジェクトのポジションをグローバルの観点でとらえ、ゲームオブジェクトの親を考慮しません。 |
これから、WaterfallゲームオブジェクトをWoodlandsシーンに移し、WaterfallゲームオブジェクトがWoodlandsのSceneと同時に有効になり、そしてロードされるように設定する手順を説明します。
-
Projectビューで Woodlands を検索し、 Woodlands Scene をHierarchyまでドラッグします。
-
Hierarchyで Waterfall ゲームオブジェクトを探し、これを選択します。
Waterfallゲームオブジェクト(Waterfall_UpCloseの親オブジェクト)は、プレイヤーがWoodlandsリージョンにいるときだけロードすればいいので、Main Sceneから出し、WoodlandsのSceneまでドラッグしてください。
-
Waterfall ゲームオブジェクトをWoodlandsのSceneまでドラッグします。
ここまでやれば充分で、あとは、すでにあなたが設定したSceneの構成によって、シーンに必要なアンロードやロードが処理されます。グッドプラクティスとして、ProfilerのVoice Graphを使いゲームのプロファイリングを行い、特にAmbient_WaterfallのEventに注目してSceneのロード時にポストされ停止されることを、確認してください。
-
WwiseメニューでLayoutsをクリックし、Profiler を選択します。
-
Advanced ProfilerのVoices Graphタブで、Filterの ブラウズ (...) ボタンをクリックします。
-
Events > Ambient > SoundBankSpecific と展開し、 Ambient_Waterfall というEventを選択し、 OK をクリックします。
フィルタをAmbient_WaterfallのEventに設定することで、Voices GraphにはWaterfallのEventだけが表示されます。Sceneは自動的にロードされるので、Playモードに入る前に除いてください。
-
Unityで、最初にシーンを Save し、次にシーンを Remove します。
この演習でゲームをプロファイリングするときは、UnityとWwiseを横並びに表示させると良いでしょう。もし画面の解像度が低すぎれば、一番大事なウィンドウであるAdvanced Profilerだけを切り離して、Unityの隣に配置してみます。
-
UnityとWwiseのプロジェクトが横並びになるように調整してください。
Unity GameビューでMaximize on Playを選択すると、Playモードに入ったときにUnityエディタの端が引き延ばされ、ゲームが操作しやすくなります。Playモードで一時停止を押すと、一時的に通常のレイアウトに戻ります。
-
Wwiseで Remote… をクリックします。
-
Remote Connectionsウィンドウで Wwise Adventure Game (Editor) を強調表示にして、 Connect をクリックします。
-
Playをクリックします。
-
Woodlands Trigger の中に駆け込みつつ、Main Cameraが中に入らないようにします。
まだWaterfallのEventがアクティブになっていません。
-
Main Cameraを Woodlands Trigger の中へと回転させます。
Main CameraをWoodlands Triggerの中へと回転させると、WoodlandsのSceneがロードされ、Ambient_WaterfallのEventがポストされます。
もし赤い半透明のメッシュ面が見えなければ、いったんPlayモードを終了して前の演習に戻り、Woodlands Triggerをもっと橋に近づけてください。
-
Main Cameraを Woodlands Trigger の外へと回転させます。
Main CameraがWoodlands Triggerを出ると、それをLoadSceneAsyncOnEnterスクリプトが認識して、数秒後に、シーンとAmbient_WaterfallのEventをアンロードして取り除きます。
このようにシーンのゲームオブジェクトを整理することで、Eventと該当SoundBankを一緒にロードしたりアンロードしたりでき、プロファイラを使って試したようにできます。このレッスンを続けるために、Advanced ProfilerのVoices Graphビューをリセットし、Playモードを終了させてください。
-
WwiseでFilterの横にある ブラウズ (...) をクリックします。
-
Filterの一番上にある None を選択し、 OK をクリックします。
-
Unityで ESC を押してWAGのメニューを開き、再び Play をクリックしてPlayモードを終了させます。