Missing textures in Propper models

protist ❀

L1: Registered
Jun 22, 2016
5
0
Hey guys,

I've been working on a map for a while now that has a bunch of really smooth brushwork and surf ramps. Obviously, this is havoc for the brush/plane limits so I've been trying to turn a bunch of the most expensive brushes into models with Propper. At first this question was going to be about missing textures as in the picture below.

D2xJqke.png


The brush version is on the right and the model on the left. Some of the textures are showing correctly on the model (the gray side) but the red and white textures are missing.

As I was writing this I thought of a potential fix and added the vtf files for the missing textures to the materials/models/map_name/model_name folders that Propper put some vmt files in. This didn't help so I deleted ALL files related to the models and their textures and tried to recompile.

Now I can't even get Propper to compile them anymore! I changed nothing but now when I compile I'm getting FindPortalSide errors on a lot of brushes in the propper_models.

Code:
** Executing...
** Command: propper.exe -game "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf" "c:\program files (x86)\steam\steamapps\common\team fortress 2\sourcesdk_content\tf\mapsrc/jump_academy_freestyle_b5_propper"
** Parameters:

Propper 0.32. Originally written by Carl Foust, fixed and compiled for SDK Base 2013 by tuxxi. Adapted from vbsp.exe by Valve Software. (May 25 2016)
4 threads
materialPath: C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf\materials
Loading c:\program files (x86)\steam\steamapps\common\team fortress 2\sourcesdk_content\tf\mapsrc/jump_academy_freestyle_b5_propper.vmf
ConVarRef mat_reduceparticles doesn't point to an existing ConVar
Patching WVT material: maps/jump_academy_freestyle_b5_propper/nature/blendgroundtograss007_wvt_patch
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (0)
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (0)
Chop Details...done (0)
Find Visible Detail Sides...
Merged 482 detail faces...done (0)
Merging details...done (1)
WARNING: node without a volume

FindPortalSide: Couldn't find a good match for which brush to assign to a portal near (-2638.9 2398.6 -2652.4)
Leaf 0 contents: CONTENTS_SOLID
Leaf 1 contents:
viscontents (node 0 contents ^ node 1 contents): CONTENTS_SOLID
This means that none of the brushes in leaf 0 or 1 that touches the portal has CONTENTS_SOLID
Check for a huge brush enclosing the coordinates above that has contents CONTENTS_SOLID
Candidate brush IDs: Brush 304309:


FindPortalSide: Couldn't find a good match for which brush to assign to a portal near (-2638.1 2399.0 -2600.0)
Leaf 0 contents:
Leaf 1 contents: CONTENTS_SOLID
viscontents (node 0 contents ^ node 1 contents): CONTENTS_SOLID
This means that none of the brushes in leaf 0 or 1 that touches the portal has CONTENTS_SOLID
Check for a huge brush enclosing the coordinates above that has contents CONTENTS_SOLID
Candidate brush IDs: Brush 304309:


FindPortalSide: Couldn't find a good match for which brush to assign to a portal near (-2635.9 2400.2 -2663.5)
Leaf 0 contents:
Leaf 1 contents: CONTENTS_SOLID
viscontents (node 0 contents ^ node 1 contents): CONTENTS_SOLID
This means that none of the brushes in leaf 0 or 1 that touches the portal has CONTENTS_SOLID
Check for a huge brush enclosing the coordinates above that has contents CONTENTS_SOLID
Candidate brush IDs: Brush 304309:

WARNING: BSP node with unbounded volume (material: <NO BRUSH>, near (-2863.468750, 65535.914063, 3356.226563))
WARNING: BSP node with unbounded volume (material: <NO BRUSH>, near (-2863.202881, 368.035156, 3356.604736))

FindPortalSide: Couldn't find a good match for which brush to assign to a portal near (-1795.1 314.3 3785.1)
Leaf 0 contents: CONTENTS_SOLID
Leaf 1 contents:
viscontents (node 0 contents ^ node 1 contents): CONTENTS_SOLID
This means that none of the brushes in leaf 0 or 1 that touches the portal has CONTENTS_SOLID
Check for a huge brush enclosing the coordinates above that has contents CONTENTS_SOLID
Candidate brush IDs: Brush 411834:


FindPortalSide: Couldn't find a good match for which brush to assign to a portal near (-2397.3 325.7 3752.6)
Leaf 0 contents: CONTENTS_SOLID
Leaf 1 contents:
viscontents (node 0 contents ^ node 1 contents): CONTENTS_SOLID
This means that none of the brushes in leaf 0 or 1 that touches the portal has CONTENTS_SOLID
Check for a huge brush enclosing the coordinates above that has contents CONTENTS_SOLID
Candidate brush IDs: Brush 411881:


FindPortalSide: Couldn't find a good match for which brush to assign to a portal near (-2361.1 291.4 3767.4)
Leaf 0 contents: CONTENTS_SOLID
Leaf 1 contents:
viscontents (node 0 contents ^ node 1 contents): CONTENTS_SOLID
This means that none of the brushes in leaf 0 or 1 that touches the portal has CONTENTS_SOLID
Check for a huge brush enclosing the coordinates above that has contents CONTENTS_SOLID
Candidate brush IDs: Brush 411881:


FindPortalSide: Couldn't find a good match for which brush to assign to a portal near (-2785.9 282.8 3456.4)
Leaf 0 contents: CONTENTS_SOLID
Leaf 1 contents:
viscontents (node 0 contents ^ node 1 contents): CONTENTS_SOLID
This means that none of the brushes in leaf 0 or 1 that touches the portal has CONTENTS_SOLID
Check for a huge brush enclosing the coordinates above that has contents CONTENTS_SOLID
Candidate brush IDs: Brush 411929:


FindPortalSide: Couldn't find a good match for which brush to assign to a portal near (-2743.6 291.4 3494.9)
Leaf 0 contents:
Leaf 1 contents: CONTENTS_SOLID
viscontents (node 0 contents ^ node 1 contents): CONTENTS_SOLID
This means that none of the brushes in leaf 0 or 1 that touches the portal has CONTENTS_SOLID
Check for a huge brush enclosing the coordinates above that has contents CONTENTS_SOLID
Candidate brush IDs: Brush 411929:

*** Suppressing further FindPortalSide errors.... ***
HashVec: point outside valid range

There are no Area Portals in the map and there are no leaks (I tried centering all origins just in case). I can't compile it regularly now either because I've reached MAX_MAP_PLANES which is also weird because I have a compiled version of the map from before these Propper escapades.

I've spent a lot of time googling but I was unable to find a solution for the problem, can anyone here help me?
 

BenCo

L5: Dapper Member
Dec 30, 2015
242
135
warning: bsp node with unbounded volume (material: , near (-2863.468750, 65535.914063, 3356.226563))
Description:
vbsp is having a hard time figuring out your level, it seems to have found a part of your level that is infinite in size. This is, offcourse, invalid

Solution:
Look near the coordinates given. It is likely that you either need to func_detail a lot of brushes in that area, or that you have an invalid brush somewhere (Alt-p in hammer to check for them). It may be pretty difficult to hunt down the exact problem though.


This error will cause your map to fail compiling correctly

Last contribution: zombie@computer

findportalside: couldn't find a good match for which brush to assign to a portal near (-2638.9 2398.6 -2652.4)
Description:
This error is usually followed by something like this:

Leaf 0 contents:(may vary)
Leaf 1 contents: CONTENTS_SOLID (may vary, e.g. CONTENTS_WATER)
viscontents (node 0 contents ^ node 1 contents): CONTENTS_SOLID (ditto)
This means that none of the brushes in leaf 0 or 1 that touches the portal
has CONTENTS_SOLID
Check for a huge brush enclosing the coordinates above that has contents
CONTENTS_SOLID
Candidate brush IDs: [none or more brushnumbers]
Usually, this error is caused by a leak, so fix it if it is.
If it isn't, there is a (group of) brush(es) that is/are giving vbsp.exe a hard time to figure out your level.
Apparently it cannot determine the boundaries of a certain portal. Maybe there is a large brush covering the area, maybe the area is just to complicated for poor vbsp to figure out.

I don't know the details but usually turning entities to world brushes or vice-versa helps to fight the problem. Hell, just cutting a brush in two once helped me fight this problem.

Solution:
Find the given coordinates (or if a brush number is given search for the brush number) and see what you can do to to simplify the area (like turning brushes to func_detail). You should also check to see if the brushes are overlapping at any point.

See also:
Smurfy

warning: node without a volume
Description:
Your map has a node without a volume. (a node is what a clipnode was in hl1, in other words a volume denoting where the player can get to and where not.)

Solution:
Unless you just did some vertex-manipulation or placed static props in a wall, or added a funky new displacement, you shouldn't hunt this error down, as it may take you ages to find, unless you get strange effects in your map. Just fix (simplify) the awkward gemetry if you find it. May also be the sign of an invalid brush, or simply vertices offgrid (unlikely?).

See also:
Anonymous

hashvec: point outside valid range
Description:
Your map is too big (you have brush(es) too near to the edge of the grid) or you have invalid brushes.

Solution:
If the problem-checker in Hammer (alt+p) doesn't find any offending brush(es), and you can't see brushes near the edge of the grid, you should use the cordon tools or visgroups to find them.

See also:
Anonymous

I just checked on http://www.interlopers.net/errors/
 

protist ❀

L1: Registered
Jun 22, 2016
5
0
Just realized my title is not too related to my question lol...

Anyway, first of all I poked around the map looking at the locations of the unbounded volumes and found they were both on the same line. I tried to box select over the line all the way to the void but there was no brush. However, I did find and delete a weird extra propper_model instance in the entity report that didn't seem to be tied to anything. I don't know if this is the exact thing that solved the problem (I tried a lot of stuff) but now the unbounded volume errors are gone.

I also tried compiling each prop one at a time and I managed to get 4 out of 5 of the props compiled correctly. It seemed that the error was related to the last brushes I wanted to propperize. I returned them to the world, copy-pasted them around, recreated the propper_model, and tried my luck again. This time when compiled in isolation, despite the same FindPortalSide errors still in console, propper actually created the model!

The issue I'm running into now is with the collision boxes. The physics box isn't "shrink wrapped" to my brushes it's just an invisible box around the entire prop. (they're not quite boxes, there's some irregular parts to them but in any case they are not shrink wrapped!) I've got the collisions option set to Use VPhysics and I've tried compiling the propper_models with concave collisions on yes and no but it seemed to make no difference.

Anyone know how I can get the collision masks nice and clingy? Is it something in the qc files maybe?

Here's what mine look like now:
Code:
$staticprop
$modelname "props/custom/freestyle_halfpipe"
$scale "1.000000"
$body "Body" "freestyle_halfpipe_ref"
$cdmaterials "models/props/custom/freestyle_halfpipe"
$sequence idle "freestyle_halfpipe_ref"
$surfaceprop "concrete"
$collisionmodel "freestyle_halfpipe_phys"  {
    $automass
}
 

Frosty Scales

L2: Junior Member
Mar 22, 2015
93
30
Just realized my title is not too related to my question lol...

Anyway, first of all I poked around the map looking at the locations of the unbounded volumes and found they were both on the same line. I tried to box select over the line all the way to the void but there was no brush. However, I did find and delete a weird extra propper_model instance in the entity report that didn't seem to be tied to anything. I don't know if this is the exact thing that solved the problem (I tried a lot of stuff) but now the unbounded volume errors are gone.

I also tried compiling each prop one at a time and I managed to get 4 out of 5 of the props compiled correctly. It seemed that the error was related to the last brushes I wanted to propperize. I returned them to the world, copy-pasted them around, recreated the propper_model, and tried my luck again. This time when compiled in isolation, despite the same FindPortalSide errors still in console, propper actually created the model!

The issue I'm running into now is with the collision boxes. The physics box isn't "shrink wrapped" to my brushes it's just an invisible box around the entire prop. (they're not quite boxes, there's some irregular parts to them but in any case they are not shrink wrapped!) I've got the collisions option set to Use VPhysics and I've tried compiling the propper_models with concave collisions on yes and no but it seemed to make no difference.

Anyone know how I can get the collision masks nice and clingy? Is it something in the qc files maybe?

Here's what mine look like now:
Code:
$staticprop
$modelname "props/custom/freestyle_halfpipe"
$scale "1.000000"
$body "Body" "freestyle_halfpipe_ref"
$cdmaterials "models/props/custom/freestyle_halfpipe"
$sequence idle "freestyle_halfpipe_ref"
$surfaceprop "concrete"
$collisionmodel "freestyle_halfpipe_phys"  {
    $automass
}
Not sure if I understand exactly, but did you make the collision model in hammer and set it before compiling with Propper?
 

protist ❀

L1: Registered
Jun 22, 2016
5
0
I set the name and physics mesh of the propper_model to the same thing so that it would use itself as a collision model. When propper compiled the prop it spat out a couple extra phys files which should be the collision mesh I think...
 

Frosty Scales

L2: Junior Member
Mar 22, 2015
93
30
I set the name and physics mesh of the propper_model to the same thing so that it would use itself as a collision model. When propper compiled the prop it spat out a couple extra phys files which should be the collision mesh I think...
Perhaps try manually setting it by copying the brushes, replacing every texture with skip, placing it in the exact same place as the original, and then set that one as the collision model. I'd be more precise about what I mean, but i haven't used propper in a long time so this is all from memory.
 

protist ❀

L1: Registered
Jun 22, 2016
5
0
I gave it a try but it didn't help at all, the collision models are still pretty much the same. As an example, the prop in the picture in the OP is a big ol' invisible triangle that the player can walk up. I copied it in the same spot and tried compiling with the second version as the physics mesh textured in both skip and nodraw but either way propper still decided to just put a big invisible triangle around it.