Search - User list
Full Version: Blend Shapes to Unreal Engine
Root » Technical Discussion » Blend Shapes to Unreal Engine
ajz3d
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.
digitallysane
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.
ajz3d
Oh no, this is not good.
This is on SESI's checklist, right?
digitallysane
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.
electricalpencil
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]
digitallysane
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.
ajz3d
Speaking of working out of the box, shouldn't this be filed under bugs rather than requested features?
ttvdsfx
It is not a bug, it's just a missing feature. Please log an RFE.
ajz3d
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.
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
ajz3d
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.
digitallysane
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.
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.

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.
digitallysane
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]
ajz3d
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…
digitallysane
That sounds excellent! Very interested in this.
electricalpencil
Me too!
ajz3d
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.
digitallysane
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
ajz3d
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.
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