Inside Sabertooth
Learn how Sabertooth uses 3ds Max to create 3D interactive projects, including HBO Go’s Game of Thrones interactive experience
  • 1/3
You are here: Forum Home / Autodesk® MotionBuilder® / Autodesk MotionBuilder 2009 / MB for UDK, what about root motion?
  RSS 2.0 ATOM  

MB for UDK, what about root motion?
Rate this thread
 
39788
 
Permlink of this thread  
avatar
  • Jaze
  • Posted: 15 February 2010 12:18 AM
  • Total Posts: 3
  • Joined: 22 October 2009 09:58 AM

I’m interested in using motion builder for animating characters for the Unreal engine, specifically UDK. I’m pretty green with both MB and UDK, and have been searching for an answer to this with obviously no success.

How do you get Root motion from motion builder?

Unreal prefers a Root joint to be placed at the world origin, animation on this node is extracted and used in the game engine to drive the charcters motion as opposed to guessing a value. The Root node also has to be the root parent of the skeleton.

I’m using maya as well, my simple solution was to transfer the X,Z values from the hips to the root, it works but I can see a few problems for some animations, climbing etc…

The MB docs tell me that this node should be the reference object. But animating it seems to be a problem, can’t use poses or the story tool.

How do you handle this? I can’t see how I can get root motion out of motion builder?

Or do I need to do this in maya with some constraints or perhaps expessions?

So many question marks, sorry.

Any advice would be awesome, can’t find a thing anywhere that addresses this issue.

Thanx.



Replies: 0
avatar

Look at the characterize panel-special, you can add a diffrent node to take the hips translation than the hips so that when you plot to the skeleton the data is extracted on to the parent and off the hips. in your case the root joint at the origin.

The other option is to adjust the hip extraction with limits and a constraint to plot out the data

turn on limits for root joint to lock down Y so no up/down movement
turn on limits for hips lock X and Z
Point Constrain hips to root with Snap to maintain offset, in constraint properties turn off all but Y (or up and down) *might want to do this with relations and keep it in global space but only if point constraint does not work.

Now retarget animation data to the skeleton, or plot animation from the control rig to the skeleton, turn off plot translation on root only and then turn off keep at least one keyframe so you don’t end up with extra translate keys.

You will see that you have split the translation data on to two noes and limited it to the axis you want.

This kind of export limitation to UDK screams exporter fix as this kind of extraction could/should be done on export vs. artists and source data manipulation in my opinion.
And if your going through Maya anyway could be done as a pre export process script.



Brad Clark
Co-Founder: Rigging Dojo-Teaching the art and science of character rigging
Author: Inspired 3D Advanced Rigging
The Character Animator Toolkit for Motionbuilder :available now:

Replies: 0
avatar
  • Jaze
  • Posted: 15 February 2010 08:56 PM

Thanks very much Brad, that sounds like a winner.
I’ll give it a go.

I was trying something simililar in maya to resolve the issue, but that sounds like a much better solution(s).

Thanks again for your time.



Replies: 0
avatar
  • Jaze
  • Posted: 19 February 2010 01:18 AM

Just an update, I managed to get exactly what I was after, this is what I eventually came up with, just in case anyone else is trying to solve the problem.

1. Bring your skinned mesh into motion builder and apply the rig.

2. Add a character extension to your character and assign the root joint. This is so it will be plotted with the rest of the skeleton. Assign a reference object to the extension (hips?) and update the stance pose.

3. In the root joint properties enable degrees of freedom and set translate Y min to 0.

3. Add a position constraint to the root and assign the hips effecter as the source.
I line them up by disabling the y on the position constraint, activating it to place the root in the x and z, then hit snap so it maintains the offsett then enable Y on the constraint. Be sure to set to lock.

4. At this point the root will follow the hips but not penetrate the floor. The distance between the hips and the root will be maintained when translating the character off the floor. This can be adjusted using the position constraints translate Y in it’s properties (you’ll have to unlock temporarily). That way you can adjust at what height the hips have to be before the root will begin to raise of the floor.

Thanks once again for the help Brad.



Replies: 0
avatar

Great work, and thanks for taking the time to give back and post that up.
I am sure it will help others that hit the same thing either with Unreal or their own custom game engines.

Glad I was able to help.
Brad



Brad Clark
Co-Founder: Rigging Dojo-Teaching the art and science of character rigging
Author: Inspired 3D Advanced Rigging
The Character Animator Toolkit for Motionbuilder :available now:

Replies: 0