在 Audiokinetic 社区问答论坛上,用户可对 Wwise 和 Strata 相关问题进行提问和解答。如需从 Audiokinetic 技术支持团队获取答复,请务必使用技术支持申请单页面。

+1 投票
UE4Editor-Cmd: [2017.04.20-05.54.16:793][  0]LogWindows:Error: === Critical error: ===
UE4Editor-Cmd: [2017.04.20-05.54.16:793][  0]LogWindows:Error:
UE4Editor-Cmd: [2017.04.20-05.54.16:793][  0]LogWindows:Error: Assertion failed: !IsUnreachable() [File:E:\dms\github\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp] [Line: 1144]
UE4Editor-Cmd: [2017.04.20-05.54.16:794][  0]LogWindows:Error: AkComponent /Game/Maps/Demo_Levels/Demo_AI.Demo_AI:PersistentLevel.Ch_KnightArmour-S5_3491.Ak_Foot_Stomp  Function: '/Script/AkAudio.AkComponent:UpdateGameObjectPosition'
UE4Editor-Cmd: [2017.04.20-05.54.16:794][  0]LogWindows:Error:
UE4Editor-Cmd: [2017.04.20-05.54.16:794][  0]LogWindows:Error:
UE4Editor-Cmd: [2017.04.20-05.54.16:794][  0]LogWindows:Error:
UE4Editor-Cmd: [2017.04.20-05.54.16:795][  0]LogWindows:Error: end: stack for UAT
分类:General Discussion | 用户: Jeremy D. (170 分)
Exact same problem here. Deleting and replacing the asset on which I attached my AkComponent fixed the problem, but now the problem showed on another asset.

2 个回答

0 投票
The function is marked up with UFUNCTION() and tagged as BlueprintNativeEvent, which is allowing it to be triggered while cooking, but it is not in a valid state to have this function called. We just removed the UFUNCTION() tag on this method, we don't want our designers overidding the default behavior.
用户: Brock H. (510 分)
Cool... I'm still not sure how to correct for this. It seems like the only thing I can do is remove the AK component and re-add it but that will break any associations with it.

What's the best way to refactor my code so that it doesn't cause unnecessary breakage.
I got the same problem. It happen randomly on Aactors owning an Akcomponent in my maps. Sometime deleting them and replacing them corrects the problem, but this is very time wasting...
+1 投票

A bit more detailed answer for others that could encounter this issue :

Go to AkComponent.h

Comment out the line    

//UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Audiokinetic|AkComponent")

above 

void UpdateGameObjectPosition();

Go to AkComponent.cpp and rename 

void UAkComponent::UpdateGameObjectPosition_Implementation() 

to

void UAkComponent::UpdateGameObjectPosition()

Compile your project, you should not encounter the problem again.

Note : this will prevent you from extending this function in blueprints as a consequence, but at least it allowed us to build again.

 

 

用户: Julien D. (250 分)
修改于 用户:Julien D.
Alternatively, could one use a preprocessor block to keep the cooker out of its inner workings? Best of both worlds maybe.
The devs should address this one tbh...
...