レッスン 9
目次
どんなゲームでもサウンドを有効にするには、エミッターとリスナーの両方が必要です。エミッターはゲームオブジェクトにポストされたEventを扱うAkGameObjコンポーネントで、リスナーはAkAudioListenerコンポーネントのあるゲームオブジェクトを参照します。
上図のEmitter(エミッター)はAmbient_RiverというEventのゲームオブジェクト上の、AkGameObjです。リスナーは、あなたがコントロールするキャラクターか、あなたの視点となっているカメラのどちらかの場合が多いです。あなたの状況ではどちらがベストか、よく考えてから決めてください。Wwise Adventure Gameは、AkAudioListenerコンポーネントがMain Cameraに追加されています。UniqueNameのHierarchyを見ると、Main Camera、Directional Light、WwiseGlobalゲームオブジェクトがあります。
デフォルトでAkAudioListenerスクリプトがMain Cameraに追加されていますが、今はその設定を解除し、AkAudioListenerを別の新しいPlayerゲームオブジェクトに追加します。
-
Unityのメニューで、 Edit を選択し、 Wwise Settings… を選択します。
デフォルトで、Wwise Unity Integrationがリスナーを、最もよくあるユースケースのMain Cameraに追加します。ただし、ゲームによっては、2DサイドすクローラーのようにサウンドがCameraでなくPlayerの位置に基づいていなければならないので、マニュアル操作でリスナーを別のゲームオブジェクトに追加してみてください。
-
Asset Managementの下で Automatically add listener to Main Camera が無効になっていることを確認してから、 OK をクリックします。
Untitled Sceneは、あなたがUnityを開いたあとにロードされたので、AkAudioListenerは、あなたが作成する新シーンとは違い、まだMain Cameraの上にあります。まだSceneの中を変更していないので、これを簡単に解消するには、新しいSceneを作成します。
-
Unityのメニューで、 File で New Scene を選択します。
-
Scene(s) Have Been Modifiedウィンドウで、 Don't Save をクリックします。
-
Hierarchyで Main Camera.を選択します。
Inspectorに、今は3つのコンポーネントが表示され、そのうち1つはUnityが提供するAudio Listenerコンポーネントです。このコンポーネントはUnity Audio Engineと一緒に使いますが、今回はWwiseを使うので、このコンポーネントを削除してください。
-
Component Context Menu (ギアのアイコン)をクリックし、 Remove Component を選択します。
次に、ゲームのPlayerまたはキャラクターとして使う新しいゲームオブジェクトを作成し、それにAkAudioListenerスクリプトを追加します。Sceneで新しいオブジェクトを見ることができるように、Sceneタブが開いていることを確認します。
-
Hierarchyで空いた場所を右クリックしてから 3D Object を選択し、 Capsule を選択します。
このCapsuleが、Playerゲームオブジェクトになります。
-
Inspectorで Add Component をクリックし、 AkAudioListener を検索して選択します。
これで、Wwise Unity IntegrationというListenerを、Capsuleゲームオブジェクトに追加できました。
AkAudioListenerを追加したときに、AkGameObjスクリプトも追加されています。AkGameObjスクリプトはAkAudioListenerが使うので、自動的に追加されています。