Weird prop lighting bug

The Siphon

L6: Sharp Member
Mar 2, 2015
278
190
So I am making my first map that is not a test. It is in Alpha 1 and after I finish adding few lights and small tweaks it is ready to be uploaded on the forum.
But I have a problem with couple props. It does this on both sides of my koth map. I tried to make the light brighter, but did not work. Also here is the compile log:
** Executing...
** Command: "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\vbsp.exe"
** Parameters: -game "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf" "c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1"

Valve Software - vbsp.exe (Oct 8 2015)
8 threads
materialPath: C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf\materials
Loading c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1.vmf
ConVarRef mat_reduceparticles doesn't point to an existing ConVar
Patching WVT material: maps/koth_dust-tec_a1/nature/blendgroundtosnow001_wvt_patch
fixing up env_cubemap materials on brush sides...
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)
Processing areas...done (0)
Building Faces...done (0)
Chop Details...done (0)
Find Visible Detail Sides...
Merged 4 detail faces...done (0)
Merging details...done (0)
FixTjuncs...
PruneNodes...
WriteBSP...
done (0)
writing c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1.prt...Building visibility clusters...
done (0)
*** Error: Skybox vtf files for skybox/sky_dustbowl_01 weren't compiled with the same size texture and/or same flags!
Can't load skybox file skybox/sky_dustbowl_01 to build the default cubemap!
*** Error: Skybox vtf files for skybox/sky_dustbowl_01 weren't compiled with the same size texture and/or same flags!
Can't load skybox file skybox/sky_dustbowl_01 to build the default cubemap!
Finding displacement neighbors...
Finding lightmap sample positions...
Displacement Alpha : 0...1...2...3...4...5...6...7...8...9...10
Building Physics collision data...
done (0) (221937 bytes)
Placing detail props : 0...1...2...3...4...5...6...7...8...9...10
Compacting texture/material tables...
Reduced 633 texinfos to 423
Reduced 29 texdatas to 28 (683 bytes to 655)
Writing c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1.bsp
0 seconds elapsed

** Executing...
** Command: "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\vvis.exe"
** Parameters: -game "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf" "c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1"

Valve Software - vvis.exe (Oct 8 2015)
8 threads
reading c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1.bsp
reading c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1.prt
697 portalclusters
1984 numportals
BasePortalVis: 0...1...2...3...4...5...6...7...8...9...10 (0)
PortalFlow: 0...1...2...3...4...5...6...7...8...9...10 (35)
Optimized: 2034 visible clusters (0.94%)
Total clusters visible: 216631
Average clusters visible: 310
Building PAS...
Average clusters audible: 659
visdatasize:121006 compressed from 122672
writing c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1.bsp
35 seconds elapsed

** Executing...
** Command: "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\vrad.exe"
** Parameters: -game "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf" "c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1"

Valve Software - vrad.exe SSE (Oct 8 2015)

Valve Radiosity Simulator
8 threads
[Reading texlights from 'lights.rad']
unknown light specifier type - lights

[56 texlights parsed from 'lights.rad']

Loading c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1.bsp
Setting up ray-trace acceleration structure... Done (0.63 seconds)
2156 faces
822756 square feet [118476976.00 square inches]
16 Displacements
81493 Square Feet [11735040.00 Square Inches]
2156 patches before subdivision
73936 patches after subdivision
sun extent from map=0.087156
13 direct lights
BuildFacelights: 0...1...2...3...4...5...6...7...8...9...10 (5)
BuildVisLeafs: 0...1...2...3...4...5...6...7...8...9...10 (3)
transfers 5626919, max 550
transfer lists: 42.9 megs
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #1 added RGB(480849, 338743, 295589)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #2 added RGB(91697, 60565, 53942)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #3 added RGB(20695, 13278, 11929)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #4 added RGB(4846, 3015, 2799)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (1)
Bounce #5 added RGB(1207, 738, 703)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #6 added RGB(307, 183, 181)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #7 added RGB(80, 47, 48)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #8 added RGB(21, 12, 13)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #9 added RGB(6, 3, 4)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #10 added RGB(2, 1, 1)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #11 added RGB(0, 0, 0)
Build Patch/Sample Hash Table(s).....Done<0.0178 sec>
FinalLightFace: 0...1...2...3...4...5...6...7...8...9...10 (1)
FinalLightFace Done
0 of 0 (0% of) surface lights went in leaf ambient cubes.
ThreadComputeLeafAmbient: 0...1...2...3...4...5...6...7...8...9...10 (3)
Writing leaf ambient...done
Ready to Finish

Object names Objects/Maxobjs Memory / Maxmem Fullness
------------ --------------- --------------- --------
models 26/1024 1248/49152 ( 2.5%)
brushes 532/8192 6384/98304 ( 6.5%)
brushsides 3808/65536 30464/524288 ( 5.8%)
planes 1640/65536 32800/1310720 ( 2.5%)
vertexes 3705/65536 44460/786432 ( 5.7%)
nodes 1640/65536 52480/2097152 ( 2.5%)
texinfos 423/12288 30456/884736 ( 3.4%)
texdata 28/2048 896/65536 ( 1.4%)
dispinfos 16/0 2816/0 ( 0.0%)
disp_verts 1296/0 25920/0 ( 0.0%)
disp_tris 2048/0 4096/0 ( 0.0%)
disp_lmsamples 180496/0 180496/0 ( 0.0%)
faces 2156/65536 120736/3670016 ( 3.3%)
hdr faces 0/65536 0/3670016 ( 0.0%)
origfaces 1293/65536 72408/3670016 ( 2.0%)
leaves 1667/65536 53344/2097152 ( 2.5%)
leaffaces 2467/65536 4934/131072 ( 3.8%)
leafbrushes 1341/65536 2682/131072 ( 2.0%)
areas 2/256 16/2048 ( 0.8%)
surfedges 15244/512000 60976/2048000 ( 3.0%)
edges 9286/256000 37144/1024000 ( 3.6%)
LDR worldlights 13/8192 1144/720896 ( 0.2%)
HDR worldlights 0/8192 0/720896 ( 0.0%)
leafwaterdata 0/32768 0/393216 ( 0.0%)
waterstrips 185/32768 1850/327680 ( 0.6%)
waterverts 0/65536 0/786432 ( 0.0%)
waterindices 2907/65536 5814/131072 ( 4.4%)
cubemapsamples 0/1024 0/16384 ( 0.0%)
overlays 17/512 5984/180224 ( 3.3%)
LDR lightdata [variable] 2245408/0 ( 0.0%)
HDR lightdata [variable] 0/0 ( 0.0%)
visdata [variable] 121006/16777216 ( 0.7%)
entdata [variable] 25420/393216 ( 6.5%)
LDR ambient table 1667/65536 6668/262144 ( 2.5%)
HDR ambient table 1667/65536 6668/262144 ( 2.5%)
LDR leaf ambient 8826/65536 247128/1835008 (13.5%)
HDR leaf ambient 1667/65536 46676/1835008 ( 2.5%)
occluders 0/0 0/0 ( 0.0%)
occluder polygons 0/0 0/0 ( 0.0%)
occluder vert ind 0/0 0/0 ( 0.0%)
detail props [variable] 1/12 ( 8.3%)
static props [variable] 1/15914 ( 0.0%)
pakfile [variable] 501/0 ( 0.0%)
physics [variable] 221937/4194304 ( 5.3%)
physics terrain [variable] 822/1048576 ( 0.1%)

Level flags = 0

Total triangle count: 5694
Writing c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1.bsp
13 seconds elapsed

** Executing...
** Command: Copy File
** Parameters: "c:\users\rasmus korhonen\desktop\source sdk -mapping\maps\tf2\koth_dust-tec\alpha\a1\koth_dust-tec_a1.bsp" "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf\maps\koth_dust-tec_a1.bsp"


PS. If there are any other errors in the compile I would love to know about them. The level has no leaks so that should not be a problem. Thank you !


4EwiGoJ.jpg
 

killohurtz

Distinction in Applied Carving
aa
Feb 22, 2014
1,016
1,277
This happens when the prop's origin is buried in other geometry. All static props sample lighting from their origin by default, but there are a couple ways to change this:
  • Add an info_lighting or info_target in the middle of the room, open the prop's Properties, and set it as the Lighting Origin. This is a good temporary fix for alphas.
  • Use advanced lighting compile options. Best for late beta when you start putting real effort into detailing, since these increase compile time.
 

The Siphon

L6: Sharp Member
Mar 2, 2015
278
190
This happens when the prop's origin is buried in other geometry. All static props sample lighting from their origin by default, but there are a couple ways to change this:
  • Add an info_lighting or info_target in the middle of the room, open the prop's Properties, and set it as the Lighting Origin. This is a good temporary fix for alphas.
  • Use advanced lighting compile options. Best for late beta when you start putting real effort into detailing, since these increase compile time.
thank you so much.
Also does the advanced lighting options work by creating a new option and type $light_exe in the top bar and on bottom the light options:
-lights -staticproppolys -textureshadows -staticproplighting
 

Tumby

aa
May 12, 2013
1,084
1,192
You already have a "$light_exe"; all you need to do is add them to the existing one. Also, "-lights" needs a file specified afterwards; if you don't have one and also dont plan on having one, remove "-lights" alltogether.

Have you used game startup commands before? It's literally the same thing. The last of the programs is actually the game itself with a bunch of commands.
 

The Siphon

L6: Sharp Member
Mar 2, 2015
278
190
You already have a "$light_exe"; all you need to do is add them to the existing one. Also, "-lights" needs a file specified afterwards; if you don't have one and also dont plan on having one, remove "-lights" alltogether.

Have you used game startup commands before? It's literally the same thing. The last of the programs is actually the game itself with a bunch of commands.
Never used them before since this will be my first non-test map and my 3rd or 4th map ever made. But thanks for the info !
 

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
A better idea is to just make those stairs out of brushwork. Having to embed a prop deep into a wall or floor because what you really want is a completely different prop is a good sign that you shouldn't be using it.
 

worMatty

Repacking Evangelist
aa
Jul 22, 2014
1,257
999
I don't think that's fair. The single prop_static used in this way is cheaper than building a half staircase from brushes. It helps lower the number of brush sides in the map. If one uses an external origin for lighting, or the staticproplighting parameter, and the resulting lighting is as good as a brush staircase, then it is the most efficient solution. Manipulating the position and rotation of models to fit your needs is quite clever. You can get the result you need without having to make a new model. I have seen this done in Valve's maps.

The only problem here is that the 'bottom' step looks like it lines up with the floor at 64 units height. The mapper would need to try adjusting the vertical position of the prop, or raise the floor slightly or use some thematic decoration such as a concrete foundation.
 
Mar 23, 2013
1,013
347
Then again, the whole staicase is rendered even if its halfway in the ground, which is a bit unoptimized. Nothing too serious in this case but you should be aware of it if you put biger props half way in a brush
 

tyler

aa
Sep 11, 2013
5,102
4,621
It should still be brushwork or a smaller prop. Burying something in the ground like that isn't good.
 

killohurtz

Distinction in Applied Carving
aa
Feb 22, 2014
1,016
1,277
"Isn't good"? Can you elaborate? I think Matty raises a good point about the processing cost of a model vs. brushwork. At the very least, there is no reason a mapper shouldn't use convenient, pre-fabricated stair models as placeholders while their map moves through alpha.
 

tyler

aa
Sep 11, 2013
5,102
4,621
If that's the stair prop I think it is, it's really big, which means players are rendering a lot of a model but actually seeing very little of it. I don't really know why Matty thinks it's cheaper; probably a small brush based staircase would be better than that prop. And brush sides aren't really something you need to conserve in alpha, and if you do need to, you can use a basic ramp. Actually if you're struggling with brush sides limits in alpha, you're already in trouble.

It's true that you can cleverly rotate and sink props into brushwork to create new effects, but I don't think chopping 80% off a very tall staircase is a clever usage. Just use a different staircase. That one is almost just a Propper staircase anyway, it's not like brushes can't match it.