版本

menu_open
警告:系统已根据您所用大版本 (2023.1.10.8659) 自动跳转至最新文档。若想访问特定版本的文档,请从 Audiokinetic Launcher 下载离线文档,并在 Wwise 设计程序中勾选 Offline Documentation 选项。
Wwise SDK 2023.1.10
重要迁移说明 2022.1

由于部分 2022.1 新增功能 的原因,在迁移到 Wwise 2022.1 时需注意以下事项。

影响向后兼容性的 WAAPI 改进

除了音乐对象之间的过渡,Capture Log 现在还会报告 Music Playlist 回调。这两个条目被归到了 Profiler Settings 中的 Interactive Music 名称下。为了反映这一改进,我们做了以下调整:

  • ak.wwise.core.profiler.enableProfilerData :将 "musicTransitions" 重命名为了 "interactiveMusic"。
  • ak.wwise.core.profiler.captureLog.itemAdded :将 "MusicTransitions" 重命名为了 "InteractiveMusic"。
  • ak.wwise.core.profiler.enableProfilerData :将 "inactiveGameSyncs" 重命名为了 "gameSyncs"。
  • 修复了 Wwise Object MusicTrack 和 Sound 的 "IsZeroLantency" 属性的拼写错误:将 "IsZeroLantency" 重命名为了 "IsZeroLatency"。
  • 将函数 ak.wwise.ui.captureScreen 的参数 "viewSyncGroup" 重命名为了 "viewSelectionChannel"。
  • 将 Wwise Object Sound 上的访问器 originalWavFilePath 重命名为了 "originalFilePath"。
  • 将 Wwise Object Sound 上的访问器 convertedWemFilePath 重命名为了 "convertedFilePath"。
  • ak.wwise.core.remote.getAvailableConsoles :移除了 "notificationPort"。
  • ak.wwise.ui.commands.execute 相关 – 重命名或移除了以下命令:
    • 将 "ShowUserProjectSettings" 重命名为了 "ShowDefaultObjectValues"。
    • 将 "ShowPropertyHelp" 重命名为了 "ShowContextualHelp"。
    • 将 "FindInProjectExplorerSyncGroup1" 重命名为了 "FindInProjectExplorerSelectionChannel1"。
    • 将 "FindInProjectExplorerSyncGroup2" 重命名为了 "FindInProjectExplorerSelectionChannel2"。
    • 将 "FindInProjectExplorerSyncGroup3" 重命名为了 "FindInProjectExplorerSelectionChannel3"。
    • 将 "FindInProjectExplorerSyncGroup4" 重命名为了 "FindInProjectExplorerSelectionChannel4"。
    • 将 "FindInProjectExplorerNoSyncGroup" 重命名为了 "FindInProjectExplorerNewPinnedView"。
    • 移除了 "ProfilerFilterSetKeyboardFocusToCurrent"。

关于终止支持混音器插件的声明

在此声明,Wwise 2022.1 将是最后一个支持混音器插件的大版本。2022.1 的小版本仍提供相应支持,但未来大版本将不再予以涵盖。如需了解管线为何使得混音器插件不再适用,请参阅了解基于对象的音频

取消了对 SoundFrame API 的支持

Wwise 中不再提供对 SoundFrame API 的支持。Wwise 2021.1 是最后一个支持 SoundFrame API 的大版本。 有关 WAAPI(最新 SoundFrame 技术)的详细信息,请参阅 使用 Wwise Authoring API(WAAPI) 章节。

移除了 Spatial Audio Initialization Settings 的两项参数

2022.1 中移除了 Spatial Audio Initialization Settings 的两项参数:bUseObstruction 和 bUseOcclusion。在早期版本的 Wwise 中,这两项参数被默认设为 true。衍射和透射损失值分别用于 Obstruction 和 Occlusion 曲线。通过将 bUseObstruction 或 bUseOcclusion 设为 false,可禁止使用这两条曲线,改为只结合 RTPC 使用内置参数。

在 Wwise 2022.1 中,现在可为各个声音对象单独创建由衍射和透射损失驱动的曲线。这些曲线既可像之前一样使用 Obstruction 和 Occlusion 曲线,也可单独自定义或禁用。这些改进使得 bUseObstruction 和 bUseOcclusion 参数不再适用。为此,我们移除了这两项参数。

若过去都是将其中一项或两项参数设为 false,对于之前受衍射或透射影响的各个声音对象,最好手动禁用由衍射或透射驱动的曲线。通过将 Curve 设为 None,可在应用于声音对象的 Attenuation ShareSet 中禁用这些曲线。

Spatial Audio Geometry Instance

在 2022.1 中,Spatial Audio 支持 Geometry Instance。Geometry Instance 允许用户创建多个 Geometry Set 副本,每个副本都有自己的位置、比例和朝向。在调用 AK::SpatialAudio::SetGeometry 时会将几何构造数据传给 Wwise Spatial Audio,但不会再在不创建 Geometry Instance 的情况下将其添加到场景中。对于每个要添加到场景中以进行声学模拟的 Geometry Set,都要调用 AK::SpatialAudio::SetGeometryInstance 来创建 Geometry Instance。

取消了对原有 Wwise 命令行接口 (WwiseCLI) 的支持

Wwise 2022.1 不提供原有的 Wwise 命令行接口(即 WwiseCLI.exe)。有关 Wwise Console(替代原有 Wwise 命令行接口)的详细信息,请参阅 使用命令行 章节。

移除了 Reflect 插件的曲线

移除了 Reflect 插件的 Distance Attenuation (Emitter vs. Listener) 曲线。之前,可通过这条曲线定义 Reflect 插件的输出音量随“听者”和“发声体”游戏对象之间距离的衰减。现在,可利用 Reflect Auxiliary Bus 上的 Attenuation ShareSet 的由距离驱动的音量衰减曲线加以实现。为此,在将工程迁移到 Wwise 2022.1 时,会为 Reflect 效果器上的非平直 Distance Attenuation (Emitter vs. Listener) 曲线自动创建新的 Attenuation ShareSet。

若在迁移之前没有设置其他衰减,则将新建的各个 Attenuation ShareSet 添加到对应的 Reflect Auxiliary Bus。这样可确保 Reflect 效果器的行为与之前相同。若 Reflect Auxiliary Bus 带有多个设置了所述曲线的 Reflect 效果器,则只添加其中一个新建的 Attenuation ShareSet。

藉此,可清晰区分衰减曲线(由发声体的位置驱动)和 Reflect 效果器曲线(由镜像声源的位置驱动)。

移除了 CopyStreamedFiles.exe

移除了之前在 Samples 目录下提供的 CopyStreamedFiles.exe。该工具用于在生成 SoundBank 后将零散文件和流媒体文件复制到输出文件夹。媒体文件的复制现在集成到了 SoundBank 生成过程中,可通过 SoundBank 工程设置 Copy Loose/Streamed Media 来配置。Wwise 会将 CopyStreamedFiles.exe 的功能迁移到新集成的复制系统。

备注: 之前,CopyStreamedFiles.exe 要求 SoundBank 生成过程同时创建 SoundBank 元数据文件 SoundBanksInfo.xml。现在,不再需要此文件了。

对 AK::Wwise::ISourceControl 的改进

Wwise 现在为生成的文件提供版本控制系统更新。为此,我们在版本控制系统接口中做了以下改进。

新的 No-UI 命令

AK::Wwise::ISourceControl::PluginInfo: 添加了新的 No-UI 命令:

  • m_dwAddNoUICommandID
  • m_dwRevertNoUICommandID
  • m_dwCheckOutNoUICommandID

针对生成的文件向 AK::Wwise::ISourceControl::OperationMenuType 添加了新的操作类型:

  • OperationMenuType_Generated

为了应用这些命令,更新了版本控制插件示例。

新的接口方法

向接口添加了新的方法:

为了应用这些命令,更新了版本控制插件示例。

提升了性能

File Manager 现在提供更好的用户体验,尤其是在处理一大批文件的时候。为了加快行的更新速度,添加了新的函数来在单个调用中同时获取文件的状态和图标:

另外,大部分 GetFileStatusGetFileStatusIcons 调用现在都采用异步模式,让用户可在版本控制系统获取信息时自由地与界面进行交互。

对版本控制系统容器的改进

版本控制系统容器的有些函数会使内部迭代器失效(比如添加、插入和移除数值以及 GetHeadPosition 和 GetTailPosition)。同一时间对每个容器来说只能有一个 AkPos 生效。

容器不再使用 MFC 而改为使用标准库来实现。

新的媒体文件布局

为了解决各个输出目录下文件不断增多的问题,Wwise 将媒体文件移到了新的 Media 子文件夹。根文件夹具有相同的文件夹层级结构:非本地化媒体放在根文件夹中,本地化媒体单独放在子文件夹中。注意,Wwise 提供的示例文件解析器默认采用这一新的文件布局。若启用了 SoundBank 工程设置 Copy Loose/Streamed Media,SoundBank 生成过程中会将媒体文件复制到正确的位置。

为了进一步减少各个文件夹中的媒体文件数量,Wwise 专门提供了对上述各个文件夹进行拆分的选项。对此,可将媒体文件放在以文件名前两个字符命名的子文件夹中。比如,将媒体文件 1234.wem 放在子文件夹 /12 中。对此,可通过 SoundBank 工程设置 Sub-Folders for Generated Files 加以实现。要想在使用 Wwise 提供的示例文件解析器的情况下执行所述操作,可使用 CAkMultipleFileLocation::SetUseSubfoldering() 方法。

有关详细信息,请参阅 SoundBank 输出文件夹布局

为 Bank Load/Unload 函数新增了 AkBankType 参数

Wwise 现在提供自动定义的 SoundBank。这些新增 SoundBank 的名称/ID 有可能会跟用户定义的 SoundBank 发生冲突。为此,我们在所有 Bank Load/Unload 函数中新增了 AkBankType 参数以限制 AkBankID 的设定范围。对于用户定义的 SoundBank,新增参数将设为 AkBankType_User 的默认值(采用不同的数值指定自动定义的 SoundBank)。大部分 Bank Load/Unload 函数调用都不需要用户做任何改动。

对 SoundBank 元数据文件的改进

我们对 SoundBank 元数据文件的内容和格式进行了修改。这会影响 all-SoundBank 文件、SoundBankInfo.(json,xml) 以及 per-SoundBank 文件以及 WAAPI 函数 ak.wwise.core.soundbank.generated 的内容。因此,所有使用这些信息的自定义工具都要进行调整。

在做出这些改进的同时,我们引入了自动定义的 SoundBank。有关详细信息,请参阅自动定义 SoundBank

对 iOS 中断处理进行了调整

为了更加符合 Apple Human Interface Guidelines,对 iOS 中断处理进行了调整。有关详细信息,请参阅平台特定章节。

为 Game Object 设定大世界坐标

Wwise 声音引擎现在支持在定位时使用双精度值来为 Game Object 设定大世界坐标。即便对于数十亿单位大小的世界,也可按预期设置声音的定位行为。为此,我们对处理 Game Object 位置的 API 进行了更新,以便使用两个新的类型 AkWorldTransformAkVector64 来提供附加数据。其中包括将 AkSoundPosition 和 AkListenerPosition 的 typedef 由 AkTransform 改为了 AkWorldTransform。

提供了由 AkTransformAkWorldTransform 和由 AkVectorAkVector64 的隐式转换函数,以确保在大部分现有代码中顺畅地兼容。不过,为了尽可能保证新类型的精度,并未提供由 AkWorldTransformAkTransform 和由 AkVector64AkVector 的隐式转换函数。所以,有些使用这些类型的代码可能会因不受支持的转换而出现编译错误或警告。对此,可能要进行相应的调整。比如,使用显式转换函数 AK::ConvertAkVector64ToAkVectorAK::ConvertAkWorldTransformToAkTransform

Crankcase REV 2 Runtime 更新

将 Crankcase REV 2 插件更新到了 v2.68 runtime 版本。鉴于 ADPCM Decoder 中所作改进,输出信号与之前的版本略有不同。

移除了 SoundSeed Impact

移除了 Wwise SoundSeed Impact 效果器插件。可考虑改用 Impacter 源插件。

移除了 AAC 编解码器

取消了 Wwise 对 AAC 编解码器的支持。对于在 Conversion Settings 中使用 AAC 格式的现有 Wwise 工程,将自动改为使用 Vorbis 格式。对于旧的媒体素材,必须重新转码,兼容的软件编解码器才能发挥作用。

AkArray 移动策略

TMovePolicy::IsTrivial() 为 true 时,AkArray::InsertAkArray::Erase 现在使用 memmove。也就是说,两个函数现在都假定普通移动策略意味着条目可以简单地进行重新定位。AkArray::GrowArray 已经采用这种假定。

对插件 API 的改进

AK::Wwise::Plugin::DataWriter::WriteString 函数不再在字符串末尾追加 4 个字节。

响度改进

对音频处理算法所作的以下改进会导致产生电平差异并可能对现有工程的混音造成影响。

Meter、Compressor 和 Expander

对多声道配置(包括 Ambisonics 和 Audio Objects)下的 Peak 和 RMS 计算实施了改进:对于给定的源信号,各种声道配置的结果现在更加一致了,与 Loudness Meter 的计算结果更为接近。

"Balance-Fade" Speaker Panning

"Balance-Fade" Speaker Panning 的响度现在与 Direct Assignment 保持一致。也就是说,对于具有不止一个声道的声音,音量比之前更高了。这样可在 Meter、Compressor 和 Expander 中设置 Speaker Panning 时修正 Audio Object 的估算响度。

AK Convolution

改进了对 AK Convolution 效果器插件的输入信号实施下混时执行的增益调节:在输入采用具有高度声道的标准配置(如 7.1.4)时,下混信号现在的音量更高了,与其他声道配置的结果更为一致。


此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅