Moving a leg to affect another component in real time (mocap)

Hello there!

I have been assigned to create a character from Jakub Rozalskis concepts that stand on these large robotic stilts:…jpg?1456190215

It’s not clear as to exactly HOW the character is attached to the stilts, but I made some quick rig-setups to try to figure out different soultions (as shown in the video below). This character will most likely be driven using mocap data in realtime. So I need to figure out a solution where an actor could preferably drive the soldier and the stilts using the same input data from the mocap suit.

In the video I show 3 different approaches I quickly made in maya:

[video]Desktop 2020.06.22 - - Google Drive

imgur link if the one above doesnt work](Imgur: The magic of the Internet)

Number 1 in the maya scene: This is how I interptret the design to work. This however would require the most work. This video shows how Epic Games made a similar solution for fornite using control rig that might work for me. However i’m not that experienced within blueprints but I’m willing to learn if this is what’s required. I don’t know if this complex Skeleton BP would work in realtime when using mocap data though…

**Number 2 in the maya scene: **This is probably the alternative that would be the easiest to deal with rigging wise since the only thing needed for it to work is simple retargeting. However this is the furthest away from what I percieve the concept to be like.

**Number 3 in the maya scene: **This would be the lazy way and wouldn’t require the soldiers legs to move with the metal stilt legs. Instead the soldiers legs would be stationary and the metal legs would be doing its own thing based on the mocap data. And this, just like the 2nd alternative, would only require retargeting.

My solution might just be to do what the guys did for fortnite using control rig, but I’d love to hear if anyone has any other ideas!

Thanks in advance!

I mean, shouldn’t this be a question for whomever commissioned you with this?
#2 is the only realistic approach.

#1 makes no logical sense as the joints cannot obviously transfer movement to a different joint directly without major stretching.

At worse, what you could do is scale the bones with a complex rig to transfer movement.

Uncouple the legs from the mechanical ones like in #3
then assign a bone from the heel to the heel, and parent it so that moving the heel forward causes the mechanical part to move forward.
repeat for knee and probably ignore the hip since it is probably locked fixed into place.

This should make it so that the motion can be transfered without having to stretch joints beyond their limits.
I would probably also limit the amount of movement possible with limits, so that the mocap data can’t ever be completely wrong.

Also, there is no need to waste performance with control rig for this. You aren’t adding extra stuff, you are producing custom animations for a custom asset with mocap data.
meaning that if you parent things and weight paint correctly the motion will transfer even with some basic retargeting.

I would assume the stilts are just a separate mesh, that they connected to a custom socket they made… And they just manually lined them up.

Me and some classmates recieved a small grant to create a world and some mechs using Jakubs concept art for virtual produciton. We are doing this together with 3 teachers at my school and we are free to do basically whatever we want (They are the ones “commissioning” this, but they are chill with most things). I chose this character myself, so I kind of put myself in a hard position from the start, but It’s a fun challenge nevertheless!

When you say “assign a bone from the heel to the heel” do you mean from the humans heel to the metal stilts heel?

In maya a simple expression could handle the correct movement between the human and the metal leg, but how would I do this in Unreal? Inside the character blueprint? And would I use the human character and rig in a blueprint and then just “add” the rig and the metal stilts to the same blueprint or would they be separate from each other in different blueprints?

What would I search for on youtube/google to get me in the right direction?

Thanks a bunch for the input, really appreciate it!

Yes. The stilts would be separate from the character. I am the one creating this character from start-finish so I can create whatever setup works the best for me, and that is what I’m leaning towards at the moment. I don’t have to follow the concept to 100%, but I’d like to pay as much tribute/respect to the artist who created this original artwork. His concept aren’t techincal and mechanical blueprints by any means and they don’t make sense at all, but they are visually amazing to look at. The problem is that everything has to work with Mocap so everything becomes much harder.

As for the socket your referring to, I haven’t gotten that far yet. I’m not suuper experienced with UE but I have attached things using sockets before. Would that maybe be a viable solution to get the metal stilts into the same BP as the human character? And then proceed with the setup that [USER=“3140864”]MostHost LA[/USER] spoke about?

The setup I was talking about is just common mirroring or transference.

If your charachter needs to separate, control rig to drive the same bones that you would drive in a 3d program is best.

If you are making an armor thing however, it may be best to “switch character” rather than it is to attach the character.
because movement.
not every type of movement you may have as a walking character may be avaliable while in the armor/stilt.

So then, it is probably easier to create a separate item and replace the characharacter plus rig at runtime into a completely different blueprint set with new controls and new animations.

And yes, I mean frome the human heel to the mecca.
A properly parented bone will work easier than a script.
The distance between the mecca and the foot heel is bound to be fixed anyway, so a bone locked in place between the 2 will server as a hard limit and a way to transfer motion.