Portal Flow Taking very long time

Avatar
quaternary
171 Posts
Posted Apr 15, 2015
Replied 1 day later
Ye the point of the "Skip" texture is that you can't make brushes that are perfectly flat - they need to have some thickness to them.

Advertisement
Registered users don't see ads! Register now!
Avatar
TeamSpen210
608 Posts
Posted Apr 16, 2015
Replied 14 hours later
It might be useful to know how VMF files represent brushes internally. None of the corner locations of brushes are actually stored - brushes are saved as a set of planes, one for each face. A plane is basically a flat surface which extends indefinitely in all directions. To figure out the shape of a brush, Hammer / VBSP basically does a clip with every one of the planes. (Here's an animation.) This is actually why you can't have concave brushes (Hammer can't know what parts to keep), and why saving and reloading sub-unit brushwork can give you misaligned vertices (the planes get saved with an angle like 47.83738?, and the clips don't line up perfectly).

A skip-textured plane gets ignored during compiles. This is why you don't want to use skip on normal brushes - the other faces won't know where to stop, and probably extend themselves randomly until they run into another surface. This is OK for hint brushes, since you actually want the visleaf to be split entirely in all directions. Nodraw acts just like most other textures, except that it doesn't actually display any pixels ingame. (VVIS doesn't generate any lighting data for it to save space, but that doesn't affect anything). If you used it with hint brushes, it might probably still cause collisions with players or physics objects - stopping you from getting through the hallways!

In relation to having too many func_details, I noticed when looking through VBSP's code that it actually deletes all the func_details after computing the positions of visleaves, turning the brushes into regular world brushes.

Avatar
Fracture
797 Posts
Posted Apr 16, 2015
Replied 15 hours later
i decompiled some maps from some places and noticed that the elevator instances have giant skips that are place awkwardly behind them, while other areas have skips enveloping entire rooms. So whats the deal there?!
Avatar
TeamSpen210
608 Posts
Posted Apr 17, 2015
Replied 4 hours later
That's the other use for skip brushes. Since a brush entirely made of skip will be deleted during compile, it's useful for Hammer guides. The ones behind elevators are used to help ensure the logic and regular instances are lined up with one another.

Ones surrounding rooms or other things are used to provide an anchor, so moving them around won't position the room off-grid. This is mainly used with rotated things which normally have a 124.2728 width. Selecting the item as well as the skip brush lets you move them like they were the size of the (on-grid) skip brush since the slection bounding box surrounds the largest object.

Avatar
Fracture
797 Posts
Posted Apr 17, 2015
Replied 6 hours later
and here i thought that helped with compiling too.

either way i managed to knock it down from 12 hours to 5 minutes, so obviously i did something right. Thanks for the clarrification

Advertisement
Registered users don't see ads! Register now!
Avatar
Lpfreaky90
2,842 Posts
Posted Apr 17, 2015
Replied 8 hours later

Fracture wrote:
and here i thought that helped with compiling too.

either way i managed to knock it down from 12 hours to 5 minutes, so obviously i did something right. Thanks for the clarrification

Good job

My pro tip as well, keep the Line-of-sight in mind when you're making big maps, think of how you can add in those 90 degree turns to get the diagonal skips in!

Also when a compile is finished go to tools -> load portalfile and you'll see the areas that the vbsp made. These are your visleaves. Then hide everything, and show only world geometry, and look where you get silly visleaves, and find out what brushes cause them!