レッスン 5

目次

Switch

前セクションの 'SwitchをWwise-Typeで設定する' で、PlayerのフットステップにSurface_TypeのSwitchを設定しました。同じSwitch Groupを使うSwitch Containerの中に、Impact_Weapon_TypeというSwitch Containerがあり、Playerのウェポンが何かのサーフェス(面)に当たったときにコールされます。Footstep_SurfaceのSwitch Containerと、Impact_Weapon_TypeのSwitch Containerの両方が、Playerによって実行され、同じSwitch Groupを活用していますが、それでは、動くのと、アタックするのを、交互に行うときはどうなるでしょうか?これら2つののSwitch Groupは、どうして互いに干渉しないのでしょうか?

これから、Profiler SessionをキャプチャしてSwitchの切り換えを確認します。プロパティやSceneのアセットを変えたりしないので、ゲームの完全版であるMain Sceneを使っても構いません。

  1. Unityで Audiokinetic > Game Scenes を選択し、 Main Scene を選択します。

  2. PlayをクリックしてPlayモードに入りConnect をクリックしてWwiseをWAGに接続します。

  3. E を押してダイアログの部分をとばし、AdventurerがGameビューに見えたら停めます。

  4. Training Areaで近くの岩に走り寄り、それをアタックしてみます。

  5. 何歩か前進して草や土を踏みしめたあとに、再び岩を打ちます。

  6. もう一度 Play をクリックして Playモードを終了させます

  7. WwiseのCapture Logで、 Filter... をクリックします。

  8. SwitchesEvents 以外のすべてのTypesを無効にし、 OK をクリックします。

    それでは、詳しくCapture Logをみていきます。

  9. Capture LogのWwise Object列にある、 Player_WeaponImpact というObjectの最初の記録を見つけ、その直前に設定されたSurface_TypeのSwitchを確認します。

    PlayerのSwordがStoneと衝突すると同時に、Surface_TypeのSwitchがStoneに設定され、ウェポンが石を打つ音が聞こえてきます。

    その少しあとに、Surface_TypeがGrassに設定されています。今度は、このSwitchをPlayer_FootsteというSwitch Containerが使っています。これを頭に入れておき、2つ目のPlayer_WeaponImpactを探します。

  10. Capture LogのWwise Object列にある、 Player_WeaponImpact のObjectの2回目の記録を探します。

今度は、 最後のSurface_TypeのSwitchのログ記録がGrassであるのに、Weaponが再び石に当たるのが聞こえます。理由は、GrassのSurface_TypeがPlayerの足指(toe_left と toe_right というゲームオブジェクト)に設定されているからで、これはPlayer_WeaponImpactが使うゲームオブジェクトと異なります。実際は、Player_WeaponImpactはWeaponHolderのゲームオブジェクトに対しポストされていて、これは、StoneというSurface_TypeのSwitchに設定されたまま、変わっていません。このように1つのSwitchを複数のゲームオブジェクトで再利用しても、お互いに干渉しあうことがないので、効率的です。