Search - User list
Full Version: Unreal skeletal mesh export/import/export
Root » Houdini for Realtime » Unreal skeletal mesh export/import/export
annabd
Hey folks -

I'm trying to export a skeletal mesh from Unreal, bring it into Houdini, modify the mesh, export an FBX, and read it back into Unreal.

Not having much luck. Even importing a skeletal mesh and immediately exporting it again doesn't work. Why? Because -- among other things -- Houdini effectively changes the skeleton structure and pathnames.

Seems like a real basic functional test should be confirming an unmodified round-trip between platforms. No such luck.

Is there an established workflow for this? I've seen some videos, but they're not using real rigs -- just the UE mannequin.

Alternatively, is there a way to control FBX pathname generation? It includes the entire Houdini object hierarchy. So, if I have a skeleton called, "Foo", I get "Foo/root/..." That's incorrect -- the Foo shouldn't be on there. The root of the path should be original root bone name you imported. I understand where it's coming from in Houdini; but it's not workable. I'd need an object with no name for this to work.

Anyone done this successfully?

Thanks!
-anna
gguillermix
Would love to get some eyes on this, as I'm in the same situation, just with Unity instead of Unreal
SalvatoSC
This is the exact problem I am facing right now, hopefully somebody can find a solution
willh
its very simple, you export the animation from unreal including the preview mesh.
then you import the character in houdini using fbx character import.
then use rop fbx character output to export it back to unreal.


this should also work for unity
gguillermix
Yes, this is how you export and import characters, but that's not the issue.

Not having much luck. Even importing a skeletal mesh and immediately exporting it again doesn't work. Why? Because -- among other things -- Houdini effectively changes the skeleton structure and pathnames.
mrpdean
I'm confused. I'm not seeing the bones getting renamed.

Round trip appears to be working fine when I try it.

alanvip220v
Works for me: In houdini
i`ve set Root name: to my hips (in my case it was mixamorig:hips) at FBX Animation import node,
then i exported it with fbx_characteroutput node ,
After importing it unreal engine he gave me a massage FAILED TO MERGE BONES , then pressed YES ALL
UE5 asking to merge all skeletal meshes - press No
quentinsking
Had to solve this problem recently, and while this is the first thing that comes up in Google I thought I would chime in on what got it working for me. Not sure if this is even the same issue everyone else is having but it might help someone.

Basically what I was trying to do was Export skeletal mesh from Unreal -> Import into Houdini to decimate -> Import back to unreal as a LOD for the original skeletal mesh. Except it wouldn't let me import into unreal as a LOD since the skeleton had changed.

What I found is that when using the Character FBX Import and Character FBX Export nodes, Houdini will strip out any and all bones where there are no vertices with a weight for bone. So if I have a root bone that doesn't have verts directly weighted to it, it'll get removed on export despite the fact that it's the parent for a lot of other valid bones lol. You can see what it's removing by looking at the Rig Tree inspector after importing your result back into Houdini.

Anyways... the hacky solution I found was just add a dummy weight to random vertices for every bone I know was going to be stripped out. Basically right before exporting the skeletal mesh from Houdini throw it through this network:
- Capture Attribute Unpack node on your mesh so you can edit the boneCapture attributes in vex
- Attribute Wrangle vex code where I look at the imported skeleton and find bones that have no weights in the mesh. Add a dummy weight for that bone to any random vertex with a weight of 0.0 so it doesn't actually influence it.
- Capture Attribute Pack the boneCapture stuff back into the right format

Then, when you export it through the FBX Character Output node it will hopefully maintain the skeleton. Another gotcha I found was that Houdini adds an extra root node in your animated pose which messes up the import back into Unreal because the root nodes won't match (and prevents you from importing it as a LOD). I wasn't dealing with animation so I just omitted the animation pose from my export but I think you might also have to manually fix all those paths right before exporting.

This was all in Houdini 18.5 not sure if any of this behavior has changed, at the very least I would like an option to not strip out "unused" bones in the FBX Character Output node lol.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB