Portal Flow Taking very long time
Quote from quaternary on April 15, 2015, 4:11 pmYe 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.
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.
Quote from TeamSpen210 on April 16, 2015, 6:45 amIt 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.
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.
[spoiler]- BEE2 Addons | (BEE2)
- Hammer Addons
Maps:
- Crushed Gel
- Gel is Not Always Helpful[/spoiler]
Quote from Fracture on April 16, 2015, 10:24 pmi 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?!
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?!
Quote from TeamSpen210 on April 17, 2015, 3:11 amThat'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.
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.
[spoiler]- BEE2 Addons | (BEE2)
- Hammer Addons
Maps:
- Crushed Gel
- Gel is Not Always Helpful[/spoiler]
Quote from Fracture on April 17, 2015, 10:10 amand 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
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
Quote from Lpfreaky90 on April 17, 2015, 6:54 pmFracture 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!
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!