Hey guys.
So, I’ve been trying to get some simple models that I’ve made in Sketchup into UE4.
My workflow right now is:
Model in Sketchup
Set texturesize in sketchup to something appropriate for the model, so that material scaling isn’t ridiculous once in UE4
Export as FBX
Import FBX as static mesh
Place mesh in world and set up collisions.
Build lighting.
It’s this last step that throws everything off. Before I build lighting, the object looks great, the textures aren’t lined up prefect, but this is expected since Sketchup has no UV unwrapping. Still, it looks good/acceptable. Once I build lighting, the textures become a mess. If I have the model marked as movable, it continues to look fine.
Now, I would like this to be a static mesh as it will indeed be static, and could benefit from baked lighting. So I don’t just want to mark everything as movable as a workaround.
Movable:
Static:
I also get the “Object has overlapping UV’s” error when baking lighting with the mesh marked as static.
There isn’t anything wrong with your process you listed above. The problem lies with Sketchup not supporting UV unwrapping like you mentioned.
There is a reason the lighting becomes a “mess” when using static lights and that is because you need to have a second UV channel that is setup for Lightmaps. This is also the reason you get the warning for “Object has overlapping UVs.” Sketchups UVs overlap for the first (texture) UV. Since there is no second UV with your FBX import into UE4 it has to select the first UV as the lightmap which will cause shadows to bake on top of and in wrong places for your overlapped UVs. This is why you are seeing the messy texture.
There is a difference between movable (dynamic) lights and static (Non-movable).
Static lights use the second UV (lightmap channel) to bake shadow information so that it doesn’t have to do it at run-time. This means that the model and shadow have zero overhead on performance!
Dynamic lights, however, will cast a dynamic shadow so there is no second UV that is needed. The lights are casting shadows at run-time which can be a performance hit.