Area portal problems.

Discussion in 'Mapping Questions & Discussion' started by Ze Inspector, Apr 9, 2008.

  1. Ze Inspector

    Ze Inspector L1: Registered

    Messages:
    42
    Positive Ratings:
    0
    Hey all, So I'm working on the next beta of my map, and I've been spending a lot of time trying to optimize the beast to get vis to compile faster and so that it runs a bit smoother (though it runs ok now). After some hurdles I've managed to figure out hints (I think), and I thought I had area portals going well.

    However, I went through the map the other day and tracked down a number of brushes that could be func_details and did so. And there were a lot of them. I compiled it, had leaks, (no big surprise) tracked those down and sealed them off. I noticed in the compile logs during the leak hunt this message quite frequently.

    "Brush 658913: areaportal brush doesn't touch two areas"

    I figured this had to do with the leaks I had, as the "area" mentioned might be open to the exterior of the map due to the leak, but now I'm not getting any leak messages and I'm still getting those area portal errors. I've included the compile log. Please disregard the numerous cubemap errors, converting to func brushes seems to have created that problem but it's something I can take care of.

    -Thanks!


    ** Executing...
    ** Command: "c:\program files\steam\steamapps\midnightgrin\sourcesdk\bin\orangebox\bin\vbsp.exe"
    ** Parameters: -game "c:\program files\steam\steamapps\midnightgrin\team fortress 2\tf" "C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab"

    Valve Software - vbsp.exe (Mar 11 2008)
    2 threads
    materialPath: c:\program files\steam\steamapps\midnightgrin\team fortress 2\tf\materials
    Loading C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab.vmf
    Error! Variable "$detail" is multiply defined in material "concrete/wall024"!
    Error! Variable "$detailscale" is multiply defined in material "concrete/wall024"!
    fixing up env_cubemap materials on brush sides...
    env_cubemap pointing at deleted brushside near (-800, 403, 156)
    env_cubemap pointing at deleted brushside near (-1597, 477, 185)
    env_cubemap pointing at deleted brushside near (-1597, 477, 185)
    env_cubemap pointing at deleted brushside near (-1597, 477, 185)
    env_cubemap pointing at deleted brushside near (-1597, 477, 185)
    env_cubemap pointing at deleted brushside near (-1597, 477, 185)
    env_cubemap pointing at deleted brushside near (-1597, 477, 185)
    env_cubemap pointing at deleted brushside near (-1597, 477, 185)
    env_cubemap pointing at deleted brushside near (-1597, 477, 185)
    env_cubemap pointing at deleted brushside near (-2884, -396, 184)
    env_cubemap pointing at deleted brushside near (-2884, -396, 184)
    env_cubemap pointing at deleted brushside near (-2884, -396, 184)
    env_cubemap pointing at deleted brushside near (-2884, -396, 184)
    env_cubemap pointing at deleted brushside near (-3984, 1024, 140)
    env_cubemap pointing at deleted brushside near (-3984, 1024, 140)
    env_cubemap pointing at deleted brushside near (-3344, 1424, 16)
    env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
    env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
    env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
    env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
    env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
    env_cubemap pointing at deleted brushside near (-2288, 1448, 344)
    env_cubemap pointing at deleted brushside near (-1848, 833, 472)
    env_cubemap pointing at deleted brushside near (-1848, 833, 472)
    env_cubemap pointing at deleted brushside near (-1848, 833, 472)
    env_cubemap pointing at deleted brushside near (-2176, 162, 520)
    env_cubemap pointing at deleted brushside near (-2176, 162, 520)
    env_cubemap pointing at deleted brushside near (-2176, 162, 520)
    env_cubemap pointing at deleted brushside near (-2176, 162, 520)
    env_cubemap pointing at deleted brushside near (-2176, 162, 520)
    env_cubemap pointing at deleted brushside near (-2176, 162, 520)
    env_cubemap pointing at deleted brushside near (-2176, 162, 520)
    env_cubemap pointing at deleted brushside near (-2176, 162, 520)
    env_cubemap pointing at deleted brushside near (-2176, 162, 520)
    env_cubemap pointing at deleted brushside near (800, 444, 156)
    env_cubemap pointing at deleted brushside near (800, 444, 156)
    env_cubemap pointing at deleted brushside near (800, 444, 156)
    env_cubemap pointing at deleted brushside near (800, 444, 156)
    env_cubemap pointing at deleted brushside near (800, 444, 156)
    env_cubemap pointing at deleted brushside near (1597, 370, 185)
    env_cubemap pointing at deleted brushside near (1597, 370, 185)
    env_cubemap pointing at deleted brushside near (1597, 370, 185)
    env_cubemap pointing at deleted brushside near (1597, 370, 185)
    env_cubemap pointing at deleted brushside near (1597, 370, 185)
    env_cubemap pointing at deleted brushside near (1597, 370, 185)
    env_cubemap pointing at deleted brushside near (1597, 370, 185)
    env_cubemap pointing at deleted brushside near (1597, 370, 185)
    env_cubemap pointing at deleted brushside near (2884, 1244, 184)
    env_cubemap pointing at deleted brushside near (2884, 1244, 184)
    env_cubemap pointing at deleted brushside near (2884, 1244, 184)
    env_cubemap pointing at deleted brushside near (2884, 1244, 184)
    env_cubemap pointing at deleted brushside near (3984, -176, 140)
    env_cubemap pointing at deleted brushside near (3984, -176, 140)
    env_cubemap pointing at deleted brushside near (3344, -576, 16)
    env_cubemap pointing at deleted brushside near (3344, -576, 16)
    env_cubemap pointing at deleted brushside near (3344, -576, 16)
    env_cubemap pointing at deleted brushside near (1848, 14, 472)
    env_cubemap pointing at deleted brushside near (1848, 14, 472)
    env_cubemap pointing at deleted brushside near (1848, 14, 472)
    env_cubemap pointing at deleted brushside near (1848, 14, 472)
    env_cubemap pointing at deleted brushside near (1848, 14, 472)
    env_cubemap pointing at deleted brushside near (2176, 686, 520)
    env_cubemap pointing at deleted brushside near (2176, 686, 520)
    env_cubemap pointing at deleted brushside near (2176, 686, 520)
    env_cubemap pointing at deleted brushside near (2176, 686, 520)
    env_cubemap pointing at deleted brushside near (2176, 686, 520)
    env_cubemap pointing at deleted brushside near (2176, 686, 520)
    env_cubemap pointing at deleted brushside near (2176, 686, 520)
    env_cubemap pointing at deleted brushside near (2176, 686, 520)
    env_cubemap pointing at deleted brushside near (2176, 686, 520)
    env_cubemap pointing at deleted brushside near (-3504, 504, 152)
    Multiple references for cubemap on texture maps/secret_lab/concrete/concretefloor008_-3056_952_163!!!
    env_cubemap pointing at deleted brushside near (-3504, 504, 152)
    env_cubemap pointing at deleted brushside near (-3504, 504, 152)
    env_cubemap pointing at deleted brushside near (-3504, 504, 152)
    env_cubemap pointing at deleted brushside near (-4146, 13, 198)
    env_cubemap pointing at deleted brushside near (-4146, 13, 198)
    env_cubemap pointing at deleted brushside near (-4146, 13, 198)
    env_cubemap pointing at deleted brushside near (-4146, 13, 198)
    Multiple references for cubemap on texture maps/secret_lab/props/metalduct001a_-3288_20_488!!!
    Multiple references for cubemap on texture maps/secret_lab/props/metalduct001a_-3288_20_488!!!
    Multiple references for cubemap on texture maps/secret_lab/props/metalduct001a_3148_834_477!!!
    Multiple references for cubemap on texture maps/secret_lab/props/metalduct001a_3148_834_477!!!
    ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (4)
    ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (3)
    Processing areas...Wrote C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab.lin
    Areaportal leak ! File: C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab.lin
    Brush 658968: areaportal brush doesn't touch two areas

    Brush 658913: areaportal brush doesn't touch two areas

    Brush 658928: areaportal brush doesn't touch two areas

    Brush 658928: areaportal brush doesn't touch two areas

    Brush 658928: areaportal brush doesn't touch two areas

    Brush 658976: areaportal brush doesn't touch two areas

    Brush 257735: areaportal brush doesn't touch two areas

    Brush 257737: areaportal brush doesn't touch two areas

    Brush 257744: areaportal brush doesn't touch two areas

    Brush 257731: areaportal brush doesn't touch two areas

    Brush 257744: areaportal brush doesn't touch two areas

    Brush 257734: areaportal brush doesn't touch two areas

    Brush 257792: areaportal brush doesn't touch two areas

    Brush 257753: areaportal brush doesn't touch two areas

    Brush 257753: areaportal brush doesn't touch two areas
    done (0)
    Building Faces...done (0)
    Chop Details...done (1)
    Find Visible Detail Sides...
    Merged 2576 detail faces...done (3)
    Merging details...done (1)
    FixTjuncs...
    Too many t-junctions to fix up! (3303 prims, max 32768 :: 65550 indices, max 65536)


    ** Executing...
    ** Command: Copy File
    ** Parameters: "C:\Program Files\Steam\SteamApps\midnightgrin\sourcesdk_content\tf\mapsrc\secret_lab.bsp" "c:\program files\steam\steamapps\midnightgrin\team fortress 2\tf\maps\secret_lab.bsp"

     
  2. Armadillo of Doom

    aa Armadillo of Doom Group Founder, Lover of Pie

    Messages:
    949
    Positive Ratings:
    615
    The areaportal error has 2 possible causes. Either they are intersecting each other, thus trying to seal off multiple spaces, or they don't entirely seal off the area. So if you have the areaportal just floating in the middle of a room and can walk around it w/out crossing through, it's the former. And if they touch each other at all, it's the latter. Unless you're really sure that you need areaportals, I would advice waiting to use them. A nice way to check your vis is run the portal file after doing a full compile. This will show every single piece of the map, and how it's broken up. Hope this helps :)
     
    • Thanks Thanks x 1
  3. Ze Inspector

    Ze Inspector L1: Registered

    Messages:
    42
    Positive Ratings:
    0
    I see, so running the portal file will help me determine the "areas" in the map, and then with areaportal I can optimize those divisions? Just because I'm curious does adding further hints help to define those areas? Like if I had a large room with 4 exits and I wanted to put area portals on those exits, would I need to bysect the room into four parts?
     
  4. Paria

    Paria L5: Dapper Member

    Messages:
    202
    Positive Ratings:
    31
    areaportals really help if you have a map that you are able to portion off effectively, as far as adding hints in conjuction to area portals - i would be looking to make the hints at points where it delays the viewing of the areaportal till as late as possible

    i.e, if u have a doorway around a right angled corner - look to add a hint that means the next area you are approaching is rendered only when it needs to be.

    i've said it a couple of times in various posts but actually checking your areportals using the perfui - areportal tool helped me alot, you can actually see in game at which point you can see through the portal to the next area of your map, and this will help you see whtyher a hint is doing as you intended it to , or whether it would be better placed elsewhere.

    sv_cheats 1
    perfui
    area portal tool

    go have a look :D
     
    • Thanks Thanks x 2
  5. Spike

    Spike L10: Glamorous Member

    Messages:
    716
    Positive Ratings:
    82
    How do I open a "portal file"? I don't know what it is :S
     
  6. Ze Inspector

    Ze Inspector L1: Registered

    Messages:
    42
    Positive Ratings:
    0
    Well, the portal file or filename.prt should be created when you run vbsp, provided that you have no leaks in your map. I actually went to load it just now and discovered that mine isn't getting written, I'm not sure why. I'm doing some digging to see what's going wrong there.

    I also just ran the perfui command and wow, this thing is great! It's just what I was looking for to help me know where to put hints etc. Just amazingly helpful, thanks again Paria.