"Best" rigging approach for working with mocap data?
-
Hi,
For a project I'm going to work with a lot of mocap data, for human-proportioned creatures.
This is entirely new to me. I'm looking at some tutorials using uploading to Mixamo for auto-rigging, but autorigging fails on my test model. The creatures will be translucent with visible bone skeleton so my starting point was a skeleton and I suspect Mixamo doesn't like it.
So I'm probably going to manually rig a character in C4D. Here I'd like some advice. There is for instance a fully rigged human skeleton in the Content Browser, but it uses fairly complex rigging beyond a 'simple' bones rig, making it less than obvious on first attempt how to target the mocap data
So would I be better off building a 'classic' rig with bones and weightpainting, or is there a good way to link the C4D Character Object to mocap data (and would this have benefits?).
We'll probably use an Xsense setup for mocap. I've seen some videos that make retargeting the Xsense data to a standard Mixamo rig look quite straightforward. So I'm thinking to use the standard Mixamo bone structure and rig my character onto that.
Cheers,
Barend
-
Hi Bar3nd,
You need to rig the character one time with a T-Pose. For the "surface-based" and the skeleton, you might use the same for a different option, which I will discuss below. Automatic Rigging has, most of the time, some flaws, and a manual is always needed to clean things up or to do it fully manually. Top character animators start with the top joint in the hierarchy, weighting all of it to the joint and then progressively adding weight to the next joint in the hierarchy. Which helps to understand each weighing and keeps things clean.,
Skeletons can be rigged with just PSR transfer, as Bones don't bend, certainly not from real actors who got captured (vs. Toon characters). There are more elements in the spine than any motion-captured system (typically in use) captures, but since this skeleton is inside a "surface-based character", they need to move in the same way, of course, which might look like a stiff spine.
Such a PSR transfer could work as Motion Clip directly, with the axis of each Bone being adjusted and some vertebrae being grouped. (I brainstorm here, I have never set up a Skeleton inside a surface-based character). Typically I talk only about what is explored practically with the current version. But this is not an option in 1-2% of cases. Sorry about that. Constraints would be the other way, perhaps allowing more organic movement with a single vertebra.
Keep the MoCap data the same, e.g., always have a none animate parent on top with Position and Rotation zeroed out and Scale to one. (Some ignore that, which will also work, but this will not allow swapping things out more quickly.)
Then use the Motion Clip system and turn each capture into a clip. Once familiar with the Animation Systems (Motion Clips), you will see how much the motion capture will benefit your work.Here is a series about this kind of workflow. He doesn't use the parent Null, and you might decide this early in the project to find a standard that works for you.
https://www.cineversity.com/vidplaytut/mixamo_to_cinema_4d_character_workflow_rig_characters_export_with_mixamoAll the best
-
Hi Sassi,
I figured I'd start learning to rig the skeleton and figuring out how to connect mocap data.
I saw a template in the Character Object for Mixamo rig - so I gave that a shot - assuming it would help with linking Mixamo mocap to my skeleton. The rigging process was rather painless and works pretty well already. Indeed vertebrae end up grouped along a couple of 'bones' but that should be fine.
Importing a Mixamo mocap clip (just the animation) I run into the next challenge: my character is rigged in T-pose but the animation starts in a different pose. After applying the mixamo animation to my character it's moving, but only relative to it's T-pose... I'm sure I'm missing something here - I'm reading a lot about some mocap systems always putting a T-pose on the first frame to tackle this. But I'm assuming there are other ways.
It's been a while since I used motionclips so those tutorials are a great resource for the next phase!
-
Thanks for the feedback, Bar3nd,
There should be a T-Pose for your Mocap source, and from Maximo, there is also a T-pose available. You need to have both, and there is no way around this; you can compare both. Sometimes even the amount of joints differs, of the hierarchy is not sorted in the same way.
Compare the joints' axis; if they are set up, the T-Pose shows zero P and R values, and the Scale equals one. Anything to shape the rig in the t-Pose should be in the Freeze coordinates. If that is not the case, you never have the option to reset anything.
When both T-Poses are provided, the Character definition function might help
https://help.maxon.net/c4d/2023/en-us/Default.htm#html/78468.html?TocPath=Character%2520Menu%257CMotion%2520Retargeting%257C_____0
This will help, but since you just start, I'm not sure if that is the best way. Since you just started, make sure that you use the Mocap-provided T-Pose that matches all your Mocap data from the start. You do not want too many things between the character and the incoming data. The time spent now will pay off many times.Cheers
-
Hi Sassi,
The actual mocap sessions are a couple of months away - so I'm using this time to figure out parameters and possible pitfalls. I'm stumbling through a little here - watching lots of tutorials, but most use autorigging on Mixamo which I'm not using.
I found some mocap data off the Rokoko website that has a T-pose on the first frame - which helps. Interestingly the Rokoko data also has the Mixamo hierarchy. When I target the mocap data to my character it transfers 'fine' - except on my character the hips stay static / locked, but the rest of the character moves correct relative to the hips. The character was rigged using the Character object with the Mixamo Control preset so I was sort of expecting it to work.
Suggestions on where to look for the solution?
Cheers,
Barend
-
Hi Barend,
Please have a look here:
https://stcineversityprod02.blob.core.windows.net/$web/Cineversity_Forum_Support/2023_PROJECTS_DRS/20230521_CV4_2023_drs_23_ROra_01.c4d.zipThis is all done in Cinema 4D, with a Mixamo-based rigged character while using my Rokoko v2 suit and gloves data.
I'm sure this quick setup allows for some explorations. This exploration work must be done since you like to dive deep into it. Keep in mind that pretty much any mocap data needs cleanup. Understanding the options is critical. I love to work with the Freeze Coordinates options and the Reduced Modification Curve. (Just to name two things.) A solid command of the F-Curve options is handy as well.
Besides, there are many great tutorials on the Rokoko site, and I think they have another live session on May 23rd. (Announcing something new?)
https://www.rokoko.com/mocap/webinar-mocap-vs-ai-may-23?apcid=006319a9353ff508c0dad501&utm_campaign=real-time&utm_medium=webinar-invite&utm_source=emailI'm happy to look into Rokoko-related things; of course, let me know.
All the best
-
Hi, thanks,
I understand it won't be plug-and-play and cleanup etc. will be needed. I'm reasonably comfortable with the animation and keyframing tools - but rigging characters and dealing with mocap is new. And of course my requirements don't really fit 'the usual' so all the quick solutions discussed on Youtube don't apply.
For now what I did was 'just' copy the animation track from the hips of the mocap to a null, and place my character in it. An odd extra step to have to take (I would have expected the motion of the hips to be automatically driven - using the Mixamo Character Object template with Mixamo mocap data...) but now it produces exactly the result I was expecting.
-
Hi Barend,
Since I write in a forum, I will always answer in a way that people with similar questions have use of my reply, so I always go a little bit more into detail. If possible, I have first-hand experience with it; otherwise, I mark it as brainstorming so it is clear that it needs tests.
Yes, I have not seen any Mocap in the past two+ decades that didn't need cleanup. Hence that was the main idea of Kaydara's FilmBox (Filmbox, hence FBX), which later became Motion Builder. A good average is 80% toward usable results, regardless of the system.
Yes, things might improve with tons of IR cameras, but those systems cost $100K and up. There I have only experience with it from way too long ago. Not valuable anymore.
With Rokoko, the best idea is to calibrate often, based on the motion you capture, perhaps per "take", if it goes wild. They constantly improve their system, and it is a sure thing to ensure running a newer version. Of course, as usual, early adaptors might get bitten. If you use Rokoko, take their offer with the one-hour hands-on instruction; it is a considerable value. Yes, I'm a fanboy here.
A good, even while old, book is MoCap For Artists, Focal Press. As usual, every source can hold a gem for you or steal your time based on your already-knowledge.
I would keep the Null Parent zero for P and R (S to one) and no animation. Also, while not knowing your setup, keep the Character object/Skin out of any animated parent Null. You might get double movements at one point.
In the Motion Clips, you can use a Pivot for that. Also, I keep the Character object away from the joints. You can decide how it is connected; see the image. They can live under a main Null, but there should be no mixing of information and definitely no distributed animation outside the weighting. In some cases we had here on Cineversity in the past 17+ years, it showed double movement. Not fun.But you know better what you need, as you wrote, not a usual project. So I leave it here as a note, and you decide what fits your project anyway.
My best wishes for your project.