UE4/5关于数字人MetaHuman打包项目后,打开游戏发生的关于Assertion failed: CastResult或者fatal error报错

目录

笔者的打包经历

该方法不一定成功,但总得试试。

解决方法:


笔者的打包经历

本来笔者因为各种各样的盗版原因,打算将本文放置在VIP的,但考虑到广大人士可能和笔者一样发生这种问题而无法解决,便决定还是开把伞。

该方法不一定成功,但总得试试

Assertion failed: CastResult或者fatal error的报错是在打包成功后,再次打开该项目之后,发现竟然无法打开,并且发生相关报错。

Assertion failed: CastResult报错是用开发配置进行打包后发生的报错。

fatal error报错是用发行配置进行打包后发生的报错。

数字人项目在做好之后,笔者在进行打包之后,发现竟然出现了打包后无法打开的情况,而后在百度,Google以及epic开发者论坛中寻找良久没有找到解决方案。

最后在排查中发现,问题竟然出现在数字人的后期动画蓝图中,因为作者的报错是:

Assertion failed: CastResult [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Public\UObject\Field.h] [Line: 961] 
CastFieldChecked failed with 0x000002257004f180


0x00007ff69fee0e86 ZhiBo.exe!FRigVMMemoryHandle::GetData_Internal() []
0x00007ff6a00d3f92 ZhiBo.exe!FRigUnit_GetTransform::RigVMExecute() []
0x00007ff6a9043062 ZhiBo.exe!URigVM::ExecuteInstructions() []
0x00007ff6a904276c ZhiBo.exe!URigVM::Execute() []
0x00007ff69ff62340 ZhiBo.exe!UControlRig::Execute_Internal() []
0x00007ff69ff60798 ZhiBo.exe!UControlRig::Execute() []
0x00007ff6a91c45df ZhiBo.exe!URigVMHost::Evaluate_AnyThread() []
0x00007ff69ff60e63 ZhiBo.exe!FAnimNode_ControlRigBase::ExecuteControlRig() []
0x00007ff69ff5e61f ZhiBo.exe!FAnimNode_ControlRigBase::Evaluate_AnyThread() []
0x00007ff69ff5e467 ZhiBo.exe!FAnimNode_ControlRig::Evaluate_AnyThread() []
0x00007ff6a753cc39 ZhiBo.exe!FPoseLink::Evaluate() []
0x00007ff6a753d000 ZhiBo.exe!FAnimInstanceProxy::EvaluateAnimationNode_WithRoot() []
0x00007ff6a753d3fd ZhiBo.exe!FAnimInstanceProxy::EvaluateAnimation_WithRoot() []
0x00007ff6a74e711d ZhiBo.exe!UAnimInstance::ParallelEvaluateAnimation() []
0x00007ff6a797de0e ZhiBo.exe!USkeletalMeshComponent::EvaluateAnimation() []
0x00007ff6a79a7ccb ZhiBo.exe!USkeletalMeshComponent::PerformAnimationProcessing() []
0x00007ff6a79a6f95 ZhiBo.exe!USkeletalMeshComponent::ParallelAnimationEvaluation() []
0x00007ff6a797aef6 ZhiBo.exe!USkeletalMeshComponent::DoParallelEvaluationTasks_OnGameThread() []
0x00007ff6a79b0b5f ZhiBo.exe!USkeletalMeshComponent::RefreshBoneTransforms() []
0x00007ff6a79a12ed ZhiBo.exe!USkeletalMeshComponent::InitAnim() []
0x00007ff6a79a5f6c ZhiBo.exe!USkeletalMeshComponent::OnRegister() []
0x00007ff6a780e21f ZhiBo.exe!UActorComponent::ExecuteRegisterEvents() []
0x00007ff6a783b24b ZhiBo.exe!UActorComponent::RegisterComponentWithWorld() []
0x00007ff6a73fe588 ZhiBo.exe!AActor::IncrementalRegisterComponents() []
0x00007ff6a7dbb012 ZhiBo.exe!ULevel::IncrementalUpdateComponents() []
0x00007ff6a8a36c65 ZhiBo.exe!UWorld::UpdateWorldComponents() []
0x00007ff6a8a0f5c4 ZhiBo.exe!UWorld::InitializeActorsForPlay() []
0x00007ff6a88ba84a ZhiBo.exe!UEngine::LoadMap() []
0x00007ff6a884107d ZhiBo.exe!UEngine::Browse() []
0x00007ff6a7be3da2 ZhiBo.exe!UGameInstance::StartGameInstance() []
0x00007ff6a7be3711 ZhiBo.exe!UGameEngine::Start() []
0x00007ff69fbb3c66 ZhiBo.exe!FEngineLoop::Init() []
0x00007ff69fbd3b96 ZhiBo.exe!GuardedMain() []
0x00007ff69fbd3d8a ZhiBo.exe!GuardedMainWrapper() []
0x00007ff69fbd6c96 ZhiBo.exe!LaunchWindowsStartup() []
0x00007ff69fbe99c4 ZhiBo.exe!WinMain() []
0x00007ff6a9e6d9ca ZhiBo.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
0x00007ffb584a7614 KERNEL32.DLL!UnknownFunction []
0x00007ffb59ea26f1 ntdll.dll!UnknownFunction []

从中,我们可以看出,这个错误可能涉及到控制骨骼的动画蓝图或者控制脚本。

FRigVMMemoryHandle::GetData_Internal(): 出错的函数名,表明断言失败发生在获取虚拟机内存数据的过程中。

FRigUnit_GetTransform::RigVMExecute(): 与断言失败相关联的脚本单元的执行函数。

URigVM::ExecuteInstructions(): 执行脚本指令的函数。

UControlRig::Execute_Internal(): 控制骨骼执行脚本的内部函数。

于是笔者将所有后期动画蓝图删除后打包发现,成功启动了,但毫无疑问,这并不是我们想要的打包方式,因为各种各样的原因,我们必然会有许多逻辑在后期动画蓝图中,所以笔者开始调查起数字人的后期动画蓝图。

但笔者的运气比较好,因为当时笔者的metahuman身体并不需要后期动画蓝图,所以第一个就删除了,所以笔者就看向了头部后期动画处理蓝图

发现里面就动画图表中调用了control rig!!!

解决方法:

之前笔者在写关于control rig的相关文章的时候,就有人问笔者关于打包后的问题,答案是:将所有的语音改为英文

相关文章:

UE4/5Control Rig绑定(向前解析)_ue5骨骼绑定_多方通行8的博客-CSDN博客

而现在,笔者直接使用这个方案。

打包成功了!

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
在计算机编程中,Assertion failed是一种错误,表示某个断言失败了。断言是开发者在程序中用来检查预期条件的一种方法。当断言条件为假时,程序会停止执行并抛出Assertion failed错误信息。在引用、和中提到的错误信息中,都出现了Assertion failed的情况。 针对您提到的错误信息"Assertion failed: CastResult [File:D:\build\ UE5\Sync\Engine\Source\Runtime\CoreUObject\Public\UObject\Field.h] [Line: 961]",这是在使用Unreal Engine(虚幻引擎)时遇到的错误。具体来说,这个错误是在进行类型转换时出现问题,转换失败导致断言条件失败。 解决这个错误的方法取决于具体的上下文和代码。一般来说,您可以尝试以下几种方法来解决这个问题: 1. 检查代码中涉及类型转换的部分,确保类型转换是正确的。 2. 检查相关对象的初始化和赋值过程,确保对象的类型符合预期。 3. 检查相关字段或属性的定义和使用,确保它们的类型一致。 如果您是在使用虚幻引擎进行游戏开发,您可以尝试在虚幻引擎的开发者社区或论坛上寻求帮助,分享您遇到的问题和错误信息,以获得更具体的解决方案。 总之,"Assertion failed"错误表明在程序执行过程中遇到了一个预期之外的条件,需要进一步检查和修复。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [JAVA OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale….](https://download.csdn.net/download/weixin_38616120/14042368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【UE4Assertion failed: NumBytes == Strings.Num【已解决】](https://blog.csdn.net/RuningBun/article/details/123138617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [UE4/5关于数字MetaHuman打包项目后,打开游戏发生的关于Assertion failed: CastResult或者fatal error...](https://blog.csdn.net/q244645787/article/details/131732444)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多方通行8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值