How do I resolve, or fix them?!
This is now going to simply be a list of work around’s that I have found to resolve, or alleviate the problem… If you were hoping for a ‘Fix Orphaned Polygons’ button I am afraid you & I are sadly out of luck… (note to self: Invent ‘Fix Orphaned Polygons’ button and become millionaire!! LOL)
Firstly, I begin by changing any brushes that I have specified to be detail brushes and switch them back to worldspawn brushes. The idea behind detail brushes is simple… they tell the BSP tree to not do any slicing. Which to my mind sounds great in reducing orphans, but I have noticed it increasing the chances of them occurring.
Secondly, I go into Max and check that all verts are sitting at a round coordinate. Basically if a vert is sitting at x = 6.77, y = 4.53 and z = 8.456… then I will suspect that that could be the cause. Its best to keep the verts on brushes at round figures… so x = 7, y = 5 and z = 8
Thirdly I make 100% sure that every brush has had its pivot centred and the xform reset & then converted to Edit Mesh.
Forth, and this is a hard one because I have no hard and fast rule for it. Basically two brushes sitting next to each other can effect each other dependent on the adjacent faces angle. (this will not be visible in max)
Image A – Shows two brushes making up a flat surface, this should not suffer from orphan polys
Image B – Shows a brush slightly angled off of the 180 degree plane. It is this subtlety in the angle that can create orphans.
Image C – Shows an increased angle between brushes. This increased angle has proven to reduce the number of orphaned polys, however something else to be aware of is that changing the angle on one brush affects other brushes next it!
You’re probably wondering what’s the angle threshold, between Image B & C?! Very good question, and I actually cannot accurately tell you. It seems to vary!
Lastly and probably the most guaranteed way of fixing an orphaned or any buggy brush for that matter is to simply place it in another DIF, that is then placed to accurately line up in the engine. I always have an extra DIF around that is simply kept available for those random brushes that freak out!
Well I hope that these tips certainly help you in your debugging & fixing of Orphaned Polygons!!!
Part 1 – What Are Orphaned Polygons
Part 2 – How do I find them?
Part 3 – How do I resolve, or fix them?!