I’m having an issue with BSP brushes in my level because when I launch my project on my Android device all the brushes become invisible but they still have their collision while on mobile preview inside Unreal everything works perfectly. I’ve checked that my device does render only static meshes but I wish that I could avoid converting all my brushes
Is it actually possible to use BSP geometry on mobile devices?
For Android, before a packaging, all BSP brushes converted to static mesh. But in some previous version of UE4, if you convert BSP to SM, then BSP converted without transformation. And it looks as if the BSP disappears. You need convert manually all your BSP to SM. BSP not used for gaming. It is use for design, prototyping and testing in Editor.
Thanks for answer!
I’ve already converted my BSP to static meshes but all of them have overlapping UVs by about 85% and do I have to fix this every time I convert my BSP? I know how to fix it, just asking if there is a way to avoid fixing it all the time.
What you mean overlapping UVs?
EU4 create report about overlapping, if SM not have secondary UV channel.
I create mesh with two box BSP (add an sub) and convert their to SM. UE4 create correct UV channel for Light Map. But you need manually fix Light Map Resolution. Open mesh in mesh editor and set needed Light Map Resolution data.
Actually I’ve written it a bit badly there but I’ve got a problem after building lighting as you can see on the screenshots below.
This is how it looks before building lighting (exactly the same as BSP).
And here you can see what happens after building lighting (walls are hidden here).
All my settings.
Should I merge BSP before I create an SM?
I’m fixing overlapping UVs like it is described here: https://answers.unrealengine.com/questions/29092/convert-brush-to-mesh-now-i-have-overlapping-uvs-h.html ,
because UV Channel 0 is extremely messy and gives this effect:
I’m getting a bit confused about all that. Everything works perfectly except of the map
Light Map Coordinate Index must be “0”. Why you set it to “1”? May be in this your problem?
"Lightmap Coordinates Index
By default, the first set of UVs (index 0) of a Static Mesh will be used when generating lightmaps for static lighting. This means the same set of coordinates that is used for applying materials to the mesh will also be used for lightmaps. This is quite often not ideal. One reason for this is that the UVs used for generating lightmaps need to be unique, meaning that each face of the mesh must not overlap any other face within the UV space.
The reason for this should be fairly obvious: if the faces share the same UV space, the portion of the lightmap corresponding to that space will be applied to both the faces. This can be great for diffuse and other textures as it allows the texture resolution to be higher for each face. It will result in inaccurate lighting, however. Static Meshes have a property called LightmapCoordinateIndex that allows a specific set of UVs to be used for lightmap generation. By setting this property to point to a set of UVs that are unique and properly set up for lightmaps, Static Meshes can enjoy the best of both worlds: better texture resolution for diffuse textures and accurate lighting from lightmaps."
I’ve set light map resolution to 64 and lightmap coordinate index to 1 and everything started working perfectly.
Thanks for help and time you’ve spent.