Why does my BSP have a hole in it?

I’ve tried several different ways of placing the brush and I also spent ages moving the entire map a few thousand squares away on the grid been as it was only on the one side, however the bug persists. The map is symmetrical and the exacts same BSP is on the opposite side perfectly fine whereas on the buggy side, it’s invisible in the editor and in play testing. You can also fall through it. I’ve tried rebuilding, reloading and it is beginning to really frustrate me as I’ve almost finished the geometry layout and I can’t complete it.

Hi SoparanoObject,

Unfortunately, BSPs are known to have issues like this. Especially if there are other BSPs that are intersecting them.

Since this is a floor pieces, can you tell me if it’s made of up multiple BSPs or one large one that has been stretched to fit the area?

The reason I ask is, BSPs are known to have more issues when they are larger pieces. Using smaller floor pieces and tiling them will potentially give you better results.

If this does not solve your issue you can always convert the BSP to a static mesh to alleviate some of the issues as Static Meshes are known to not cause issues like this. If you choose this option you’ll need to add collision to the mesh in the mesh editor/viewer and generate a lightmap to get rid of that requirement.

If you need, you can post any images of the issue and I may be able to point you in some other directions if these do not solve your issue.

Thank you!

Tim

Hi Tim
Here is a screenshot of one of the afflicted areas. As i said, it’s a symmetrical map and there are two of these areas on either side of the map, (4 in total) but only on the one side are they both faulty. I’ve selected three of the affected brushes on both sides of the map to highlight the difference (However, the ramp is also broken). I tried making them into static meshes as you suggested however I have no experience with them and I failed at adding collision.
The floor piece is a simple 500x500x100 box and it seems to be the floor that started the problems as the ramp and the roof above it were placed early on and I had no problems with them. The other wall piece was added after the problem.
Thanks,

Edit: You might be interested to know that i managed to fix the hole in all of the afflicted areas in the above picture by splitting the main hall (left of the floor tile) from one big tile to 6 smaller ones. However, despite being in the same place at the opposite end of the hall, the hole still exists on the other side. At least I’ve narrowed it down to one area :slight_smile:

Okay. So I managed to solve one side of the map by breaking down my central hall into 6 tiles. That got me thinking and i saved my map then one by one deleted every brush anywhere near the remaining error until it fixed. I finally found that deleting a brush a few hundred squares away made the faulty brush come back to normal and so i reloaded, deleted that same brush again and reproduced it in smaller tiles. Works fine atm although i have only just done it. Hope this helps anyone with the same problem.

Yeah, this is a known to happen with BSPs. This is why we have [Geometry 2.0 listed on our Trello UE4 Roadmap.][1] There is a lot of work that needs to go into getting them fixed and it will happen at some point but at the moment Geometry 2.0 is on our backlog/wishlist due to other more pressing features that are currently being worked on.

Definitely using smaller BSPs will give you less issues than others. Also making sure that other BSPs are not intersecting each other will save some headaches as well, even if it is working on one side it will sometimes cause issues on the other as you’re seeing.

Here are some steps to convert and add simple collision for your mesh within UE4:

Make a BSP Brush
Convert to Static Mesh in details panel: “Create Static Mesh”
a small window will pop up under this with a file path.
Change the name from “MyMesh” to a name you would like
Don’t freak out when this happens!

We’ll take care of the lightmap issue in a few steps.

Next locate the mesh in the content browser and open it in the Mesh viewer/editor
In the menu bar above select Collision
Choose the option “6DOP simplified collision” (This works well for any box type mesh)
You can choose the Collision button below the menu bar to see the green outline of your collision now.

Continued in next post…

Now to fix the lightmap issue: Brief background on this if you’re not familiar. For any static mesh that is not dynamic/movable will require a lightmap. This is a second UV channel only used for baking lighting information and shadows. To keep shadow issues from happening we’ll need to auto-generate one in UE4 to get rid of the issue.

In the menu bar go to “Window” > “Generate Unique UV” > a window will open in the details panel to the right > Use the defaults > Click Apply and you’ll be set for that. This will setup a rough Lightmap that will work for your purposes for the time being.

I hope this helps and gets you squared away. :slight_smile:

If you need any additional help please let me know!

Tim