バージョン
menu

Wwise SDK 2025.1.3
重要な移行の注意 2025.1

2025.1の一部の新機能( 2025.1 新機能概要 を参照)のために、Wwise 2025.1への移行前に確認しておくべき重要な点がいくつかあります。

アプリケーションバイナリインターフェース(ABI)の変更

プラグインインターフェースのバイナリ表現が変更されました。すべてのプラグインは、Wwise 2025.1ランタイムでロードするために、Wwise 2025.1 SDKヘッダーに対して再コンパイルする必要があります。

C/C++ APIの変更

特定の型をCから使用できるようにし、プラットフォーム間でより一貫した表現を実現するため、C++ APIの一部の要素を変更しました:

外部ソース

AkExternalSourceInfo::szFile が、OSネイティブ文字列(AkOSChar*)ではなく、UTF-8文字列(char*)になりました。

コールバックシステム

PostEventコールバックのシグネチャを変更しました。以前のコールバック情報構造体を2つに分割しました:

  • すべてのコールバックタイプに共通するデータは、AkEventCallbackInfo構造体へのポインタとして渡されます。このポインタを別の型にキャストしてはいけません。
  • コールバックタイプ固有のデータは、voidポインタとして渡されます。このポインタは、in_eTypeパラメータの値に基づき、適切なコールバック情報構造体の型にキャストします。このポインタは、追加情報が不要な一部のコールバックタイプ(例:AK_EndOfEvent、AK_Starvation、AK_MusicPlayStarted)ではnullになります。

またPostEventコールバックおよびBusVolumeコールバックの両方で、明示的なパラメータとしてユーザクッキーを渡すようになりました。今後は、クッキーは情報構造体に保存されません。

その他の小規模な型変更および名称変更

  • 列挙型 AK::SoundEngine::AkActionOnEventType をグローバル名前空間内のAkActionOnEventTypeに名前変更しました。その列挙値も同様に名前変更しました。
  • 列挙型 AK::AkAudioDeviceEvent をグローバル名前空間内のAkAudioDeviceEventに名前変更しました。その列挙値も同様に名前変更しました。
  • 列挙型 AK::SoundEngine::MultiPositionType をグローバル名前空間内のAkMultiPositionTypeに名前変更しました。その列挙値も同様に名前変更しました。
  • 列挙型 AK::SoundEngine::DynamicSequence::DynamicSequenceType をグローバル名前空間のAkDynamicSequenceTypeに名前変更しました。その列挙値も同様に名前変更しました。
  • 構造体AkMIDIPostAkMIDIEventを継承しなくなり、代わりにmidiEventデータメンバーを持つようになりました。
  • AkWorldTransformおよびAkTransformstruct型になりました。
  • 実際のWAVEフォーマット定義との混同を避けるため、WaveFormatExtensibleWemFormatExtensibleに名前変更しました。

AkMusicEngineライブラリの削除

AK::MusicEngine 名前空間全体と、関連する関数およびライブラリを削除しました。AK::MusicEngine の機能はすべて AK::SoundEngine に移動しましたが、動作は以前と変わりません。 ゲームでUnityまたはUnrealを使用している場合、デフォルトのインテグレーションがこれに合わせて変更されているため透過的です。 ゲームで独自のゲームエンジンを使用している場合、この変更によりビルドが失敗します。以下の手順でコードを移行してください。

  • AkMusicEngine.lib/soファイルを削除しました。ゲームのビルドスクリプトを修正し、リンカー入力からライブラリを削除してください。
  • AK/MusicEngine/Common/AkMusicEngine.hのインクルードを削除しました。このファイルに対するインクルード文をすべて削除してください。
  • 関数 AK::MusicEngine::Init および AK::MusicEngine::Term を削除しました。これらの関数とAkMusicSettings型への参照をWwiseの初期化コードから削除してください。
  • 関数 AK::MusicEngine::GetPlayingSegmentInfo を AK::SoundEngine::GetPlayingSegmentInfo に移動しました。コード内の名前空間を変更してください。

AK::SoundEngine::GetSourcePlayPosition および AK_EnableGetSourcePlayPosition の変更

ソースの位置がデフォルトで追跡されるようになりました。フラグ AK_EnableGetSourcePlayPositionAK::SoundEngine::PostEvent に渡す必要はありません。このフラグは単純に削除されたため、コード内の参照をすべて削除してください。

また AK::SoundEngine::GetSourcePlayPosition() が、より正確な位置を返すようになりました。この違いは AkPlatformInitSettings::uNumRefillsInVoice で定義される再生のレイテンシに関連しています。25.1以前はレイテンシが考慮されていなかったため、報告される時間が実際の再生より最大で4バッファ(40~80ミリ秒)前になることがあり、さらにタイミングが不安定になる自然要因がほかにもありました。新しいタイミングでは、1バッファ(10~20ミリ秒)以内の精度になります。

その他の主な削除

IAkVoicePluginInfo::ComputePriorityWithDistance を廃止し、削除しました。

カスタムのBankManagerスレッドによる非同期操作に対応

AkInitSettings::bUseSoundBankMgrThreadfalseに設定した場合、バンクAPIコールの非同期バリアントが即時に実行されなくなりました。代わりに操作はキューに追加され、ゲームが AK::SoundEngine::ProcessBanks をコールしてキュー内の操作を処理する必要があります。Sound Engineスレッドのカスタマイズに関する詳細については CPU使用率の最適化 をご参照ください。

AkInitSettings::bUseSoundBankMgrThreadtrue(デフォルト)に設定されている場合、動作に変更はありません。

Actor-Mixer Hierarchy、Master-Mixer Hierarchy、Interactive Music Hierarchy

Wwiseの今回のバージョンでは、プロジェクトのフォルダ構造を大幅に更新しました。

以下のルートノードを更新しました:

  • Audio DevicesDevicesに名前変更しました。
  • Master-Mixer HierarchyBussesに名前変更しました。
  • Actor-Mixer HierarchyContainersに名前変更しました。
  • Interactive Music HierarchyContainersに移動し、Music (Migrated)に名前変更しました。

これらのパスを参照するすべてのツール、スクリプト、エンジンを更新する必要があります。

なおWwiseは、入力パスを新しい名前に自動的に置き換えるエイリアスを提供しています。 例えば \Actor-Mixer Hierarchy\SFX_CHARACTER\SFX_EXPL_01\Containers\SFX_CHARACTER\SFX_EXPL_01 に自動的に置き換えられます。

SDK関数 AK::SoundEngine::SetActorMixerEffectAK::SoundEngine::SetContainerEffect に名前変更しました。

プロジェクトパスを参照するWAAPIおよびWAQL

プロジェクト構造の変更はWAAPIスクリプトとWAQLスクリプトに影響を与えます。上記パスを参照するコードはすべて影響を受けます。

クライアントコードでは、 \Actor-Mixer Hierarchy\Default Work Unit など、パスのハードコーディングは回避することを推奨します。 代わりに ak.wwise.core.getProjectInfo をコールし、defaultWorkUnitsまたはdefaultImportWorkUnitのいずれかを取得してください。

Interactive Music Hierarchyは廃止されました。Musicオブジェクトは、Containers階層内に直接作成できるようになりました。

プロジェクトパスを参照するタブ区切りインポート

プロジェクト構造の変更はTab Delimited Importファイルにも影響を与えます。

必ずTab Delimited Importジェネレータおよびスプレッドシートを更新し、新しいパス名を反映してください。

オーサリングプラグインのプロパティ変更

  • InfiniteValue:この属性は、整数のプロパティタイプに限定されるようになりました。

Actor-MixerをProperty Containerに名前変更

Actor-MixerオブジェクトをProperty Containerと呼ぶようになりました。

WAAPI、WAQL、Tab Delimited Importファイル内で使用される「Actor-Mixer」と「ActorMixer」は、それぞれ「Property Container」と「PropertyContainer」に変更してください。

Master Audio BusをMain Audio Busに名前変更

新規プロジェクトを作成する場合、「Master Audio Bus」オブジェクトは「Main Audio Bus」に名前変更されています。WAAPIスクリプトおよびWAQLスクリプトを、新規プロジェクトでは「Main Audio Bus」に更新し、既存プロジェクトでは「Master Audio Bus」を使用してください。

MasterMixerConsoleをBussesConsoleに名前変更

「MasterMixerConsole」ビュー識別子を「BussesConsole」に名前変更しました。WAAPIスクリプトおよびWAQLスクリプトを「BussesConsole」に更新してください。

「MasterMixerConsole」ビューを参照するレイアウトは更新する必要があります。

ObjectListデータモデルの変更

オブジェクトリストの内部構造を変更しました。一部のオブジェクトリスト内のオブジェクトは、これまでとはアクセス方法が異なります。 以下のリストに、Wwiseオブジェクトを参照するInnerObjectが含まれるようになりました:ArgumentsEntryPathMetadataPlaylist

  • Arguments:InnerObjectのArgumentsSlotを含み、Argumentを参照します。注記:Dialogue Eventオブジェクトに適用されます。
  • Arguments:InnerObjectのMusicArgumentsSlotを含み、Argumentを参照します。注記:Music Switch Containerオブジェクトに適用されます。
  • EntryPath:InnerObjectのEntryPathSlotを含み、EntryPathObjectを参照します。
  • Metadata:InnerObjectのMetadataSlotを含み、Metadataを参照します。
  • Playlist:InnerObjectのPlaylistSlotを含み、PlaylistObjectを参照します。

WAAPIオブジェクトリスト

この表は、ak.wwise.core.object.setを使用してオブジェクトリストを構築する場合に該当する変更を示しています。

旧スタイル新スタイル
"@Arguments": [object1, object2]

"@Arguments": [{"type": "ArgumentsSlot", "name": "", "@Argument": object1}, {"type": "ArgumentsSlot", "name": "", "@Argument": object2}]

注記:Dialogue Eventオブジェクトに適用されます。

"@Arguments": [object1, object2]

"@Arguments": [{"type": "MusicArgumentsSlot", "name": "", "@Argument": object1}, {"type": "MusicArgumentsSlot", "name": "", "@Argument": object2}]

注記:Music Switch Containerオブジェクトに適用されます。

"@EntryPath": [object1, object2]"@EntryPath": [{"type": "EntryPathSlot", "name": "", "@EntryPathObject": object1}, {"type": "EntryPathSlot", "name": "", "@EntryPathObject": object2}]
"@Metadata": [object1, object2]"@Metadata": [{"type": "MetadataSlot", "name": "", "@Metadata": object1}, {"type": "MetadataSlot", "name": "", "@Metadata": object2}]
"@Playlist": [object1, object2]"@Playlist": [{"type": "PlaylistSlot", "name": "", "@PlaylistObject": object1}, {"type": "PlaylistSlot", "name": "", "@PlaylistObject": object2}]

WAQLオブジェクトリスト

この表は、オブジェクトリストが関係するWAQLクエリを使用する場合に該当する変更を示す例を提供します。

旧スタイル新スタイル

where @metadata.any and @metadata.any(pluginname = "Wwise System Output Settings")

"\\Busses\\Default Work Unit\\Master Audio Bus\\BusA" select metadata.at(1)

return: ["metadata.at(1).name"]

where @metadata.any and @metadata.any(@metadata.pluginname = "Wwise System Output Settings")

"\\Busses\\Default Work Unit\\Master Audio Bus\\BusA" select metadata.at(1).metadata

return: ["metadata.at(1).metadata.name"]

from type plugininnerobject where pluginname = "metadataslot" select metadata.where(pluginname="Wwise System Output Settings")

from type randomsequencecontainer select playlist.where(type = "sound") from type randomsequencecontainer select playlist.where(playlistobject.type = "sound")
where @Arguments.any(name = "StateGroup1") where @Arguments.any(argument.name = "StateGroup1")
where @EntryPath.any(name = "State1") where @EntryPath.any(entrypathobject.name = "State1")

コマンドIDの名前変更

  • コマンドShowAudioFilesImporterShowAudioFileImporterに名前変更しました。

Wwise Reflectのプロパティ変更

Dopplerエフェクトの管理に関連する複数のプロパティを更新しました。一部は非推奨およびインターフェースで非表示となり、ほかは動作が変更されています。

名前変更したプロパティ

以下のプロパティは名前を変更しましたが、機能性はそのまま維持されています:

  • Distance SmoothingDelay Smoothingに名前変更しました。
  • Pitch ThresholdPitch Limitに名前変更しました。

非表示および非推奨のプロパティ

以下のプロパティは非推奨となりました。まだ存在しますが、ユーザインターフェースでは非表示になりました。今後のバージョンで完全に削除されます。

  • Smoothing Type:非表示および非推奨になりました。今後は効率的なIIRモードのみがサポートされます。
  • Threshold Mode:非表示および非推奨になりました。Continuousモードに、Dopplerをコントロールする追加的なアルゴリズムが導入され、新しいDelay Error Toleranceプロパティからアクセスできます。動作は以前のStepモードと同様です。
  • Distance Thresholdは非表示および非推奨になりました。

Stepモードは非推奨となりました。この動作を再現するには、新しいDelay Error Toleranceプロパティと、低いPitch Limit値を組み合わせて使用します。Delay Error Toleranceは、Distance Thresholdと関連しますが、しきい値を絶対的な距離ではなく相対的な遅延の尺度として定義します。詳細についてはReflect Helpをご参照ください。

警告: Threshold ModeをStepに設定していて、非推奨となったDistance Thresholdを変更したい場合や、改良されたContinuousモードに切り替えたい場合は、UI上で非表示のプロパティを表示させる必要があります。その場合は、 Authoring\x64\Debug\bin\Plugins\AkReflect.xml を開き、目的のプロパティを見つけてIsVisible="false"IsVisible="true"に変更します。その後、Wwiseを再起動します。

AK Expanderプラグインライブラリの削除

AK Expanderプラグインは、スタンドアロンのライブラリまたはDLLではなくなり、すべての機能がAK Compressorライブラリに統合されました。コンパイルのためにAkExpanderFXライブラリやAkExpanderFXFactoryを参照している場合は、参照を削除するか、AKCompressorFXライブラリに更新してください。既存のWwise Authoringインストールを更新する場合は、プロジェクトのロード時にプラグインIDの重複エラーが発生しないよう、Wwise AuthoringのPluginsディレクトリにあるAkExpanderライブラリを確実に削除してください。

Android Platform Init Settingsの変更

Androidのオーディオ出力の初期化を制御しやすくするため、一部の初期化設定を削除し、新しい設定を追加しました:

ほとんどのAndroidデバイスで、AAudioがPerformanceMode=LowLatencyおよびSharedMode=Sharedを使用するデフォルト設定になりました。一方Wwise 2024.1では、AAudioがPerformanceMode=LowLatencyおよびSharedMode=Exclusiveをデフォルトで使用していました。新しいデフォルト設定により、レイテンシに目立った影響を与えることなく、より広範なデバイスとの互換性を向上します。


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう