Wwise SDK 2019.1.11
|
有了那么多 新功能概述 2018.1 “新特性”,您在迁移到 Wwise 2018.1 时注意几件事。
根据 Action 类型对 Event Action 的 Fade Curve 属性进行了拆分:与激活相关的 Action(如 Play、Resume 和 Set LPF)现在有了 Fade-in Curve 属性,与停用相关的 Action(如 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
将听者指派给发声体,并在发送 Event 时设置发声体。在评估发声体与听者的关联时,信号将从当前游戏对象跳转至对应听者。您可以在 Voices Graph 中查看详情。只有评估了发声体与听者的关联,才能针对发声体和听者应用定位功能(距离衰减和空间化)。
此项仍为默认设置。Speaker Panning 列表必须设为 Direct Assignment。Listener Relative Routing 选项不会对声像摆位产生影响。
Speaker Panning 列表必须设为 Balance - Fade。然后,可像之前一样通过单击同一对话框右侧的 Edit… 来编辑声像摆位。Listener Relative Routing 选项不会对声像摆位产生影响。
启用 Listener Relative Routing,将 Position 列表设为 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 列表设为 Listener + Automation,并将 3D Spatialization 设为 Position 或 Position + Orientation(原来的默认值)。确保将 Speaker Panning / 3D Spatialization Mix 设为 100。然后,可像之前一样通过单击同一对话框中的 b>Automation… 来编辑路径。若要达到之前禁用 Follow Listener Orientation 选项时一样的效果,请启用 Hold Listener Orientation。此外,还可像之前一样设置衰减。
之前,在将定位设为 3D 并将 Spatialization 设为 None 时,定位结果与启用 2D 声像器时相同(控制点位于中间)。现在,在将 Spatialization 设为 None 时,将根据所需定位直接采用所选 Speaker Panning 选项(Direct Assignment 或 Balance - Fade)。此外,经过本次调整后将允许把衰减应用于 2D 声像摆位后的声音。
Listener + Automation 模式相当于原来的 3D User-Defined 模式,因为两者都是相对于听者设置声音位置。现在还可将声音位置设在“发声体”游戏对象周围:将 Position 模式设为 Emitter + Automation。此时,将在“发声体”游戏对象周围应用路径衰减。其中,前部由游戏中游戏对象的朝向定义。同时,将自动化定位应用于距离衰减(若设置)和空间化(若设置)。
此外,还可使用 Speaker Panning / 3D Spatialization Mix 滑杆调配 Panning 和 Spatialization(之前称为 2D 和 3D)。其中,100 表示完全空间化。
备注: 在设为 100 以下的值时,必须同时计算两种类型的定位,因此消耗的运行时内存也稍微多一些。 |
移除了函数 IAkMixerInputContext::IsSpatializationEnabled
和 IAkMixerInputContext::IsPannerEnabled。现在应使用以下函数,它们与上述设置更为匹配:
GetSpeakerPanningType
HasListenerRelativeRouting
Get3DSpatializationMode
GetNum3DPositions()
和其他 3D 相关函数仅在 HasListenerRelativeRouting()
返回 true
时适用。程序员可根据其他设置将这些定位应用于衰减和空间化(具体可进行查询)。
以下是需要注意的一些详细信息:
AK::SoundEngine::SetScalingFactor
调整衰减。AK::IAkMixerInputContext::IsSpatializationEnabled
和 AK::IAkMixerInputContext::IsPannerEnabled,添加了函数
AK::IAkMixerInputContext::GetSpeakerPanningType、<tt>AK::IAkMixerInputContext::HasListenerRelativeRouting
和 AK::IAkMixerInputContext::Get3DSpatializationMode
。ak.wwise.core.audio.importTabDelimited 返回的错误对象中的 details
字段现在遵从 WAMP 规范。该字段由数组改成了对象。数组移到了对象中的 results
字段。
在添加标准软件 Opus 编解码器后,便将 Switch 专用 Opus 编解码器重命名为 OpusNX。相关文件也相应地有所改动:
在 Nintendo Switch 上应使用这些文件,以便运用该平台的硬件解码器。注意,Switch 上仍提供标准 Opus 编解码器,但需要在软件中进行解码。标准 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 值也将显示为百分比形式。这样方便设置由衍射控制的 Obstruction(取值范围刚好也是 0 ~ 100)。在迁移至 2018.1 时,现有工程将相应地自动调整曲线。