社区问答

欢迎来到 Audiokinetic 社区问答论坛。在此,Wwise 和 Strata 用户可互帮互助。如需我们团队直接提供协助,请前往技术支持申请单页面。若要报告问题,请在 Audiokinetic Launcher 中选择“报告错误”选项(注意,问答论坛并不会接收错误报告)。我们内部设有专门的错误报告系统,会有专人查看报告并设法解决问题。

要想尽快得到满意的解答,请在提问时注意以下几点:

  • 描述尽量具体:比如,想达到什么样的目的,或者具体哪里有问题。
  • 包含关键细节:比如,Wwise 和游戏引擎版本以及所用操作系统等等。
  • 阐明所做努力:阐明自己为了排除故障都采取了哪些措施。
  • 聚焦问题本身:聚焦于问题本身的相关技术细节,以便别人可以快速找到解决方案。

+1 投票

I'm trying to integrate WWise into a Unity project here but am running into extreme difficulty sharing my project with other folks. I've got everything set up ok on my machine, but when other folks download my revisions from source control, they get errors on the audio.

I've set up the project to generate sound banks directly to the Streaming Assets/ Audio/ Windows folder (the only platform we're supporting). The sound banks appear here just fine. However, the Wwise project itself sits on DropBox, so everyone has a different path to that.  It seems that Wwise in Unity is dependent on having access to the original project file.

(If we were to include the Wwise project as part of the overall source control package, it would still end up in different locations; I believe the path is somehow hard coded in the integration.)

If I edit AllBasePathGetter.cs to specifically point to a path, everything works, but that's not a sustainable solution.

Some questions:

  1. In order to run the project in the Unity Editor, exactly what files do I need and where should they be?
  2. In order to compile/ build a project from Unity, does this need change (I believe they must be in Streaming Assets according to some docs I found)
  3. How do I break the dependency on needing access to the ww project file?
  4. Is there additional information we can include in the Sound Bank to make it more independent/ self sufficient?

Thanks so much in advance.

 

Jeff

分类:General Discussion | 用户: Jeff M. (110 分)

2 个回答

0 投票

It looks like your collaborators don't locally have the SoundBanks on their machines. Did you make sure to add them to your Source Control?

To answer your specific questions:

  1. If you only want your collaborators to hear sound, and do not need them to do actual sound design, the only files that they need are the SoundBanks
  2. The SoundBanks should be in the Streaming Assets/Audio/Generated SoundBanks/Windows folder (for Windows builds)
  3. The integration will make sound just fine without the Wwise project. The Wwise picker will be disabled, though.
  4. Sound Banks are generated by Wwise, and cannot be modified afterwards. The Unity integration only requires for them to be inside of Streaming Assets.
If you need your collaborators to do some actual sound design, they will need to access the Wwise project. We suggest that you add the Wwise project (without the .cache and .backup folders) to your source control. The ideal place for it to be is inside your Unity project folder, next to Assets (but NOT in Assets).
用户: Benoit S. (Audiokinetic) (16.0k 分)
This did not work. I put all sound banks in Assets\StreamingAssets\Audio\Generated SoundBanks\Windows as you suggested. (I corrected the typo in "Streaming Assets" to "StreamingAssets" without the space.)  If I run this with the .wproj file in place, it works. If I rename the .wproj file, it does not.

The .wproj file (and the entire Wwise project) is sitting outside of Unity.

I just checked the logs and it seems that it doesn't want a space in "Generated SoundBanks" either:

WwiseUnity: Looking for SoundBanks in D:\GitRepos\TheTerrace\Terrace Prototype A\Assets\StreamingAssets\Audio\GeneratedSoundBanks\Windows\

I made that change (so files are now in the directory in the line above) and I still get a file not found error in the logs, although with no additional information:

WwiseUnity: Bank Main failed to load (AK_FileNotFound)
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogWarning(Object)
AkBankHandle:LoadBank() (at Assets\Wwise\Deployment\Components\AkBankManager.cs:116)
AkBankManager:LoadBank(String, Boolean, Boolean) (at Assets\Wwise\Deployment\Components\AkBankManager.cs:213)
AkBank:HandleEvent(GameObject) (at Assets\Wwise\Deployment\Components\AkBank.cs:62)
AkUnityEventHandler:Start() (at Assets\Wwise\Deployment\Components\AkUnityEventHandler.cs:48)
AkBank:Start() (at Assets\Wwise\Deployment\Components\AkBank.cs:49)
 
(Filename: Assets/Wwise/Deployment/Components/AkBankManager.cs Line: 116)

Any other thoughts on what needs to be done?

Thanks
To be clear: My setup works fine if the .wproj file is in place; I only get this error if I move or rename it.
Looking at the log you pasted, the integration is looking for the SoundBanks in:
 D:\GitRepos\TheTerrace\Terrace Prototype A\Assets\StreamingAssets\Audio\GeneratedSoundBanks\Windows\

(there are no spaces in StreamingAssets and GeneratedSoundBanks). Can you ensure they really are located in that path?
Hey Jeff,
We ran into this same issue.  Might not be helpful, but this is an Editor only problem we discovered, and if you would like to solve it change line 94 of AkBasePathGetter from
        if (System.IO.Path.GetPathRoot(SoundBankDest) == "")
to
        if (SoundBankDest != "" && System.IO.Path.GetPathRoot(SoundBankDest) == "")

Issue stems from SoundBankDest being empty string, and System.IO.Path.GetPathRoot throwing an exception on this.  Hope this works for you as well!
0 投票

Hey Jeff, 

Hope you got your problem solved. If anyone else has a similar problem, maybe this One Minute Wwise video will be helpful - https://youtu.be/hyle0TKvYTE

用户: Mads Maretty S. (Audiokinetic) (40.2k 分)
...