Blend Shapes to Unreal Engine
75505 34 2- ajz3d
- Member
- 548 posts
- Joined: 8月 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.
- digitallysane
- Member
- 1192 posts
- Joined: 7月 2005
- Offline
- ajz3d
- Member
- 548 posts
- Joined: 8月 2014
- Offline
- digitallysane
- Member
- 1192 posts
- Joined: 7月 2005
- Offline
- electricalpencil
- Member
- 149 posts
- Joined: 8月 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]
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
- Member
- 1192 posts
- Joined: 7月 2005
- Offline
Eric LindellI did test that.
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]
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
- Member
- 548 posts
- Joined: 8月 2014
- Offline
- ttvdsfx
- Member
- 173 posts
- Joined: 4月 2014
- Offline
- ajz3d
- Member
- 548 posts
- Joined: 8月 2014
- Offline
ttvdsfxLogged. Thank you for popping in. I appreciate it.
It is not a bug, it's just a missing feature. Please log an RFE.
—
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
- Member
- 1192 posts
- Joined: 7月 2005
- Offline
- ajz3d
- Member
- 548 posts
- Joined: 8月 2014
- Offline
digitallysaneMy RFE was merged with RFE (ID=66123). So the initial request was submitted even earlier than 70989.ttvdsfxIt's been logged for some time: RFE #70989
It is not a bug, it's just a missing feature. Please log an RFE.
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
- Member
- 1192 posts
- Joined: 7月 2005
- Offline
ajz3dWe are in exactly the same situation.
A silly FBX export problem that renders my asset useless because I cannot export blend shapes.
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
- Member
- 548 posts
- Joined: 8月 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.
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
- Member
- 1192 posts
- Joined: 7月 2005
- Offline
ajz3dYou 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.
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.
It also comes with some sample FBXes.
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=22694909 [usa.autodesk.com]
- ajz3d
- Member
- 548 posts
- Joined: 8月 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…
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
- Member
- 1192 posts
- Joined: 7月 2005
- Offline
- electricalpencil
- Member
- 149 posts
- Joined: 8月 2014
- Offline
- ajz3d
- Member
- 548 posts
- Joined: 8月 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.
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
- Member
- 1192 posts
- Joined: 7月 2005
- Offline
- ajz3d
- Member
- 548 posts
- Joined: 8月 2014
- Offline
digitallysaneHello DigitallySane.
Just letting you know I'm still very interested in your progress on this
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