コミュニティQ&A

Audiokineticのコミュニティ主導のQ&Aフォーラムへようこそ。ここはWwiseとStrataのユーザのみなさまがお互いに協力し合う場です。弊社チームによる直接のサポートをご希望の場合はサポートチケットページをご利用ください。バグを報告するには、Audiokinetic LauncherのBug Reportオプションをご利用ください。(Q&AフォーラムではBug Reportを受け付けておりませんのでご注意ください。専用のBug Reportシステムをご利用いただくことで、バグの報告が適切な担当部門に届き、修正される可能性が高まります。)

最適な回答を迅速に得られるよう、ご質問を投稿される際は以下のヒントをご参考ください。

  • 具体的に示す:何を達成したいのか、またはどんな問題に直面しているのかを具体的に示してください。
  • 重要な詳細情報を含める:Wwiseとゲームエンジンのバージョンやご利用のOSなど詳細情報を記載してください。
  • 試したことを説明する:すでに試してみたトラブルシューティングの手順を教えてください。
  • 事実に焦点を当てる:問題の技術的な事実を記載してください。問題に焦点を当てることで、ほかのユーザのみなさまが解決策を迅速に見つけやすくなります。

0 支持
Using the official Wwise Integration package for Unity, I'm getting errors when starting a scene stating "Plugin not registered". I'm unsure what the problem is. With Wwise 2013.8.2 this used to work.
David S. (150 ポイント) General Discussion

回答 1

0 支持
Hi David,

The question has been asked recently, here is my answer :

https://www.audiokinetic.com/qa/790/all-plugins-broken-with-stable-2014-1-unity-integration?show=790#q790

 

cheers,
Florent D. (470 ポイント)
Hi Florent,

unfortunately, I'm still unsure about what to do exactly. Maybe you can help me with specific information?
Reading the manual ("Wwise SDK 2014.1 » Sound Engine Integration Walkthrough » Integrate Wwise Elements into Your Game » Integrating Plug-Ins"), it seem's I have to register a plugin by using the following block of code:
// Register RoomVerb FX plugin
AK::SoundEngine::RegisterPlugin(
    AkPluginTypeEffect,
    AKCOMPANYID_AUDIOKINETIC,
    AKEFFECTID_ROOMVERB,
    CreateRoomVerbFX,
    CreateRoomVerbFXParams
    );
The manual however does not mention, at which file I have to register the plugin. Can you tell me the name and place of the file?

Next problem: the manual says, I'd have to unzip the source code of my target platform and should check the "Install the integration in a Unity project" section of the manual for details. But this section clearly doesn't mention any source code but the .unitypackage instead. So I'm unsure if there's any relevant information missing ...

Additionally, I'm unable to find the name I have to use to register the AstoundSound plugin. The section "Build Configuration" of the manual doesn't list it. Can you tell me how the code block for registering the plugin AstoundSound RTI should look like?
Which plug-in causes you issues ? Which platform do you need ?

I wrote a tutorial on "how-to register plugins" but it's only for windows platform at that moment, and it's in french. If you need to register your plugs for windows, I could share it to you, but I ll need to translate it if you can't read french :)

I wanted to translate it in english and complete it with some more specific issues before posting it in public.
I'm on Windows 7x64. The plugin I want to register is the AstoundSound RTI plugin. It still doesn't work, so any help is highly appreciated! I'm horrible at french but google could help ;)

My current status: I've found the file where I have to register the plugin: in (Wwise Source SDK) AkSoundEngine\Common\AkSoundEngineStubs.cpp
There around line 283 I uncommented the line for the AstoundSound Plugins. Then, I installed MS Visual Studio Professional 2010 (it won't work with VS Express), the DirectX SDK (from June 2010), PowerShell and Python3. The DirectX SDK showed an Error (S1023) at the end of the installation, but at that point the build process didn't quit with "dxguid.lib not found". I had to fix yet another error: I copied the file cvtres.exe from "c:\windows\Microsoft.Net\Framework\v4.0.30319\ cvtres.exe" (42Kb) to "program files(x86)\Microsoft Visual Studio 10.0\VC\Bin\cvtres.exe". After that, the build process works with the "AK::SoundEngine::RegisterConvolutionReverbPlugin();" and the "AK::SoundEngine::RegisterAllBuiltInPlugins();" plugins, only.

If I activate one of the following plugins:
AK::SoundEngine::RegisterSoundSeedPlugins();
AK::SoundEngine::RegisterMcDSPPlugins();
AK::SoundEngine::RegisterAstoundSoundPlugins();
AK::SoundEngine::RegisteriZotopePlugins();
AK::SoundEngine::RegisterCrankcaseAudioPlugins();

the build process will quit with the following error:
1>AkSoundEngineStubs.obj : error LNK2019: unresolved external symbol ""class AK::IAkPluginParam * __cdecl CreateAstoundSoundRTIMixerAttachmentParams(class AK::IAkPluginMemAlloc *)" (?CreateAstoundSoundRTIMixerAttachmentParams@@YAPAVIAkPluginParam@AK@@PAVIAkPluginMemAlloc@2@@Z)" in function ""enum AKRESULT __cdecl AK::SoundEngine::RegisterAstoundSoundPlugins(void)" (?RegisterAstoundSoundPlugins@SoundEngine@AK@@YA?AW4AKRESULT@@XZ)".

1>AkSoundEngineStubs.obj : error LNK2019: unresolved external symbol ""class AK::IAkPluginParam * __cdecl CreateAstoundSoundRTIMixerParams(class AK::IAkPluginMemAlloc *)" (?CreateAstoundSoundRTIMixerParams@@YAPEAVIAkPluginParam@AK@@PEAVIAkPluginMemAlloc@2@@Z)" in Funktion ""enum AKRESULT __cdecl AK::SoundEngine::RegisterAstoundSoundPlugins(void)" (?RegisterAstoundSoundPlugins@SoundEngine@AK@@YA?AW4AKRESULT@@XZ)".

1>AkSoundEngineStubs.obj : error LNK2019: unresolved external symbol ""class AK::IAkPlugin * __cdecl CreateAstoundSoundRTIMixer(class AK::IAkPluginMemAlloc *)" (?CreateAstoundSoundRTIMixer@@YAPEAVIAkPlugin@AK@@PEAVIAkPluginMemAlloc@2@@Z)" in Funktion ""enum AKRESULT __cdecl AK::SoundEngine::RegisterAstoundSoundPlugins(void)" (?RegisterAstoundSoundPlugins@SoundEngine@AK@@YA?AW4AKRESULT@@XZ)".

1>AkSoundEngineStubs.obj : error LNK2019: unresolved external symbol ""class AK::IAkPluginParam * __cdecl CreateAstoundSoundFolddownFXParams(class AK::IAkPluginMemAlloc *)" (?CreateAstoundSoundFolddownFXParams@@YAPEAVIAkPluginParam@AK@@PEAVIAkPluginMemAlloc@2@@Z)" in Funktion ""enum AKRESULT __cdecl AK::SoundEngine::RegisterAstoundSoundPlugins(void)" (?RegisterAstoundSoundPlugins@SoundEngine@AK@@YA?AW4AKRESULT@@XZ)".

1>AkSoundEngineStubs.obj : error LNK2019: unresolved external symbol ""class AK::IAkPlugin * __cdecl CreateAstoundSoundFolddownFX(class AK::IAkPluginMemAlloc *)" (?CreateAstoundSoundFolddownFX@@YAPEAVIAkPlugin@AK@@PEAVIAkPluginMemAlloc@2@@Z)" in Funktion ""enum AKRESULT __cdecl AK::SoundEngine::RegisterAstoundSoundPlugins(void)" (?RegisterAstoundSoundPlugins@SoundEngine@AK@@YA?AW4AKRESULT@@XZ)".

1>AkSoundEngineStubs.obj : error LNK2019: unresolved external symbol ""class AK::IAkPluginParam * __cdecl CreateAstoundSoundExpanderFXParams(class AK::IAkPluginMemAlloc *)" (?CreateAstoundSoundExpanderFXParams@@YAPEAVIAkPluginParam@AK@@PEAVIAkPluginMemAlloc@2@@Z)" in Funktion ""enum AKRESULT __cdecl AK::SoundEngine::RegisterAstoundSoundPlugins(void)" (?RegisterAstoundSoundPlugins@SoundEngine@AK@@YA?AW4AKRESULT@@XZ)".

1>AkSoundEngineStubs.obj : error LNK2019: unresolved external symbol ""class AK::IAkPlugin * __cdecl CreateAstoundSoundExpanderFX(class AK::IAkPluginMemAlloc *)" (?CreateAstoundSoundExpanderFX@@YAPEAVIAkPlugin@AK@@PEAVIAkPluginMemAlloc@2@@Z)" in Funktion ""enum AKRESULT __cdecl AK::SoundEngine::RegisterAstoundSoundPlugins(void)" (?RegisterAstoundSoundPlugins@SoundEngine@AK@@YA?AW4AKRESULT@@XZ)".

1>AkSoundEngineStubs.obj : error LNK2019: unresolved external symbol ""class AK::IAkPlugin * __cdecl CreateAstoundSoundRTIFX(class AK::IAkPluginMemAlloc *)" (?CreateAstoundSoundRTIFX@@YAPEAVIAkPlugin@AK@@PEAVIAkPluginMemAlloc@2@@Z)" in Funktion ""enum AKRESULT __cdecl AK::SoundEngine::RegisterAstoundSoundPlugins(void)" (?RegisterAstoundSoundPlugins@SoundEngine@AK@@YA?AW4AKRESULT@@XZ)".

1>AkSoundEngineStubs.obj : error LNK2019: unresolved external symbol ""class AK::IAkPluginParam * __cdecl CreateAstoundSoundRTIFXParams(class AK::IAkPluginMemAlloc *)" (?CreateAstoundSoundRTIFXParams@@YAPEAVIAkPluginParam@AK@@PEAVIAkPluginMemAlloc@2@@Z)" in Funktion ""enum AKRESULT __cdecl AK::SoundEngine::RegisterAstoundSoundPlugins(void)" (?RegisterAstoundSoundPlugins@SoundEngine@AK@@YA?AW4AKRESULT@@XZ)".

I translated the error message from my native language (german) to english, so mabye it's not the exact error message.
Here is a summary of the tutorial I wrote after succeding to build solutions :

First, download visual studio 2012.

Open AkSoundEngineWindows_vc110.sln in the sources your downloaded

Right click on AkSoundEngine_vc110 and properties
Platform Toolste ==> Visual2012 v110

Linker ==> Additionnal Library Directories ==> Edit and your should have : $(WWISESDK)\$(Platform)_vc110\$(Configuration)\lib

In your environnment variable (Start/right clik on your computer/properties/advanced/environnment variable, add "WWISESDK" to system variables and i advise you to rename your wwise folder without white spaces.

Add python path to your PATH variable (like C:\Python34\)

Back to Visual studio ==> Linker ==> Input ==> Additional Depedencies ==> Edit and add all Astound .lib to the list.

Uncomment the Astound register plugin line in Stubbs.cpp as you say before.

Try building your solution (BUILD ==> Build Solution)
Thanks a lot for your help. It's compiling after all. I still have major problems, though. It took me several days to analyze the problem.

What I did:
I searched in the SDK folder of Wwise for "Astoundsound" and found 4 *.lib files to add there: AstoundsoundExpanderFX.lib;AstoundsoundFolddownFX.lib;AstoundsoundRTIFX.lib;AstoundsoundShared.lib
I added these dependencies for all 6 profiles (debug_x86, profiler_x86, release_x86 and x64s ...). I started the build process with Visual Studio 2010 and there was no error.
I copied the entire deployment folder into Unityproject/Wwise/ and replaced all files in there. After that, I started Unity and used the "Assets->Wwise->Install Plugins ..." function to copy the debug versions to /Assets/Plugins (the debug versions are also used by standard in the integration.unitypackage). On the machine which built these plugins, the unity project runs fine.

On another machine it does not work, however! Using the same files, Unity will drop errors in the console during play-mode:
DllNotFoundException: /Path/To/Unityproject/Assets/Plugins/x86/AkSoundEngine.dll
AkMemSettings..ctor ()
AkInitializer.Awake () (at Assets/Wwise/Deployment/Components/AkInitializer.cs:81)

DllNotFoundException: /Path/To/Unityproject/Assets/Plugins/x86/AkSoundEngine.dll
AkSoundEngine.LoadBank (System.String in_pszString, Int32 in_memPoolId, System.UInt32& out_bankID) (at Assets/Wwise/Deployment/API/Generated/Windows/AkSoundEngine_Windows.cs:1536)
AkBankHandle.LoadBank () (at Assets/Wwise/Deployment/Components/AkBankManager.cs:40)
AkBankManager.LoadBank (System.String name) (at Assets/Wwise/Deployment/Components/AkBankManager.cs:108)
AkBank.HandleEvent (UnityEngine.GameObject in_gameObject) (at Assets/Wwise/Deployment/Components/AkBank.cs:55)
AkUnityEventHandler.Awake () (at Assets/Wwise/Deployment/Components/AkUnityEventHandler.cs:39)
AkBank.Awake () (at Assets/Wwise/Deployment/Components/AkBank.cs:30)

DllNotFoundException: /Path/To/Unityproject/Assets/Plugins/x86/AkSoundEngine.dll
AkSoundEngine.RegisterGameObj (UnityEngine.GameObject in_gameObjectID, System.String in_pszObjName) (at Assets/Wwise/Deployment/API/Generated/Windows/AkSoundEngine_Windows.cs:1405)
AkGameObj.Awake () (at Assets/Wwise/Deployment/Components/AkGameObj.cs:58)

DllNotFoundException: /Path/To/Unityproject/Assets/Plugins/x86/AkSoundEngine.dll
AkSoundEngine.RegisterGameObj (UnityEngine.GameObject in_gameObjectID, System.String in_pszObjName) (at Assets/Wwise/Deployment/API/Generated/Windows/AkSoundEngine_Windows.cs:1405)
AkGameObj.Awake () (at Assets/Wwise/Deployment/Components/AkGameObj.cs:58)

DllNotFoundException: /Path/To/Unityproject/Assets/Plugins/x86/AkSoundEngine.dll
AkSoundEngine.RegisterGameObj (UnityEngine.GameObject in_gameObjectID, System.String in_pszObjName) (at Assets/Wwise/Deployment/API/Generated/Windows/AkSoundEngine_Windows.cs:1405)
SoundTriggersWwise.Awake () (at Assets/Sounds/Classes/SoundTriggersWwise.cs:15)

DllNotFoundException: /Path/To/Unityproject/Assets/Plugins/x86/AkSoundEngine.dll
AkSoundEngine.SetListenerPosition (Single FrontX, Single FrontY, Single FrontZ, Single TopX, Single TopY, Single TopZ, Single PosX, Single PosY, Single PosZ, UInt32 in_ulListenerIndex) (at Assets/Wwise/Deployment/API/Generated/Windows/AkSoundEngine_Windows.cs:3289)
AkAudioListener.Update () (at Assets/Wwise/Deployment/Components/AkAudioListener.cs:32)


Of course, there is no sound.


Using the profiler or release version, it works on another machine, too. What do I have to do to make the debug version compiled on machine a run on machine b?

Again, thank you for your help!
I mixed something up. During developement, your are supposed to use the profiler version. The debug version is intended to be used in conjunction the audiokinetic support and will run only on if with Visual Studio is installed. So everything is working, now. Thank you for your help!
...