Wwise SDK 2023.1.8
|
多くの 新機能 では、Wwise 2018.1に移行する際にいくつかの点に注意する必要があります。
Event ActionのFade Curveプロパティがアクションタイプに従い分割され、アクティベーションに関連するアクション(Play、Resume、Set LPFなど)にFade-in Curveプロパティがつき、ディアクティベーションに関連するアクション(Stop、Pause、Reset LPFなど)にFade-out Curveプロパティがつきます。
Contents Editorがツリーとして書き直され、オブジェクトノードを展開し子孫を表示できるようになりました。列ヘッダは、Multi Editorのようにサイズ変更やカスタマイズが可能になり、inclusion専用の列もあります。列ヘッダをクリックしオブジェクトをソートできるようにするため、Contents Editorでオブジェクトの順番の変更ができなくなりました。
Property EditorのPositioningタブを、完全に組み替えました。以下は、今までの設定機能に慣れているユーザー向けの簡単なガイドです。
Enable Positioningチェックボックスの名前を、Listener Relative Routingに変更しました。今まで通り機能しますが、その影響がポジショニングだけでなくルーティングにも及ぶことを、より明確にしました。結果的に、そのノードにおけるエミッターとリスナーの関係を検証することをエンジンに強制します。エミッターやリスナーはSDK経由でアサインされるゲームオブジェクトであり、リスナーはエミッターにAK::SoundEngine::SetListeners
を使ってアサインされるか、Aux sendを設定する時にアサインされ、エミッターはEventを送出する時に設定されます。エミッターとリスナーの関係の検証とは、信号が現在のゲームオブジェクトからリスナーに向かって「ジャンプする」ことを意味します。その様子をVoices Graphで観察できます。エミッターとリスナーの関係を検証することは、エミッターとリスナーが関与するすべてのポジショニング機能(距離による減衰とスペーシャリゼーション)の前提条件です。
これが、今までのデフォルト設定であり、今でもそうです。Speaker Panningリストを、Direct Assignmentに設定する必要があります。Listener Relative Routingオプションは、パンニングに一切影響しません。
Speaker Panningリストを、Balance - Fadeに設定する必要があります。次に、パンニングを編集するには、今までと同じダイアログで、右にあるEdit…をクリックします。Listener Relative Routingオプションは、パンニングに一切影響しません。
Listener Relative Routingを有効にし、Position listをEmitterに設定し、3D Spatializationの設定をPosition または Position + Orientationにします(前者がデフォルト値)。必ずSpeaker Panning / 3D Spatialization Mixを100に設定します。今までのオプションだったUpdate At Each Frameの無効化に相当するのは、Hold Emitter Position and Orientationを有効にすることです。今までどおり、減衰も設定できます。
Listener Relative Routingを有効にし、Position listをListener + Automationに設定し、3D Spatializationの設定をPositionまたはPosition + Orientationにします(前者がデフォルト値)。必ずSpeaker Panning / 3D Spatialization Mixを100に設定します。パスを編集するには、今までと同じダイアログで、Automation…をクリックします。今までのオプションだったFollow Listener Orientationの無効化に相当するのは、Hold Listener Orientationを有効にすることです。今までどおり、減衰も設定できます。
今まで、ポジショニングを3Dに設定しSpatializationをNoneに設定した場合、その結果のポジショニングは2D pannerを有効にし、点を中央に配置することに相当しました。これからは、SpatializationをNoneに設定すると、選択したSpeaker PanningオプションがDirect AssignmentであれBalance - Fadeであれ、それと、設定したポジションに、従います。また、この配置換えで、"2D"(パンニングした)サウンドに減衰を適用できるようになりました。
Listener + Automationモードは、今までの3D User-Definedモードに相当し、音のポジションは常にリスナーと相対的に設定されます。新たに、音のポジションをエミッターゲームオブジェクトの周りで発生させるようにもでき、これにはPositionモードをEmitter + Automationに設定します。この場合、パスのAutomationがEmitterゲームオブジェクトの周りで行われ、Frontの定義は、ゲーム中のゲームオブジェクトのオリエンテーションによって決まります。Automationのポジションは、距離による減衰(設定されている場合)や、スペーシャリゼーション(設定されている場合)に使われます。
最後になりましたが、PanningとSpatialization(今までの2Dと3D)を、Speaker Panningや3D Spatialization Mixスライダーを使いブレンドすることが可能で、100は完全なスペーシャリゼーションを意味します。
注釈: 100未満の値の方が、2種類のポジショニングを計算する必要があり、ランタイムに負荷がやや高くなります。 |
IAkMixerInputContext::IsSpatializationEnabled
と、 IAkMixerInputContext::IsPannerEnabled
の2つのファンクションを削除しました。代わりに、上記設定に、より正確に一致する以下のファンクションを使います:
GetSpeakerPanningType
HasListenerRelativeRouting
Get3DSpatializationMode
GetNum3DPositions()
や、ほかの"3D"関連の機能が適用されるのは、 HasListenerRelativeRouting()
がtrue
を返す場合だけです。デザイナーは、ほかの設定に合わせてこれらのポジションを減衰やスペーシャリゼーションに利用することができ、ほかの設定内容は、クエリで確認できます。
以下は、いくつかの注意すべき点です:
AK::SoundEngine::SetScalingFactor
経由で調整。AK::IAkMixerInputContext::IsSpatializationEnabled
、 AK::IAkMixerInputContext::IsPannerEnabled
のファンクションを削除し、 AK::IAkMixerInputContext::GetSpeakerPanningType
、AK::IAkMixerInputContext::HasListenerRelativeRouting
、AK::IAkMixerInputContext::Get3DSpatializationMode
のファンクションを追加しました。ak.wwise.core.audio.importTabDelimited が返すエラーオブジェクトの、 details
フィールドが、WAMP仕様に準拠するようになりました。アレイから、オブジェクトに変更されました。アレイは、オブジェクト内の results
というフィールドに移動しました。
標準のソフトウェアOpusコーデックの導入に伴い、Switch専用のOpusコーデックの名前をOpusNXに変更しました。これにより、関連ファイルも以下のように変更されました:
これらのファイルをNintendo Switchで使えば、このプラットフォームのハードウェアデコーダを活用できます。なお、標準OpusコーデックもSwitchで利用できますが、ソフトウェアでデコードされます。標準Opusコーデックファイルの名前は、 AkOpusDecoderFactory.h と、 AkOpusDecoder[.lib, .a] です。
2018.1では、ジオメトリAPIを変更しデータの効率化を図り、表現方法の利便性とまとまりを改善しました。以下の変更点に注意してください:
Wwise 2017.2の組み込みゲームパラメータのDiffraction単位は、角度を表す0から180までの度数でした。2018.1では、Diffractionがパーセント表示となり、100が180度を表すようになりました。同様に、3D Game Object ProfilerのDiffraction値も、パーセント表示になりました。これにより、回折に左右され、今までも0から100までの範囲で表示されてきたObstructionと、調整しやすくなりました。あなたの既存プロジェクトを2018.1に移行すると、自動的にカーブも移行します。