Here’s something i wrote for my current client and for their internal knowledge. again, your mileage may still wary depending on the project and the needs of the client. and since the fbx exporter in blender has its issues, i’ve found that some people might do things differently. this works currently for me. really hoping that someday there is direct exporter for ue4. also note that the separating nose,fuselage, wing and tail is specific for this project. hope this helps.
Blender – Substance Painter – UE4 Pipeline
Method 1
- Blender under scene settings, Length to metric, unit scale to 0.01
- highpoly (sculpted, boxmodeled, mostly single meshes)
- Retopo lowpoly mesh (also will be the game asset
- Cage file (EXACT copy of lowpoly mesh, if changes are made to the lowpoly, the cage file needs to be remade) inflated to be slightly bigger than the highpoly
- Separate the nose, fuselage, wings and tail to their own objects
- Uv-unwrap on each low poly object
- Select all high poly objects and export using fbx exporter
- select all lowpoly objects export using fbx exporter
- Xnormal bake normal, ambient occulsion and curvature maps
- Substance painter -> import normal, ao and curvature
- Set up base lowpoly
- Set high poly model in project settings and the cage file. (dilation width 32, Match to “allways”, max frontal and rear distance to 0.007)
- Select world space normal, position and thickness and bake them
- Paint the model, create masks for color/emissive sets -> export to ue4 settings
- In blender, create armature for the separated objects, rotate all them to face X axis to be front
- Export lowpoly one by one using fbx exporter, applying rotation/scale
- In ue4 import everything with defaults
Method 2
- Blender under scene settings, Length to metric, unit scale to 0.01
- Highpoly (sculpted, box modeled, each object having a name and suffix of _high)
- Lowpoly/game asset mesh (each object following highpoly mesh objects and having same name with suffix of _low)
- Combine each low poly object that creates their bigger set ie. wings with texture atlas, uv-unwrap this set. Make sure you only have one uv-set on the objects
- Also have single material for wings, nose, fuselage and tail that is applied to their respectful parts (also can have separate material for engine glow)
- Select all high poly objects and export using fbx exporter
- select all lowpoly objects export using fbx exporter
- In substance painter
- Set up base lowpoly
- Set high poly model in project settings (dilation width 32, Match to “by mesh name”, max frontal and rear distance to 0.007) (see the suffix names match ones setup in blender)
- Bake the normal texture in substance painter,
- Paint details with height information
- Export the height information as normal map and bring it back to substance painter, use it for normal data
- Bake all the rest of the maps in substance except the normal map that now contains all the details.
- Create materials and finish texturing.
- Paint the model, create masks for color/emissive sets -> export to ue4 settings
- In blender, create armature for the separated objects, rotate all them to face X axis to be front
- Export lowpoly one by one using fbx exporter, applying rotation/scale
- In ue4 import everything with defaults