top | item 34412444

Show HN: A tool for motion-capturing 3D characters using a VR headset

103 points| diegomacario | 3 years ago |diegomacario.github.io

Hi everyone! I'm one of the authors of this project. The demo you see here is powered by a tool that I recently helped develop and open-source at Shopify called handy. You can find the repo here: https://github.com/Shopify/handy

Most people don't realize that VR headsets have become really capable motion capture platforms, so we decided to release this tool to bring motion capture into the hands of everyone who owns a headset.

With a cheap Quest 2 you can capture your hands using the headset's hand-tracking feature and your head. With an expensive Quest Pro you could capture your facial expressions using the headset's eye and face-tracking features.

Thanks for checking this project out! I'm here to answer questions if you have any.

31 comments

order

endergen|3 years ago

This is great, well done, and thanks for open sourcing it.

I started to build something like this early last year, but got too busy with another pet project and having a baby. Here's some demos and notes if you're interested. https://twitter.com/convey_it/status/1433163282597171200

diegomacario|3 years ago

Holy smoke that's so cool, thanks for sharing it! I love that your work helped increase the number of morphTargets in Three.js. That's real impact!

Keyframe|3 years ago

With an expensive Quest Pro you could capture your facial expressions using the headset's eye and face-tracking features.

Any more on this?

As for hands - is it able to track hands and fingers only or also an object within a hand? I can see this being useful to 'puppeteer' a 3D object by hand used as a proxy of it... Or a simple object within a hand.

Outside of maybe a cliff-climbing game I struggled with finding a reason for buying a headset at all. This seems like a plausible use for animation.

diegomacario|3 years ago

Well consider this sample from the Meta Movement SDK that allows you to control the facial expressions of a character with the face tracking of the Quest Pro: https://youtu.be/IQt4wTdGK64?t=315

Our tool could record those facial expressions into an Alembic file.

And as for holding objects, our tool could capture those too. Meta's Interaction SDK is excellent. Here's another sample they provide: https://youtu.be/WS4vtcwm8Zw?t=1

And I have to say that the cliff-climbing game is really fun.

pronlover723|3 years ago

This is extremely cool!

I haven't much of a clue on motion capture. But, the capture I want to do requires feet, hands, face, shoulders, arms, knees, fingers, AND the ability to do it in any position. Curl up in ball. Roll over on the floor. I want to capture more than just a head and hands upright but AFAIK there's no solution under $20k.

See user name. if I want to make pr0n, I need to be able to capture those positions. Is there anything that can do it on the cheap?

csande17|3 years ago

Curling up in a ball and rolling around on the floor seems like a worst case for a lot of motion tracking setups. Systems based on wearable sensors won't work because you can't comfortably roll around in them, and single-viewpoint systems like the Kinect get confused when they can't see your whole body.

Have you tried getting a bunch of Kinects and doing some kind of sensor fusion? I don't know what the current state of the software is but you can buy the hardware for <$100 each used.

daniel_iversen|3 years ago

That’s cool! What would the typical use case for this be (and why did Shopify build it)?

diegomacario|3 years ago

We actually built this to easily add hands to this concept video: https://twitter.com/StrangeNative/status/1613218237969494017...

Animating hands by hand (no pun intended) is horrendously difficult, so our 3D artist asked if we could help.

We built this within Shopify's Spatial Commerce team, which is a team that explores the intersection between AR/VR and commerce. Here are some of our other projects:

https://twitter.com/StrangeNative/status/1544666221181734912... https://twitter.com/StrangeNative/status/1562450155080597505...

ngokevin|3 years ago

Plugging in this one we did for reference a long time ago! Capture + share dances https://blog.mozvr.com/a-saturday-night/

diegomacario|3 years ago

I love this so much, thanks for sharing it! We have been thinking about similar concepts at Shopify. Mocapped performances convey so much more emotion than images or videos.

madlag|3 years ago

Thanks for this! I have been working on something similar for an upcoming education app, record a course and play in the same app with a compact file format (1MB per minute, could be much less with some tricks). You can see a demo here : https://youtu.be/zcHAzQXm3Hg and more at https://explayn.me I will definitely check your lib, and will be happy to switch if it’s better !

diegomacario|3 years ago

Wow that's super cool! That's definitely the biggest challenge - how to keep the size of the mocap data small.

Our library is not the best at that, since it simply records everything to Alembic files, which are quite heavy.

Best of luck with Explayn. I really like the idea of learning from mocapped lessons.

Scalene2|3 years ago

This could be great for people doing work with various sign languages.

cmehdy|3 years ago

That's great!

I assume the hand capture (+ head position) doesn't give you enough to apply inverse kinematics reliably (i.e. better than VRchat), is that correct? It's a naive assumption on my part given that wrists aren't captured, but perhaps there are really smart ways to solve this. It feels like it could be a "next step" to have upper-body motion capture.

klaussilveira|3 years ago

How well does it do with occlusion? Holding, or manipulating an object, and capturing those interactions.

karim79|3 years ago

Was wondering the same thing - if it does well there, it could be a really cheap way to, for example, motion-capture realistic weapon holding in an FPS, provided it can be extended to capture the arms as well using CV.

Mindwipe|3 years ago

This is a really great project, thanks, will definitely have a play with this and it might enable some project prototyping for me that are too small for a proper mocap setup.

Scalene2|3 years ago

Oh, while you're here, I recently started exploring the possibility of starting a small shop. When I looked into Shopify I had absolutely no idea how to get started or how much it cost and your website failed to even come close to answering those things in the few minutes I had to investigate. Whereas with SquareSpace provided those answers in seconds.

Scalene2|3 years ago

Just went back, have no idea how I could have gotten so confused. Had ended up on a list of add-ons and such.