社区问答

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

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

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

0 投票

I'm having an issue where Wwise's post build step is failing to find a target that I think shouldn't exist when making my cooked Client and Server builds. WWise is being used as a project plugin btw.

My cook command is

call RunUAT ^
-ScriptsForProject=%BLAH%/Blah.uproject ^
BuildCookRun ^
-project=%BLAH%/Blah.uproject ^
-noP4 ^
-clientconfig=Development ^
-serverconfig=Development ^
-utf8output ^
-platform=Win64 ^
-client ^
-build ^
-cook ^
-map=BlahA+BlahB+MainMenu ^
-unversionedcookedcontent ^
-compressed ^
-stage ^
-package ^
-stagingdirectory=%STAGING_BUILD_DIR% ^
-compile ^
-SkipCookingEditorContent ^
-server ^
-serverplatform=Linux ^
-pak ^
-unversioned ^
-unattended

This generates

LogAkPluginActivator: Error: Could not read file: ../../../Blah/Binaries/Win64/Blah.target

I have BlahClient.target and BlahServer.target, but not 'Blah.target'. Is this a WWise bug?

 

分类:General Discussion | 用户: Erik L. (120 分)
This continue to be a problem in the UE4.25 integration. When building a cooked/packaged WindowsClient it looks for Game.target instead of GameClient.target.

2 个回答

0 投票

I had a similar problem with that log:
"LogAkPluginActivator: Display: AkPluginActivator parameters: Client -run=AkPluginActivator -platform=Win64 -configuration=Profile -targetconfig=Development
LogAkPluginActivator: Display: Plug-ins required for <Windows> platform are: AkRoomVerb
LogAkPluginActivator: Error: Could not read file: C:/build/Binaries/Win64/NewProject.target"

Problem was with PlatformArchitecture. Plugin thought that I was using PlatformArchitecture = "vc140", but I used Visual Studio 2019 / 2017
So I add hardcode to AkWindowsInitializationSettings.cpp use "vc150"
In FillInitializationStructure methode

void UAkWindowsInitializationSettings::FillInitializationStructure(FAkInitializationStructure& InitializationStructure) const
{
#if PLATFORM_64BITS
       #define AK_WINDOWS_ARCHITECTURE "x64_"
#else
       #define AK_WINDOWS_ARCHITECTURE "Win32_"
#endif
       constexpr auto PlatformArchitecture = AK_WINDOWS_ARCHITECTURE "vc150";

#undef AK_WINDOWS_ARCHITECTURE

       InitializationStructure.SetPluginDllPath(PlatformArchitecture);
       InitializationStructure.SetupLLMAllocFunctions();

       CommonSettings.FillInitializationStructure(InitializationStructure);
       CommunicationSettings.FillInitializationStructure(InitializationStructure);
       AdvancedSettings.FillInitializationStructure(InitializationStructure);

#if PLATFORM_WINDOWS
       InitializationStructure.PlatformInitSettings.uSampleRate = CommonSettings.SampleRate;
#endif
}

用户: Artem M. (160 分)
I appreciate the response but this does not address the problem I have.
This is still a problem in UE 4.25 and the latest WWise. I'm having to reapply my fix for it each update which is irritating. I'm hearing from other people they have similar problems with wwise. We'll likely ditch it in favor of the built in audio tools if this persists.
+1 投票

I solved this problem by adding some codes to AkPluginActivatorCommandlet.cpp

 

int32 UAkPluginActivatorCommandlet::Main(const FString& Params)

{

    // @todo: Determine whether files should be written here at all. It is possible to create these files right after successful bank generation.

 

#if !WITH_EDITOR

    return -1;

#else

    if (!FApp::HasProjectName())

    {

        UE_LOG(LogAkPluginActivator, Display, TEXT("Project name could not be determined."));

        return 0;

    }

 

    const FString TargetName = FApp::GetProjectName(); // Here:  Only use the project name ,not concern the target. 

    FString TargetName = FApp::GetProjectName();  

    if (Params.StartsWith(TEXT(" Server")))

    {

        TargetName.Append(TEXT("Server"));

    }

    else if (Params.StartsWith(TEXT(" Client")))

    {

        TargetName.Append(TEXT("Client"));

    }

    if (TargetName.IsEmpty() || TargetName.Compare("UE4Game") == 0 || TargetName.Compare("UE4Editor") == 0)

    {

        UE_LOG(LogAkPluginActivator, Display, TEXT("No files will be modified when building the UE4 Wwise engine plug-in."));

        return 0;

     }

用户: Terry W. (160 分)
...