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

0.6.2 on Linux. Mocap only translates head movements. All characters T-Posing. #49

Closed
Rewarp opened this issue Jul 18, 2023 · 8 comments

Comments

@Rewarp
Copy link

Rewarp commented Jul 18, 2023

I updated my local openSUSE Tumbleweed setup with the brand new upgrades to 0.6.2, and had to removed the .config/sysmocap folder that was generated because it wasn't working with the old configs.

On launching, the avatars do a T-Pose, and although my hands and face are still being tracked (by turning on the skeleton overlay), they don't seem to be translated into the avatar anymore except for head movements.

Any ideas on how to debug and send useful logs?

@Rewarp
Copy link
Author

Rewarp commented Jul 19, 2023

I think I caught a useful log using the DevTools. Do tell if I can provide something more useful:

VM706 render.js:455 Uncaught TypeError: Cannot read properties of undefined (reading 'LeftHand')
    at animateVRM (VM894 render.js:455:27)
    at animate (VM894 render.js:536:5)
animateVRM @ VM706 render.js:455
animate @ VM706 render.js:536
requestAnimationFrame (async)
animate @ VM706 render.js:534
requestAnimationFrame (async)
animate @ VM706 render.js:534
requestAnimationFrame (async)
animate @ VM706 render.js:534
requestAnimationFrame (async)
animate @ VM706 render.js:534

The log continues on with LeftHand and RightHand.

@xianfei
Copy link
Owner

xianfei commented Jul 19, 2023

Hi. I'm sorry that I haven't tested the recent code updates pushed on git or releases in Linux. This does seem like useful information. Perhaps you could try disabling option “Use Descretion Process for Motion Capture(Need Reopen)” in the settings and it may works.

@Rewarp
Copy link
Author

Rewarp commented Jul 20, 2023

No worries! We all contribute in open source according to our needs and time, and I am happy your team released something so easily usable. Glad to help do testing on the Linux side.

Here's the DevTools error log that was highlighted in red after disabling "Use Descretion Process for Motion Capture(Need Reopen)"

holistic_solution_simd_wasm_bin.js:9 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'createTexture')
    at __glGenObject (holistic_solution_si…asm_bin.js:9:202072)
    at _glGenTextures (holistic_solution_si…asm_bin.js:9:202446)
    at 018d6786:0x1e534
    at 018d6786:0x1e51c
    at Object.createTexture (holistic_solution_si…asm_bin.js:9:131926)
    at ra.i (holistic.js:86:462)
    at ua (holistic.js:14:299)
    at va.next (holistic.js:15:91)
    at b (holistic.js:15:330)

@xianfei
Copy link
Owner

xianfei commented Jul 20, 2023

It looks like there is an error in @mediapipe/holistic wasm binary. Maybe it caused by graphics card driver.

This issue reported a same problem.

@Rewarp
Copy link
Author

Rewarp commented Jul 21, 2023

Hmm. Ok. I did upgrade to a RX6800XT a few months ago. I will try to test with an older card.

@edwios
Copy link

edwios commented Aug 6, 2023

There is a (typo?) on getting the results of pose3DLandmarks from Holistic, the pose3DLandmarks is supposed to be contained in results.za but the code has results.ea. So, it is very simple to fix it:

For both the mocaprender/script.js (line 445) and mocap/mocap.js (line 46), change the line

const pose3DLandmarks = results.ea;

to

const pose3DLandmarks = results.za;

Then things will work again.

@xianfei
Copy link
Owner

xianfei commented Aug 8, 2023

There is a (typo?) on getting the results of pose3DLandmarks from Holistic, the pose3DLandmarks is supposed to be contained in results.za but the code has results.ea. So, it is very simple to fix it:

For both the mocaprender/script.js (line 445) and mocap/mocap.js (line 46), change the line

const pose3DLandmarks = results.ea;

to

const pose3DLandmarks = results.za;

Then things will work again.

Oh, I see. The new version of Mediapipe library from npm has changed this attribute name, and the old version can run. It seems that I overlooked this change. Thank you.

In v0.6.4, this bug has been fixed.

@Rewarp
Copy link
Author

Rewarp commented Aug 11, 2023

Yep. It's fixed. And whoa is the rendering so much more smoother in the latest version! Good job!

@Rewarp Rewarp closed this as completed Aug 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants