Blend Shapes to Unreal Engine

   74681   34   2
User Avatar
Member
466 posts
Joined: Aug. 2014
Offline
Has anyone found a way for exporting blend shapes from Houdini (in FBX) so they could be used in Unreal Engine? I found one thread that touches the subject (https://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=35645 [sidefx.com]) but it concluded with a suggestion to use Blender, which is something I'd like to avoid.
User Avatar
Member
1192 posts
Joined: July 2005
Offline
ajz3d
Has anyone found a way for exporting blend shapes from Houdini (in FBX) so they could be used in Unreal Engine?
There isn't any.
Houdini doesn't currently support export of blendshapes to FBX.
Dragos Stefan
producer + director @ www.dsg.ro
www.dragosstefan.ro
User Avatar
Member
466 posts
Joined: Aug. 2014
Offline
Oh no, this is not good.
This is on SESI's checklist, right?
User Avatar
Member
1192 posts
Joined: July 2005
Offline
ajz3d
Oh no, this is not good.
I'd go as far as saying that it's actually very bad.
ajz3d
This is on SESI's checklist, right?
Hopefully someone from SESI will answer this.
Dragos Stefan
producer + director @ www.dsg.ro
www.dragosstefan.ro
User Avatar
Member
149 posts
Joined: Aug. 2014
Offline
I too hope SESI fix this issue, I've emailed them an RFE but haven't heard back.

In the meantime you may want to explore using vertex animation tools, basically UE4 created some 3dsmax scripts that convert vertex animations into 2d maps that UE4 can read, it works rather well

https://docs.unrealengine.com/latest/INT/Engine/Animation/Tools/VertexAnimationTool/index.html [docs.unrealengine.com]

someone then created a digital asset that does the same thing as the max script, I haven't had much time to test it though

http://stevencburrichter.com/blog/vertex-animations-in-ue4/ [stevencburrichter.com]
User Avatar
Member
1192 posts
Joined: July 2005
Offline
Eric Lindell
someone then created a digital asset that does the same thing as the max script, I haven't had much time to test it though

http://stevencburrichter.com/blog/vertex-animations-in-ue4/ [stevencburrichter.com]
I did test that.
It works but is not practical for character animation.

It's quite a workflow, it has limitations in the number of vertices (8192) it can work with but most important limitation is the fact that it happens in a shader, where your vertex animation map is “played back”. It's quite hard to sync the speed of your shape animation with your skeletal animation.
The whole pipeline becomes quite convoluted, in order to do something that you'd just expect to work out of the box.
Dragos Stefan
producer + director @ www.dsg.ro
www.dragosstefan.ro
User Avatar
Member
466 posts
Joined: Aug. 2014
Offline
Speaking of working out of the box, shouldn't this be filed under bugs rather than requested features?
User Avatar
Member
173 posts
Joined: April 2014
Offline
It is not a bug, it's just a missing feature. Please log an RFE.
User Avatar
Member
466 posts
Joined: Aug. 2014
Offline
ttvdsfx
It is not a bug, it's just a missing feature. Please log an RFE.
Logged. Thank you for popping in. I appreciate it.

I tried the MDD Blender approach, but while the cache looked and animated perfectly fine in Blender, once imported into UE4, and I tried various settings of the exporter, not only the shading of the asset was broken (weird normals), but blend shapes deformed the geometry in a weird fashion. They not only moved the points to their “blendshaped” positions, but also stretched the whole object in one of the axes.

I haven't tried Steven's HDA yet.
User Avatar
Member
1192 posts
Joined: July 2005
Offline
ttvdsfx
It is not a bug, it's just a missing feature. Please log an RFE.
It's been logged for some time: RFE #70989
Dragos Stefan
producer + director @ www.dsg.ro
www.dragosstefan.ro
User Avatar
Member
466 posts
Joined: Aug. 2014
Offline
digitallysane
ttvdsfx
It is not a bug, it's just a missing feature. Please log an RFE.
It's been logged for some time: RFE #70989
My RFE was merged with RFE (ID=66123). So the initial request was submitted even earlier than 70989.

It's a pretty urgent thing. If I knew that Houdini's FBX exporter doesn't support blend shapes, I'd think twice before extending my Indie license for the next year.. Especially when I knew at that time that I will have more UE projects coming up in the near future. Maybe I'd rent Maya LT, who knows?

But I grew fond of Houdini and I feel very comfortable with it. I think it's the most powerful 3D package on the market at the moment, allowing artists to do virtually anything they can think of…
And now this. A silly FBX export problem that renders my asset useless because I cannot export blend shapes.

It's the first time I feel disappointed with the program. The SESI support was great so far, but when I see that my RFE is merged with a request from ancient (?) times, I feel… just sad.

Please SESI, fix your FBX exporter.
User Avatar
Member
1192 posts
Joined: July 2005
Offline
ajz3d
A silly FBX export problem that renders my asset useless because I cannot export blend shapes.
We are in exactly the same situation.
You do have to realise, however, that they have limited resources that they have to manage wisely.

Your Indie license is not that much when compared with the money they get from big studios who require features that have little to do with this type of stuff, at this moment.

I do think, however, that this is more important for the future than they might think, as it can open Houdini to the character market as much as the character features themselves would do.
Dragos Stefan
producer + director @ www.dsg.ro
www.dragosstefan.ro
User Avatar
Member
466 posts
Joined: Aug. 2014
Offline
If only I had a sample of a simple ASCII FBX 2014 scene that includes blend shapes (exported from Maya for example), I could probably create a dirty temporary workaround.

I'm thinking a Python script, that you would invoke with blend shapes SOP selected. It would generate a string that could then be either manually or automatically embedded into exported ASCII FBX file. I already familiarized myself with the structure of FBX 6.1 that comes out of Blender (at least the blend shapes part of it) and with a prototype of the script I managed to manually embed blend shapes into FBX 6.1 file exported out of Houdini. They do get detected by UE4, so it's one step in the right direction. However, UE4 documentation recommends FBX 2014 and the difference between it and the 6.1 version is enough to break the workaround. That's why I need a sample file. For starters, it could be a cube with three or four different blend shapes.
User Avatar
Member
1192 posts
Joined: July 2005
Offline
ajz3d
If only I had a sample of a simple ASCII FBX 2014 scene that includes blend shapes (exported from Maya for example), I could probably create a dirty temporary workaround.
You can try FBX Converter to convert between FBX versions. Only goes up to FBX 2013, but I used it's output in UE4 and it's OK.
It also comes with some sample FBXes.
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=22694909 [usa.autodesk.com]
Dragos Stefan
producer + director @ www.dsg.ro
www.dragosstefan.ro
User Avatar
Member
466 posts
Joined: Aug. 2014
Offline
Thanks, it will come in handy!

Success! I spent the whole Sunday coding the script and I managed to import Houdini's blend shapes into UE4 with FBX 2014 (7.4.0). Even though as a reference I used some old FBX 2011 (7.1.0) files that I had in my archives.

Next thing I need to do is to add some routines for automated insertion of the generated text into the FBX file (copying and pasting isn't fun at all), and test it with something more complex than a cube…
User Avatar
Member
1192 posts
Joined: July 2005
Offline
That sounds excellent! Very interested in this.
Dragos Stefan
producer + director @ www.dsg.ro
www.dragosstefan.ro
User Avatar
Member
149 posts
Joined: Aug. 2014
Offline
Me too!
User Avatar
Member
466 posts
Joined: Aug. 2014
Offline
Just letting you know that I'm still working on it. It's going slow, because I had to resort to regular expressions to determine insertion indices for strings related to blend shapes data. There are also a few counters in the FBX that need to be processed, like the number of “Definitions” and “Deformers” (that one needs to be created if it doesn't already exist).
So there's still plenty of work to do.
I'll post a test version of the script after I'm done coding automated insertion. It will be no sooner than in several days as I can dedicate very little time for it during weekdays.
User Avatar
Member
1192 posts
Joined: July 2005
Offline
ajz3d
Just letting you know that I'm still working on it.
Just letting you know I'm still very interested in your progress on this
Dragos Stefan
producer + director @ www.dsg.ro
www.dragosstefan.ro
User Avatar
Member
466 posts
Joined: Aug. 2014
Offline
digitallysane
Just letting you know I'm still very interested in your progress on this
Hello DigitallySane.

Here's a small update:

I'm trying to figure out how to install pip and external modules for Python that ships with Windows version of Houdini. I need this information in order to import regex module because it supports recursion calls for RegEx - something that's missing from re module and something that would greatly help me to match opening and closing brackets from FBX 2014 structure (I need it for inserting definitions for new objects, deformers and connections into appropriate locations).

It's pretty much the only thing left to do, as far as I'm aware.

If I won't get any answers in this thread: https://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=42745, [sidefx.com] I'll probably have to resort to stacks, which will be less elegant.
  • Quick Links