Direct "Motion Builder to Unreal" pipeline?

I was wondering if direct animation export (via .FBX) from MotionBuilder to
Unreal3 is feasible.

My quick test showed that a single mesh with a single animation can be
transferred alright, but I’m relatively new to this animation business so I have
no idea how this would hold up in production.

The character animation will be done in MB so it would be great if I could
ditch the intermediate steps like import to Maya/Max and the ancient ActorX
plugin with the double skeleton and whatnot. (The hatred toward it was
intense in the last company I worked for.)

I’d like to streamline our workflow as much as possible, even if that would
mean a bit more work initially. For example the batched anim sequence
export of ActorX is indeed handy. However since MB has Python scripting,
something similar can surely be done there too, so I’d be fine with that kind
of extra effort.

Since the character animations are in MB, it would seem logical to make
weapon/prop animations there too. (Using the char anims as reference.) Is it
possible/practical to do?

Now I dive into the MB docs, but that’s no substitute for real life stories, tips
and pointers you guys might have. :slight_smile:

Hmm, so is it just a question of being able to export a series of anims or takes to FBXs? Or are you trying to go directly from FBX to PSK/PSA? Seeing as how Unreal supports FBX import now seems like you could just batch out all your animations from a MoBu script pretty easily and then import them from UnrealEd, unless I’m misunderstanding the question?

Yes, my intention is to use only FBX and skipping PSA/PSK altogether.

If this works then great. I just wanted to know if anyone has actual experience
using this workflow for real. The official way of dealing with skeletal meshes is
still ActorX based, which made me wonder if the FBX importer or maybe the
format lacks some important features.

[QUOTE=Zoltan;6646]The official way of dealing with skeletal meshes is
still ActorX based, which made me wonder if the FBX importer or maybe the
format lacks some important features.[/QUOTE]

Hehe, my guess there is that it’s more of a legal issue…if Epic says FBX is the “official” way, now they’re on the hook to support FBX as well as ActorX.:laugh:.

You may want to PM smcclelland, he had something to do with all that stuff…

You might be right. :slight_smile:

Anyway, I found this thread about the FBX importer in Unreal. Apparently it’s
pretty solid and now I know who to bug if I encounter any problems :wink: so I’ll go
ahead with this workflow.

I used the MB tutorial mesh “Mia” and tried to import it’s mesh and animations
to UDK (May).

The mesh itself got in alright (although with a mismatching but functional
skeleton) but I wasn’t able to import any animations.

If I attempt the animation import from the original FBX scene then UDK just
crashes. If I use the batch tool to export the plotted animation to a
separate file then I get this message:

Could not find needed track (72) for this AnimSet.
Would you like to use the selected SkelMesh reference pose to create the track?
[OK]

After clicking on the lone OK button UDK crashes.

The logfile is not particularly helpful:


[0976.63] Log: Loading FBX Scene from D:!Projects\GViz\Assets\Animations\Take_001.fbx
[0976.73] Log: FBX Scene Loaded Succesfully
[0976.74] Log:
[1040.92] Log: === Critical error: ===
Fatal error!
Address = 0x4188fa10 (filename not found) [in E:\UDK\Binaries\Win64\UDK.exe]

When I import our character Bravo and I try to import an animation from its
FBX file then there is no crash but no animation either. UDK just stops
responding for a while then I’m left with my empty animset.
The log doesn’t contain anything helpful in this case either.

I’d appreciate any guidelines regarding the expected scene format and the
general rules of conduct.

(I’ll keep experimenting and gathering intel from people and post my finding in
this thread for future reference.)

there is documentation on udn about fbx imports - have you double checked your import process with the documentation?

The only relevant documentation I found is the FBX Importer User Guide,
but that doesn’t tell me how I should prepare the scene.

I was able to import PEPE from the “Pepe_plotted.fbx” tutorial scene, both the
mesh and the animation. (That extra skeleton didn’t cause any problems.)

Then I used the batch export from MB to export an “animation only” FBX file. I
did exports with all plot options turned on and off but both files crashed UDK.
I guess animation only FBX file is a no-no. Too bad the batch exporter don’t
do any other kind… at least until I hack the scripted version.

EDIT: Nothing to hack on the script, as it just creates a UI for the batch export
function. :\

Batch exporting the scene to “take+character” files is easy as the file save
dialog has a tickbox for saving each take to a separate file.

And, not too surprisingly, the lack of plotting caused the importer to import
nothing from a valid FBX file.

So what I need to do in a script is saving the actual scene, plot everything,
save to separate takes then revert the scene to its original, unplotted state.

Hi, FBX will be the standard file interchage format for Unreal in the near future. It already exists but can be a bit buggy. ActorX is no longer being developed, Collada hasn’t been for some time. Autodesk are developing the Unreal FBX integration, I believe the next big update will be in the August build.
As with ActorX, a lot of problems getting data into Unreal stems from junk going through from Maya/MB so make sure the only nodes you are exporting are skinned joints, animation and skinned meshes.
You may find it beneficial to script the process of cleaning a scene then calling the fbx plugin export, we currently do this through ActorX.

Matt.

[QUOTE=Zoltan;6641]The character animation will be done in MB so it would be great if I could
ditch the intermediate steps like import to Maya/Max and the ancient ActorX
plugin with the double skeleton and whatnot. (The hatred toward it was
intense in the last company I worked for.)[/QUOTE]May I ask what you’re referring to with the double skeleton? I’ve learned most of the weirdness with Maya+ActorX and know that most of the issues people have with it is because of the worst documented plugin in history.

Did you know that you can exclude a skeleton hierarchy by giving the highest parent _ignore as a suffix? Did you know that you can exclude a specific joint by using _noexport suffix? These tricks are hidden so deep on UDN that most people don’t find them.

There’s only two bugs with ActorX that doesn’t let me work with it like I want and that is 1. The bug where if you use ActorX to export a character and later change the skeleton hierarchy (new joints, orientations etc) you need to restart Maya before exporting again. Otherwise it exports a broken hierarchy. 2. Strip references doesn’t work like it should and the promised fix was never added.

Using the knowledge above I only need to run a script that imports references / strip namespaces and export animations / meshes without any unnecessary data coming along. If Strip References worked like it should I wouldn’t have to run a single script to export an animation prior to ActorX.

I would start using .fbx but haven’t had time to learn how to avoid the problems I’ve had with it so far. :):


On topic though. I hope you manage to get a good pipeline from MotionBuilder, the less steps the better. :):

@Sockmonkey: Great news that Epic is finally abandoning that decade old
workflow. I hope the new FBX pipeline will allow some crazy stuff like vertex
colors, multiple UVs or bone scaling…
And yeah, good point, now I exclude irrelevant elements from the export to
keep the result clean.

@Denny: By “double skeleton” I meant the skeleton-biped combo. There
were some screwups with the linking while the skeleton structure was being
tweaked. (Mostly user errors tho.)
We didn’t know about those suffixes at the time unfortunately.
I’m not sure if those particular bugs you mentioned are present in the Max
implementation as well, but something was definitely not cool judging from the
frequency and loudness of the curses emanating from the animator’s corner…
Thank god I passed the anim stuff to a colleague soon enough. :slight_smile:

Anyways, I think I’m close to having a proper workflow. A few more rounds
with python and the basics are done.

Well, things seem to be working so here’s the first version of the script:

MyBatchExporter v1.0

It worked with the Pepe example and our test character, but I haven’t had the
chance to try it with more complex scenes.

This version only exports the first character but eventually it will work with the
currently selected one.
When it starts saving the FBX files MB stops responding but it will finish after a
while.

EDIT: Fixed save path so now it exports the takes next to the original file.