Jump to content

Desperate to get the Animated FBX export to work...


Recommended Posts

Greetings,

First post here and I'm very excited, I hope occasional technical questions are fine.

I recently took on learning Houdini and even after following my first tutorial I seem to be stuck in terms of getting an animated FBX output so I can place it in my UE4 project. I know there are tons of videos and tutorials on this but please believe me even after watching them all I still can't get it to work. I know this should work on my licence version too so I desperately need help after days of work.

Following this tutorial I could get it working with my own 3D file instead of the test_geometry and have the exactly same setup right now;
https://www.youtube.com/watch?v=KGyiTQhS8ec

Though, when I render in alembic as in the tutorial the output file is around 80GB (yes) and I obviously can't import it to UE4 - I have tried smaller versions and it works perfectly. Though I need the full 250 frame animation to be exported and be able to import to UE4, I have seen quite complex simulations can be transferred.

 
Right now, I have tried to export it using the Animated FBX in File menu as it is the most direct and straightforward or seemingly straightforward option. Though it creates an 8 byte FBX along with a xxxxx.fpc folder which I am not sure what to do with, I browsed a bit but was a dead end in terms of having a single FBX. 
 
Later on, I learned that in the /out context I also can create an Filmbox FBX Animation node and render it from there, as in the tutorial I simply do have a Geometry Node with everything happening inside and with an OUT null node at the very end. I picked the OUT node in my File 1 Geometry but it only generated a few bytes of file.
 
I then tried to use the RBD to FBX node from the Game Dev shelf, learned that a geometry has to be packed after getting the error that the node I was trying to export is not a geometry. So, before the OUT null I used a Pack node. I was like, this time it did work but it generates a 800mb FBX with 250 frames, UE4 sees that it is animated but it doesn't actually move and is as if it was a single frame. One giveaway of the problem was that when rendering it renders the first frame for a minute or so and then jumps to 250 right away and finishes. Also double checked with the 3D file viewer that it is not animated.
 
Lastly I tried the vertex_animation after seeing another few sets of tutorials, this time creating a CACHE_OUT and IN nodes too, but this time got this error at the start of render;
Error rendering child: /out/vertex_animation_textures1/render_position_and_packed_pscale/render_position_and_packed_pscale
 
Right now I feel like; GETTING AN ANIMATED FBX SHOULDN'T BE REALLY THIS HARD and finally understand why people are so scared of this software :-) 
 
I wonder what would anyone suggest for me to try at this point? If it would help I can send some screenshots of the node trees.
 
Thanks very much.
Link to comment
Share on other sites

I'm certainly no expert on this topic, but I have been trying the same thing. I want to get my Houdini animated deforming mesh inside of Unreal for rendering.

As far as FBX goes, you need to supply a bone system with the deformed mesh. This is basically for characters or machines that you have pre-rigged. I don't really export anything from Houdini using this format.

This basically leaves only the experimental alembic cache as the animated option for Houdini->Unreal.

The Alembic support for Unreal is fragile. It can not accept any polygons that are not triangles or quads. You need to prepare your geometry output with that in mind. I use this simple wrangle to subdivide any primitives that are over the vertex count.
 

Untitled-1.thumb.jpg.de592154cddb7df9ac9ba7aeea2d8a98.jpg

Another thing that will hang up the Alembic import on Unreal 4.25.3 is the presence of excessive attributes or groups. You don't need normals, and that seemed to hang up my import until I figured that out. You only need @P and @uv, both on points. Make sure to check "Recompute Normals" on the Unreal import dialog box. If you do wish to keep your normals, use an attributePromote to migrate them to points instead of vertex, which is typical for FBX. This does add weight to the final file size, however, and you can recompute them on import.

NOTE: if you do supply groups, they show up as material inputs inside of Unreal. For fracture sources I recommend keeping inside and outside groups.

Untitled-1.thumb.jpg.2abd2dcf01d3550fc8a0f86452e221c2.jpg

 

Both the dragon and the fracture were exported as mesh based, non-instanced, Alembic caches from Houdini. The dragon is a 480 frame cache that is about 210 MB in size. The wall is 480 frame cache that is 643Mb in size.

alembic_cache.gif.a61a25420b2b4af0bbf05cd94dd595b4.gif

 

 

 

Edited by Atom
Link to comment
Share on other sites

Hello, thanks very much for your reply, I actually read and tried the day you posted but have been working on it so didn't want to reply prematurely.

As you noted, I have added another attrib delete after the copytopoints node so there is N involved in the final NULL as well - though, as far as I can remember even without doing it I could import a small alembic to UE4 4.25.3

Now I can't even import a 25 frame and 3GB alembic to my Unreal, not sure why or what I changed. I choose "Skeletal" and "Recompute Normals". It simply gets stuck even before the progress bar starts moving.. I wish I could remember how on earth I did manage to get one imported, these test and trial approach makes one forgetful which combination did actually did the trick, very frustrating :-)

I have attached how things look. I was wondering if I should include the code in your first image to my node tree somewhere - if so, couldn't be sure exactly where, sorry.

Thanks very much and cool animation by the way :D 

 

 

nodetreeupper.png

nodetreebelow.png

 

obj.png

Edited by thebloodmage
Link to comment
Share on other sites

When Unreal hangs with no progress, it means the Alembic file is not usable by Unreal, even if other software can read it. One thing to try immediately is to export a short frame rage to keep the file size small until you figure out the attributes. Unreal can't handle a 4million polygon object, it is only a game engine.

Get rid of Cd, move uv to points, polyreduce and try again with a limited frame count. I have been able to export 360-480 frame Alembic to Unreal.

Don't use Skeletal or Static mesh, use the experimental geometry cache.

Untitled-1.jpg

Edited by Atom
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...