I am testing a workflow for rendering character animations in real time using Blender and Unreal with Alembic as exchenge format.
Both Blender 2.78 and Unreal 4.13 are in beta phase and now support Alembic 1.6.
My findings so far:
If animation is armature (bones) driven, you had better activate “Flatten Hierarchy” on Blender’s Alembic exporter. Otherwise Unreal crashes.
[Great!] Unreal can import materials from Blender with correct names and its faces’ assignments!!! Thanks’ to Alembic 1.6, I think.
Unreal imports well meshes and animations, as long as exported faces are tris or quads.
Models are imported 1/100 small, rotated (y-z up confusion) and mirrored in x-axis. (What a mess! )
Huge problems with normals. I think it is related to Unreal not liking non-triangulation on faces in .abc. Most of times it can be solved activating “Force one smoothing group per object” and “Recompute Normals”.
It is important to state that exporting FBX from Blender to Unreal is a piece of cake, so these issues are related to Alembic implementation in both programs so far.
I hope we can improve on that because the partnership Blender-Unreal (both free) is the way to go.
Regarding that normals issue. Which “Normal Import Method” did you choose at UE4 import? There was some change a few months ago and as far I remember “Compute Normals” with “Mikk Tspace” as the “Normal Generation Method” seems to be the default import setting now. Usually I get very bad results with “Mikk Tspace” while it works well if choose “Built in” instead or if I don’t compute them at import at all but choose “Import Normals and Tangents” at UE4 import instead.
Regarding the scale issue. This is normal. Blender is 100X smaller than Unreal by default. You have to scale up by 100 before you export, or at export if there is an option. The rotation issue seems to be on Unreal side. I am also getting the same thing on a file coming from Maya. As to the normals. for me it works OK if I use recompute. But that is just one test case. Your issue might be more common if I were to try other meshes.
In your case you might want to try applying the normal map for the mesh and see how it looks.
On mine however. I don’t see any animation in the file when importing Geo Cache. Maybe I don’t know how to use it yet.
Also getting the normal issues similar to yours
Hope this will be resolved soon, aslo busy setting up an animated short inside UE4 and also now hit the same problem. Not sure if the issue resides on Blender 2.78 Alembic exporter not quite conforming to industry standards yet, or on UE4 side.
There are a number of issues in the UE4 Alembic tools. I notice that my normals / lighting / smoothing / materials get busted when closing and reopening a project that previously had my Alembic file properly working (mostly).
Here’s my finding this morning, in Blender when I make faces flat and not smooth and then export to Alembic, then on import I don’t tick the recompute normals and don’t get the messed up normals as per the first post of Adriano, but I don’t get UV’s however, the texture map of the character does not work on my end. When I smooth shade the mesh in Blender I also get the messed-up normals in UE4.
I can confirm the rotation, scaling, and mirroring problem. The scale was a little jarring because FBX will come in at the correct scale without needing to scale at export.
I did find that the smoothing groups I set in Blender were either not being exported or not being imported by Unreal 4.13. You can control the smoothing on import but even that didn’t always have the result I expected.
Also found out that only 1 UV channel will be recognized by Unreal with 1 additional channel being generated for lightmaps. The UV was tricky to figure out too. If you don’t “apply the rotation and scale” on the mesh in Blender, the mesh will import into Unreal with a generic UV. The result is similar to a “smart unwrap.” If you add two UV channels and don’t apply rotation and scale, Unreal will read the second channel as the main UV with the second being the one auto generated for lightmaps.
That was all while importing as a static mesh.
When I imported a skeletal animation, with the remaining two options, it seemed like a few frames were missing. Basically the loop gets a stutter where the FBX does not. Has anyone in here noticed something like that?
Also tested UCX primitives as a long shot which did not work hah.
Would you be able to upload the Alembic file so I can take a look? In regards to the smoothing group / normal calculation check out the livestream from yesterday in which we explained the ins and outs of the Alembic importer! (Twitch)