Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bvh recorder 闪退 #124

Closed
AntiF0 opened this issue Oct 23, 2023 · 13 comments
Closed

bvh recorder 闪退 #124

AntiF0 opened this issue Oct 23, 2023 · 13 comments
Assignees
Labels
bug Something isn't working

Comments

@AntiF0
Copy link

AntiF0 commented Oct 23, 2023

MediaPipe4U 版本

20231011

UnrealEngine 版本

5.1.x

平台

Windows

UnrealEngine 类型

Launcher

问题类型

运行错误

错误详细描述

参考了 M4U 动补数据导出 视频,预计在 StaticImageSource 源关闭后对 bvh 文件进行保存,StaticImageSource 源的导入和播放程序运行正常,但是添加了 BVHRecorder 后,点击运行即报错,添加 BVHRecorder 的流程如下:

  1. Plugins\MediaPipe BVH C++ Classes\MediaPipeBVH\Public 文件夹下向场景添加 MediaPipeBVHRecorder
    image
  2. BP_MediaPipeComponent 蓝图暴露 BVHRecorder 变量,并选中刚刚添加的 MediaPipeBVHRecorder
    image
  3. BP_MediaPipeComponent 蓝图中,参考 demo 项目,在 Start 函数后调用 Open 函数,并在延迟2s后,调用 Close and Save 函数,图示如下(如果不添加 BVH保存 这块的蓝图,程序可以执行):
    image
    image

依照以上添加流程,点击运行后,程序闪退报错:
image
根据观察报错部分主要为:

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:E:\Epic Games\UE_5.1\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 763] Array index out of bounds: 344 from an array of size 342

完整报错文件为:MetaHuman_M4U.log
请问作者是否有解决方法,或者是否一定需要使用 demo 项目中的 Save BVHFile Dialog 蓝图块?非常感谢!

@endink endink added the bug Something isn't working label Oct 23, 2023
@endink
Copy link
Owner

endink commented Oct 23, 2023

闪退一定是 BUG 引起的,我会按照你的步骤来尽可能复现

@endink
Copy link
Owner

endink commented Oct 23, 2023

Save BVHFile Dialog 只是为了选择文件路径,并不是必要的流程

@endink
Copy link
Owner

endink commented Oct 23, 2023

你可以排查一下 LOD 的问题,看起来 344 这种索引像是一个骨骼索引,请检查:

  1. 是否你的模型上启用了 LOD
  2. LOD 改变是否会引擎骨骼数量变化?

@AntiF0
Copy link
Author

AntiF0 commented Oct 23, 2023

你可以排查一下 LOD 的问题,看起来 344 这种索引像是一个骨骼索引,请检查:

  1. 是否你的模型上启用了 LOD
  2. LOD 改变是否会引擎骨骼数量变化?
  1. LOD修改了设置,参考了 MetaHuman 单目摄像头动作,手指,表情捕捉全流程 视频将 m_med_nrw_body 文件中的 Number of LODs 改为了 1,刚刚尝试了改回 4 也会闪退:
    image
  2. Number of LODs 值的改变应该不会引起骨骼数量变量,查看了一下 Mesh Bones 骨骼数量均为 342 (查看的地址是 m_med_nrw_body 中的 Skeleton Tree 选项,从这里看似乎确实是骨骼索引导致的问题)
    image

@AntiF0
Copy link
Author

AntiF0 commented Oct 23, 2023

似乎只要向场景中添加 MediaPipeBVHRecorder 就会导致闪退,
另外根据文档内容,想问问是否必须添加 MediapPipeAnimInstance

动补数据导出功能依赖 MediapPipeAnimInstance ,它和 MediapPipeAnimInstance 紧密集成,不可单独使用。

@endink
Copy link
Owner

endink commented Oct 23, 2023

DEMO 工程也闪退吗

@AntiF0
Copy link
Author

AntiF0 commented Oct 23, 2023

DEMO 工程也闪退吗

demo工程不闪退,可以正常导出

@Pilot-Labs-Dev
Copy link

我也有同样的问题,似乎是metahuman的骨骼体不支持MediaPipeBVHRecorder,demo工程的小金人骨骼体就没问题。

@endink
Copy link
Owner

endink commented Oct 26, 2023

回头测试一下 MH, 从日志看是索引问题,通常这只会是 LOD 导致骨骼更改,确保锁定 LOD 0 应该就可以

Copy link

This issue is stale because it has been open for 15 days with no activity.

Copy link

This issue was closed because it has been inactive for 14 days since being marked as stale.

@endink
Copy link
Owner

endink commented May 16, 2024

mark start fix this

@endink endink reopened this May 16, 2024
@endink
Copy link
Owner

endink commented May 23, 2024

fixed at version 202405XX

@endink endink closed this as completed May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants