xianfei / SysMocap

A real-time motion capture system for 3D virtual character animating.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Rewarp opened this issue · comments

commented

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?

commented

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.

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.

commented

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)

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.

commented

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

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.

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.

commented

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