レッスン 2

目次

Largeモードを使う

Dungeon(地下牢)には、よろいを装着した大きな像が置かれた古いLibrary(図書室)があり、床下を溶岩が流れています。これから、あなたはLava(溶岩)アンビエンスを実装しますが、問題が1つあります。広域に渡る溶岩を表現するには、Ambient_LavaのEventをどこに置けばいいでしょうか?

[ヒント]

もしあなたがまだ、Main Sceneを使ってゲーム全体をプレイしていなければ、ここで是非ともゲームをプレイして、特にこのセクションの環境となるLibraryの様子に慣れてください。

水や溶岩や風のようなオブジェクトは、たった1つの定位置の音だけで表現しても、なかなか納得のいく結果を得られません。これを解決しようと大量のEventインスタンスを同じエリアに追加して音を拡散させようと考えるかもしれませんが、そうするとボイスインスタンス数が増加してパフォーマンス負荷が急増してしまいます。AkAmbientのLargeモードは、1つのボイスインスタンスだけで複数のポイントエミッターを作成できる機能を提供し、この問題を解決してくれます。これらのポイントエミッターを使いボリューメトリックな音の伝播を真似ることができるので、Simpleモードに設定した複数のゲームオブジェクトを配置するよりも、かなり少ないリソースで済みます。

[ヒント]

Audiokineticのウェブサイトの Creating Multiple Positions for Single Game Objects や、 3D Positions などのページに、詳しい情報があります。

これから、Wwise Adventure GameのLavaをAkAmbient Largeモードに設定する手順を説明します。

  1. Unityのメニューで、 Audiokinetic > Certification > 301 > Lesson 2 を選択し、 AkAmbient Position Types を選択します。

    Libraryリージョンの現在の設定に慣れるために、テレポートしてまわってみてください。

  2. Play をクリックし、Playモードに入ります。

  3. ESC を押してゲームメニューに入り、 Library にテレポートします。

  4. 橋の中央を歩き回りながら、真下にあるLava(溶岩)エリアを観察します。

    Lava音は、床下全体を完全に覆っているように見えるのに、実はゲームオブジェクトの中央だけから出ているので、1つの場所からしか聞こえてきません。では、Ambient_Lavaゲームオブジェクトを探し、どうすれば状況を改善できるのかを考えます。

  5. ESC を押してWAGメニューを開き、 Play をもう一度クリックしてPlayモードを終了させます。

  6. Hierarchyで L2_3B - Dungeon Environment Scene > Wwise を選択し、 Ambient_Lava ゲームオブジェクトを選択します。

  7. マウスをSceneビューの中に置き、' F 'を押してフォーカスを Ambient_Lava ゲームオブジェクトにあてます。

    Inspectorを見ると、AkAmbientコンポーネントが表示されています。覚えているかもしれませんが、Position Typeプロパティは、Event Nameのすぐ上にあります。今はSimple Modeに設定されているので、これを変えます。

  8. Position Typeプロパティで、 Large_Mode を選択します。

    Show Attenuation Sphere: というプロパティの下に、2つのボタンが表示されます。ここで Add Large Mode position をクリックすれば、新しいポジションオブジェクトが、 Ambient_Lavaゲームオブジェクトの子として作成されます。ゲームオブジェクト上に AkAmbient Large Mode Positioner コンポーネントさえあれば、それをAkAmbientコンポーネントのポジションオブジェクトとして扱えるのです。 Add Large Mode position をクリックすることで、スクリプトが新しいゲームオブジェクトに自動的に追加されます。

    [ヒント]

    必要に応じてSceneビューを調整し、Lava(溶岩)エリア全体が観察できるようにしてください。あとでゲームオブジェクトを配置するときに、全体を見渡せるビューが必要です。

  9. Add Large Mode positionをクリックします。

    HierarchyでAmbient_Lavaゲームオブジェクトを展開すると、AkAmbientPoint0ゲームオブジェクトが見えるはずです。

    すべての子ゲームオブジェクトのポジションは、親との相対関係で決まります。このため、Ambient_Lavaゲームオブジェクトを移動させると、子ポジションオブジェクトもすべて、一緒に移動します。そこでAkAmbientPoint0だけを動かしたければ、それをHierachyで選択するようにします。

  10. Hierarchyで AkAmbientPoint0 ゲームオブジェクトを選択します。

    これで、子ゲームオブジェクトを音が発生する場所に動かす作業を始められます。

  11. Move ツール (W) を使い、AkAmbientPoint0ゲームオブジェクトを4つの分かれた溶岩の1つの中央まで持っていきます。

    それでは、もっとポイントを追加し、4つの溶岩にそれぞれ2つ以上のポイントを設定してください。

  12. AkAmbient Tool Barと、Move ツールを使い、すべての溶岩にポジションオブジェクトを追加していきます。

    すでに説明したとおり、Attenuation SpheresをAkAmbientコンポーネントで有効にすることができます。これはどのポジションタイプでも言えることで、Largeモードでは、AkAmbientコンポーネントから参照される各ポジションオブジェクトに、それぞれのsphereが付きます。Attenuation Sphereはそれぞれ半透明で、重なっている部分は透明度が下がります。ゲームオブジェクトが効果的に配分されているかを確認でき、Lavaサウンドの広がる範囲が分かります。

  13. Show Attenuation Spheresプロパティで、 Current_Event_Only を選択します。

    重なっているsphereもあり、重複すればするほど透明度が下がるので、エリアごとにLavaサウンドの強度が見て分かります。

    それでは、ゲーム内でもテストしてみましょう。

  14. Play をクリックし、Playモードに入ります。

  15. ESC を押してゲームメニューに入り、 Library にテレポートします。

  16. ESC を押してWAGメニューを開き、 Play をもう一度クリックしてPlayモードを終了させます。

これで、端っこに立ちながらカメラをLavaの上に突き出して、Lavaアンビエンスが正しく表現されているのかを確認できます。端の方でLavaがうまく表現されていないような場所を発見した場合は、単純に、そのエリアのポジションポイントを増やしたり減らしたりすればいいのです。