目录

故障排除

Wwise Components/Types show stale or inconsistent data

If you notice Wwise Components, such as AkAmbient or AkState, lose references to their Wwise object, you may have added AkWwiseProjectData.asset to version control. If AkWwiseProjectData.asset is locked, such as often is the case when under version control, new files will be created of the form AkWwiseProjectData##.asset. If this occurs, delete all of them, then click Auto populate in the Wwise Picker to regenerate the file.

Note.gif
备注:Do not keep AkWwiseProjectData.asset under version control! This is a temporary cache file for the Wwise project data, so as to avoid having the Wwise Picker continuously parse the Work Unit files.

安装后的编译错误

如果刚从以前的 Wwise 版本升级到了新版本,那么您可能会有重复的脚本。在版本 2013.2.8 中,UNITY_PROJECT_ROOT\Assets\Wwise\Deployment\Examples 文件夹重命名为 Components。如果您没有对 Examples 文件夹中的脚本作出任何更改,那么只需要删除它。

另外,如果您是在多个平台上开发,请确保已经为每个开发平台安装了 UnityPackage。有一些脚本是特定于平台的。

在 Unity 控制台中的 DllNotFoundException

如果您在 Windows 的 Unity 控制台中看到一个关于 AkSoundEngine 的 DllNotFoundException 消息,这可能是由两个缺失的依赖项引起的:

  • 确保您的机器上安装了DirectX。
  • 如果您正在使用 Wwise-Unity Integration 的 Debug config,那么还需要安装Microsoft Visual Studio 2010 Debug Redistributables。通常情况下,默认会安装 Profile 配置,所以这应该不是问题,除非您时手动安装的 Debug config。

没有任何声音

如果您在游戏中没有听到任何声音,请检查以下内容:

  • 如果在单机上运行游戏时没有声音,请试着在 Windows 或 Mac 的 Editor 中运行您的游戏。先在编辑器中解决问题会比较容易。
  • 确保您的 SoundBank 已经正确地生成了,并且 Unity 能够找到它们。如果您在编辑器中运行该游戏,那么集成将从 Wwise 工程中的 Generated SoundBanks 路径中寻找 SoundBank。如果没有找到,它接下来将会查看 StreamingAssets 文件夹。注意,如果您选择在 Wwise 中不沿用工程 SoundBank 路径,那么集成将无法自动加载它们。想了解关于该问题的更多信息,请参阅 为目标平台构建您的 Unity 游戏
  • 确保在发出任何其它音频调用之前,Sound Engine 已经正确地初始化了,并在所有引擎调用完成后,Sound Engine 终止了。您需要确保 Script Execution Order(menu Edit > Project Settings > Script Execution Order)已经为 AkInitializerAkTerminator 正确地设置好了。
  • Unity 控制台报告了错误吗?修复它们......
  • 如果在运行游戏时连接到 Wwise Profiler(在 Wwise 中是 F7),那么在 Capture Log 中有错误报告吗?
  • 在 Wwise Profiler 的 SoundBank 选项卡中,您可以看到加载的库吗?如果看不到选项卡,打开 Profiling Settings(Alt-G)并启用 SoundBank。如果它们没有装载,应该检查您何时以及如何装载它们。查找 AkBank 组件和 AkSoundEngine.LoadBank 调用。
  • 在 Wwise Profiler 中,在 Capture Log 中,您可以看到预期要发布的 Event 吗?如果没有,您应该检查 SoundBank 是否包含这些 Event,以及它们是否正确加载了(请参阅前面的要点)。如果库已经被加载了,那么应该检查您游戏脚本中的 AkEvent,AkAmbient 组件和 AkSoundEngine.PostEvent 调用。

无法连接 Wwise Profiler

如果您的游戏运行在 Windows 上,请检查以下内容:

  • 验证 Unity 中,background 设置中的 Run 已经启用(menu File > Build Settings > Player Settings)。
  • 验证您机器上的防火墙允许端口 24024,以及 Wwise 设置为一个特例。如果防火墙被禁用了,那么就不是这个问题了。
  • 您正在运行 Wwise-Unity Plug-in 的哪个配置?只有 DebugProfile 启用了通信代码。
  • 打开 Task Manager,杀死任何名为 "adb.exe" 的进程。这是 Android 驱动程序,它锁定 TCP 端口。即使您开发的不是 Android 系统或连接了任何 Android 设备,这都是一定的。(这是 Google 的问题。)

如果您的游戏在另一台计算机或控制台上运行,请检查以下内容:

  • 您的 Wwise 电脑和游戏机在同一子网上吗?如果没有,游戏将不会出现在 Remote Connection 对话框中。手动输入 IP,和 Connect To IP 按钮。
  • 您的网络允许端口 24024 上的 traffic 或动态端口分配吗?
  • 在 Xbox One 上,需要更改应用程序的 appmanifest.xml 文件。在 Xbox One 播放器的设置中,在 Configured Sockets 部分,确保定义了三个 Wwise 网络 socket。如果没有定义,请选择 Assets > Wwise > Xbox One > Enable Network Sockets

安装过程中的错误 —— 在 Unity 控制台中访问路径被拒绝

如果您在 Unity 控制台中看到 Wwise: Error during installation: Access to the path is denied 消息,请检查以下内容:

  • 您是否立即尝试过从 Assets > Wwise > Install Plugins 菜单安装一个新的插件配置(Debug,Profile,Release): Wwise Setup 窗口安装新的 Unity Integration?
    • 在 Unity Editor 中预览一个 Scene?
  • 立即重新打开您的 Unity 工程并安装新的 Plug-in 配置(Debug,Profile,Release)。 unity_wwiseids_error 在用于 Mac 的 Wwise 上,在生成 SoundBank 过程中出现错误 —— 不能写入 Wwise_IDs.h 如果在使用用于 Mac 的 Wwise,在生成 SoundBank 过程中您看到一个错误,即不能写入 Wwise_IDs.h,那么检查如下内容:
  • 打开 Wwise 工程。
  • 在工程设置中,前往 SoundBanks 选项卡。
  • Header file path 设置到 SoundBank 生成的地方。

错误:插件没有注册

您的 Wwise 工程使用了一个需要授权的插件,而它还没有包含在您的 AkSoundEngine 动态库中。请参阅 添加插件

在 Mac 的 Unity Console 中,"多个插件的名称相同"

使用用于 Mac 的 Unity,在导入 Integration 时,Unity Console 可能会显示很多如下的错误:

Multiple plug-ins with the same name 'aksoundengine' (found at 'Assets/Wwise/Deployment/Plugins/Mac/Release/AkSoundEngine.bundle' and 'Assets/Wwise/Deployment/Plugins/Mac/Debug/AkSoundEngine.bundle'). 这意味着一个或多个插件将设置为与 Editor 兼容。Editor 一次只能使用一个插件。

这些错误可以被忽略,这很安全,因为安装过程将正确地激活正确的插件。

使用 Xbox One 插件时,"初始化声音引擎失败"

在 Xbox One 上,Unity 内置的音频系统初始化了音频所需的硬件,因此 Wwise 的初始化失败了。要解决这个问题的话,可以禁用内置音频,方法是前往 Assets > Project Settings > Audio,选择 "Disable audio" 复选框。

注意,由于一个已知的 Unity 5.0.2 的问题,即使启用了 "Disable audio" 复选框,音频硬件也会被初始化。一个解决方法是,在 AkInitializer.cs 中,将以下代码:

    AkPlatformInitSettings platformSettings = new AkPlatformInitSettings();
    AkSoundEngine.GetDefaultPlatformInitSettings(platformSettings);
    platformSettings.uLEngineDefaultPoolSize = (uint)lowerPoolSize * 1024;
    platformSettings.fLEngineDefaultPoolRatioThreshold = memoryCutoffThreshold;

更改为:

    AkPlatformInitSettings platformSettings = new AkPlatformInitSettings();
    AkSoundEngine.GetDefaultPlatformInitSettings(platformSettings);
    platformSettings.uLEngineDefaultPoolSize = (uint)lowerPoolSize * 1024;
    platformSettings.fLEngineDefaultPoolRatioThreshold = memoryCutoffThreshold;
#if UNITY_XBOXONE && !UNITY_EDITOR
        platformSettings.uMaxXMAVoices = 0;
#endif

注意,这样更改之后,将禁用 XMA 插件。

Generated at Tue Jan 29 11:50:16 2019 for Wwise Unity Integration by  doxygen 1.6.3