Feedback - importing from Blender

Hey Guys,

I have to say thanks a ton for releasing UE4 for free - I couldn’t have afforded the subscription for the long journey of learning!

I’ve been a Blender artist for around a decade now and have been working for some small games here and there - always wanting to create my own games. Now I feel with UE4 I could make it - even as a single person.

My biggest problems are around the import of meshes - for me it’s a error-prone and time consuming process. I know from other game engines how game objects need to be set up, still there are a lot of pitfalls with UE4 / Blenders exporter. Using Blenders exporter often fails completely for no apparent reason, just to work on the second try without any changes. Using Autodesks converter (Blender -> 3DS -> Autodesk -> FBX) kills the smoothing groups.
Another problem for me includes the lightmapping for polygon-rich objects, no UV overlapping allowed, but too small, non-overlapping UVs still throw an overlapping error. These and more problems, combined with the relativly slow speed of the importer just consumes a lot of time.

Could it be possible to write an exporter with Python in Blender for a more native UE4 format? If this transition, preferably both ways, worked more seemles, man Blender + UE4 would be a ridiculously powerfull toolset.

Anyway, you’re doing an awesome job and I’m happy everyday to have the opportunity to learn and play with UE4.

CU!

I haven’t messed with blender trying to export to UE4, but UE4 also supports .obj which I would think should work for static meshes as well.

Which blender version are you using? 2.75 has fairly decent fbx exporter, which supports multiple texture coordinates among other things. I certainly haven’t ever seen this thing fail.

Would you mind uploading some simple example that causes problems?


Actually, now that I thought about it, I remember having a problem. IIRC exporter went berzerk because some material names had either dots or underscores in them, so I had to shorten names. Is that the issue you had?

Thanks for your answers, guys!

After another day of trial and error, as well as some 3rd party videos, I figured out the important “switches” - no more errors at import! Also it seems 4.10 imports fbx a lot faster than 4.7.

Here’s a video that helped me: Blender to Unreal Engine 4 in a Nutshell - YouTube
In addition:

  • Have a clean, triangulated mesh, set smooth / flat shading in Edit Mode for Faces!
  • Apply all modifiers, rotation, scale etc. before export
  • Have a proper UV unwrap
  • Have a second UV layer for lightmapping - that way you don’t need to care about your “real” UVs
  • Create a collision object right away in Blender using the correct naming convention UCX_objectname
  • In the exporter change smoothing from Normal to Faces. Uncheck “leaf bones”
  • At import it’s ok to import “Materials” so the assignment is right there (saves time), but don’t import textures, don’t autogenerate colision.
  • After import go to mesh edit, under Static Mesh Settings find Lightmap Coordinate Index, set it to 1 for the second UV layer, adjust your lightmap resolution
  • Create materials etc.
  • Profit

Maybe it would be a time saver to create a Python script that wraps the exporter and handles all the stuff in Blender. I think you could automate parts of it.

Left: Tree leaves UV layout complete
Right: Zoom in - tiny UVs
441924463a9ed1e61bc005d25ad0c8966a792ca8.jpeg

The lightmapping UVs still give me a bit of a hard time, although the above helped me to bring down the error from 95% to 1.5%. I was unable to find a proper tutorial or docs about this - at least one that I could understand.
The mesh causing problems in this case is a tree with lots of leaves. Every leaf shares the same UV coords and the UVs are basically a square. For the lightmapping UV layer I used Blenders “Pack Islands” function that separates them into one none-overlapping UV layout with adjustable space in between. I think the problem is about the space and the lightmap resolution. I accidently set the resolution in UE4 to 8192 believing it was a pixel resolution - which completely crashed my system :smiley:

I’m using the latest Blender version 2.76 btw.

So I’m sorry for my inappropriate critics, I’m just a UE-noob. :wink: