目录

API 变化和限制

以下原生 Wwise SDK 的一些特性和函数在 Unity 集成中是不支持的,或者它们的行为在集成中已经修改过了(先列出的为最近的变化):

  • UnloadBank() 不再使用单一参数重载版本。必须用第二个参数提供一个内存位置的指针。
  • Windows 版本的 GetGameObjectFromPlayingID() 对 Windows 32 位和 64 位(截尾)返回 32 位的 GameObject ID。
  • PostEvent() 和 GameObject 相关的 API 现在接受 null 作为 GameObject 这个输入变量来影响全局范围。
  • PostEvent() 的所有回调是序列化的,并出现在下一个游戏帧的开始,而不是从音频线程中调用。因此并不需要同步机制。
  • AK::Monitoring::SetLocalOutput()AkCallbackManager.SetMonitoringCallback() 所取代。
  • AK::SoundEngine::SetPosition()AkSoundEngine.SetObjectPosition() 所取代。
  • 在从磁盘加载关卡数据时,不能同时处理声音的流播放。
  • 一些 AK::SoundEngine::DynamicSequence API 函数在它们的 Unity API 绑定中重命名了,以保持清晰明确。这是一种补救措施,补偿由 SWIG 引起的名字空间扁平化这个副作用。比如,在生成的 API 中,AK::SoundEngine::DynamicSequence::Open() 会变为 AkSoundEngine.Open()。因此,我们将它在 API 绑定中重命名为 AkSoundEngine.DynamicSequenceOpen()。
  • C++ 重载的操作符被重命名为 Unity 脚本语言中的函数;比如,AkArray::operator[] 变为 AkPlaylistArray.ItemAtIndex(uint uiIndex) 。这是根据 SWIG 处理 C++ 重载操作符方面的设计来实现的。
  • 不支持的 API 和组件:
    • iOS 音频输入回调 API
    • AkSpeakerVolumeMatrixCallbackInfo
    • AkSpeakerVolumeMatrixBusCallbackInfo
    • AkBusCallbackFunc
    • AK::SoundEngine::RegisterBusVolumeCallback
    • AK::SoundEngine::RegisterCodec
    • AK::SoundEngine::RegisterGlobalCallback
    • AK::SoundEngine::RegisterPlugin
    • AK::SoundEngine::Query::AkGameObjectsList
    • AK::SoundEngine::Query::GetActiveGameObjects()
    • AK::SoundEngine::Query::GameObjDst
    • AK::SoundEngine::Query::AkRadiusList
    • AK::SoundEngine::Query::GetMaxRadius(AkRadiusList& io_RadiusList)
    • 所有接受回调或 Event 名称的 AK::SoundEngine::DynamicDialogue::ResolveDialogueEvent 的变体。
参见:
Generated at Wed Jun 12 13:57:31 2019 for Wwise Unity Integration by  doxygen 1.6.3