OracleForms11g

L1: Registered
Dec 1, 2017
14
16
Hi TF2maps,

I've been working for about 2 to 3 months on a payload map that has multiple hallways leading to big open areas.

In order to add some WOW, I've decided to add cured hallways (using this Valve tutorial) on some of them.

Using the arch tool was fine, the generated geometry was nice, no problems whatsoever...

However, when it came to texturing, problems happened : Even with the all-mighty alt, I was unable to properly align the textures (concrete/computerwall003e on RED and concrete/computerwall005a on BLU ) so that it looks seamless all across.

So, I've said : "Screw it, i'm doing this the hard way!" :mad:

By the look of it, the textures seems pretty much aligned, once I've toyed around with their coordinates.
But once computed, the lighting seems to be off and have an offset.

The thing is that it's only the lighting, not the actual texture, as I've used landmarks on the texture to help me align each textures to its neighbor...

Also, I've used smoothing groups of size 16 for all these corners and the connected straight walls...

There's some screenshots:

4D0557F95B5A1C66151A42A7CEC62D17AC8336BF

F3F3FA4A235B156637BF874E6347C36BE51F0632

D230013248DA1AA24B119B408B6DE3126C566C44

2409217E16A9C65B1CEA40A7DEEA16D8C7A68E07

9306D614B0AD052A3D22AAFF3A3295F9391F6D33

4A68F228D6DB2C635DAF4D182F0D91A9FC950F38

C71E299B4A4988E07C7993CE6F2C9F1F1767417E

62A3FE62D8D401C3457283A23D1728AEF4DAF78B

And here is a full compile log:

Code:
** 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:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.vmf"

Valve Software - vbsp.exe (Oct 14 2017)
8 threads
materialPath: C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf\materials
Loading C:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.vmf
ConVarRef mat_reduceparticles doesn't point to an existing ConVar
Patching WVT material: maps/pl_vapor/brick/blendcobbletocobblesnow001_wvt_patch
fixing up env_cubemap materials on brush sides...
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (1)
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 622 detail faces...done (0)
Merging details...done (0)
FixTjuncs...
PruneNodes...
WriteBSP...
done (1)
writing C:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.prt...Building visibility clusters...
done (0)
Creating default LDR cubemaps for env_cubemap using skybox materials:
   skybox/aestetics*.vmt
! Run buildcubemaps in the engine to get the correct cube maps.
Creating default HDR cubemaps for env_cubemap using skybox materials:
   skybox/aestetics*.vmt
! Run buildcubemaps in the engine to get the correct cube maps.
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 (1) (1202050 bytes)
Placing detail props : 0...1...2...3...4...5...6...7...8...9...10
Compacting texture/material tables...
Reduced 8790 texinfos to 3926
Reduced 403 texdatas to 305 (17862 bytes to 12687)
Writing C:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.bsp
Wrote ZIP buffer, estimated size 8663652, actual size 8600860
4 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:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor"

Valve Software - vvis.exe (Oct 14 2017)
8 threads
reading c:\program files (x86)\steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.bsp
reading c:\program files (x86)\steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.prt
1793 portalclusters
5048 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 (78)
Optimized: 7336 visible clusters (1.25%)
Total clusters visible: 588311
Average clusters visible: 328
Building PAS...
Average clusters audible: 1038
visdatasize:514651  compressed from 831952
writing c:\program files (x86)\steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.bsp
1 minute, 18 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:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor"

Valve Software - vrad.exe SSE (Oct 14 2017)

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

[56 texlights parsed from 'lights.rad']

[Reading texlights from 'c:\program files (x86)\steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.rad']
[7 texlights parsed from 'c:\program files (x86)\steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.rad']

Loading c:\program files (x86)\steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.bsp
Setting up ray-trace acceleration structure... Done (2.30 seconds)
12203 faces
11 degenerate faces
3071559 square feet [442304576.00 square inches]
0 Displacements
0 Square Feet [0.00 Square Inches]
12192 patches before subdivision
zero area child patch
161586 patches after subdivision
sun extent from map=0.000000
4205 direct lights
BuildFacelights:     0.. warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
.1...2...3...4...5...6...7...8...9...10 (192)
BuildVisLeafs:       0...1...2...3...4...5...6...7...8...9...10 (12)
transfers 15171364, max 959
transfer lists: 115.7 megs
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (1)
    Bounce #1 added RGB(1295369, 838099, 1078176)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #2 added RGB(450831, 264514, 341698)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #3 added RGB(178598, 89961, 112524)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #4 added RGB(72410, 32324, 39595)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #5 added RGB(32151, 12550, 14821)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #6 added RGB(14110, 4853, 5627)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #7 added RGB(6709, 2074, 2342)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #8 added RGB(3099, 854, 954)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #9 added RGB(1543, 395, 437)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #10 added RGB(738, 172, 190)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #11 added RGB(379, 85, 94)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #12 added RGB(186, 38, 43)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #13 added RGB(98, 20, 23)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #14 added RGB(49, 9, 11)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #15 added RGB(26, 5, 6)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #16 added RGB(13, 2, 3)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #17 added RGB(7, 1, 2)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #18 added RGB(4, 1, 1)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #19 added RGB(2, 0, 1)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #20 added RGB(1, 0, 0)
GatherLight:         0...1...2...3...4...5...6...7...8...9...10 (0)
    Bounce #21 added RGB(1, 0, 0)
Build Patch/Sample Hash Table(s).....Done<0.0402 sec>
FinalLightFace:      0.. warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
SampleRadial: Punting, Waiting for fix
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
warning - face vectors parallel to face normal. bad lighting will be produced
.1...2...3...4...5...6...7...8...9...10 (5)
FinalLightFace Done
788 of 3388 (23% of) surface lights went in leaf ambient cubes.
ThreadComputeLeafAmbient: 0...1...2...3...4...5...6...7...8...9...10 (33)
Writing leaf ambient...done
Ready to Finish

Object names       Objects/Maxobjs  Memory / Maxmem  Fullness
------------       ---------------  ---------------  --------
models                 166/1024         7968/49152    (16.2%)
brushes               3428/8192        41136/98304    (41.8%)
brushsides           26306/65536      210448/524288   (40.1%)
planes               15132/65536      302640/1310720  (23.1%)
vertexes             20194/65536      242328/786432   (30.8%)
nodes                 4848/65536      155136/2097152  ( 7.4%)
texinfos              3926/12288      282672/884736   (31.9%)
texdata                305/2048         9760/65536    (14.9%)
dispinfos                0/0               0/0        ( 0.0%)
disp_verts               0/0               0/0        ( 0.0%)
disp_tris                0/0               0/0        ( 0.0%)
disp_lmsamples           0/0               0/0        ( 0.0%)
faces                12203/65536      683368/3670016  (18.6%)
hdr faces                0/65536           0/3670016  ( 0.0%)
origfaces             8636/65536      483616/3670016  (13.2%)
leaves                5015/65536      160480/2097152  ( 7.7%)
leaffaces            15171/65536       30342/131072   (23.1%)
leafbrushes           7275/65536       14550/131072   (11.1%)
areas                   37/256           296/2048     (14.5%)
surfedges            90717/512000     362868/2048000  (17.7%)
edges                54789/256000     219156/1024000  (21.4%)
LDR worldlights       4205/8192       370040/720896   (51.3%)
HDR worldlights          0/8192            0/720896   ( 0.0%)
leafwaterdata            5/32768          60/393216   ( 0.0%)
waterstrips           1006/32768       10060/327680   ( 3.1%)
waterverts               0/65536           0/786432   ( 0.0%)
waterindices         16032/65536       32064/131072   (24.5%)
cubemapsamples         103/1024         1648/16384    (10.1%)
overlays               180/512         63360/180224   (35.2%)
LDR lightdata         [variable]    15357588/0        ( 0.0%)
HDR lightdata         [variable]           0/0        ( 0.0%)
visdata               [variable]      514651/16777216 ( 3.1%)
entdata               [variable]      528929/393216   (134.5%) VERY FULL!
LDR ambient table     5015/65536       20060/262144   ( 7.7%)
HDR ambient table     5015/65536       20060/262144   ( 7.7%)
LDR leaf ambient     30449/65536      852572/1835008  (46.5%)
HDR leaf ambient      5015/65536      140420/1835008  ( 7.7%)
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/89316    ( 0.0%)
pakfile               [variable]     8600860/0        ( 0.0%)
physics               [variable]     1202050/4194304  (28.7%)
physics terrain       [variable]           2/1048576  ( 0.0%)

Level flags = 0

Total triangle count: 31790
Writing c:\program files (x86)\steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.bsp
4 minutes, 6 seconds elapsed

** Executing...
** Command: Copy File
** Parameters: "C:\Program Files (x86)\Steam\steamapps\common\sourcesdk_content\tf\mapsrc\pl_vapor.bsp" "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf\maps\pl_vapor.bsp"


** Executing...
** Command: "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\hl2.exe"
** Parameters: -game "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf" -sw -dev -console -allowdebug +map "pl_vapor" -steam

A quick analysis on Interlopers.net only shows a zero area child patch error, which can't be related, as it only appears on time while the problems appears more than once...

This also means that there are no leaks. (But if there's one, it's completely invisible and probably un-fixable)


I've got several hypotheses on why this happens:
  1. I've used areaportals to seal those hallways, so I've made the straight walls world brushes and made enclosing world brushes shells (with nodraw textures inside) around the curved func_details. Maybe there's a difference on how each type of brush has its lighting calculated, which would really surprise me, as once geometry is drawn.
  2. Maybe those textures just LOOKS like there align, but they're actual not...
  3. I've also added tubes on my maps, and I've had problems texturing them too. So I've loaded up sdk_ctf_2fort.vmf (those sewers tubes seems nicely textured) and copied those textures coordinates to my tubes (using alt+right click) and just change the actual texture. This seemed to worked. Maybe I've got to do something similar with those corners? (BTW: those texture got weird coordinates... maybe someone at Valve already gone through what I'm going through?)
  4. Maybe the smoothing group won't include all of those faces due to angle and stuffs...
  5. Maybe it's my lighting sucks? (still WiP)
  6. I see this line a lot in the logs : warning - face vectors parallel to face normal. bad lighting will be produced. Maybe this has something to do with it... but i'm not sure...
Any help would be nice. I've searched everywhere (Google, Valve, YouTube, you name it !) and found nothing... :engiemeh:
 
Last edited:

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
What most likely happened is that you converted your curved parts to func_detail. VRAD refuses to create seamless lightmaps between brush entities and world brushes. You can partially fix this by converting the outside curves back into world brushes; VBSP can handle complex visleaves as long as they're convex. The inner corners will be more of a challenge. The only thing I can think to do is add your straight walls to the func_details and then cover them with nodraws.
 

OracleForms11g

L1: Registered
Dec 1, 2017
14
16
What most likely happened is that you converted your curved parts to func_detail. VRAD refuses to create seamless lightmaps between brush entities and world brushes. You can partially fix this by converting the outside curves back into world brushes; VBSP can handle complex visleaves as long as they're convex. The inner corners will be more of a challenge. The only thing I can think to do is add your straight walls to the func_details and then cover them with nodraws.

Hum, so there IS something i missed about VRAD...

Ok. I'll first try to set every corner as world brushes as a test.
If that doesn't work, then I'll probably make all walls func_details and add covers, just like I did for the corners.

=> :cap: Oracle will remember that...
 

OracleForms11g

L1: Registered
Dec 1, 2017
14
16
Yes. it did fix it. Thank you.

I'll probably create a cover for all straight walls directly to those corner.

P.S. : I've search the whole Valve wiki, and there was absolutely nothing on that.
That's quality Docs. I tell you what. :engieyay:
 
Last edited:

Tuaam

L6: Sharp Member
Jun 26, 2015
376
248
Hum, so there IS something i missed about VRAD...

Ok. I'll first try to set every corner as world brushes as a test.
If that doesn't work, then I'll probably make all walls func_details and add covers, just like I did for the corners.

=> :cap: Oracle will remember that...

Don't make all the walls func_details
 

OracleForms11g

L1: Registered
Dec 1, 2017
14
16
Don't make all the walls func_details

10000 leaks, chaos ensues.
Computers explodes, pets get skined alived,
All medics pockets snipers from now on,
The world is burning.

;)
 

henke37

aa
Sep 23, 2011
2,075
515
Cover the discrepancy with trim and props.
 

OracleForms11g

L1: Registered
Dec 1, 2017
14
16
Tada! :D

BB3D7128B7F0CF95E62453EDA0883B2B9BC6A58D
 

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
Looks like you're still having an issue with the inner curve. I expected this. You'll need to turn the lightmap scale down some. A good guideline, I think, is that if you switch your 3D preview pane to "3D Lightmap Grid" mode, each square has to be narrower than the brush face.