1. Forums
  2. Discord
  3. About Mapcore
  4. Patreon Supporters
  • Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. Mapcore
  2. Discussions
  3. Level Design

t-junction issues

  • Scoots1m
  • July 23, 2015 at 10:11 PM
  • Scoots1m
    • July 23, 2015 at 10:11 PM
    • #1

    Hi All!


    I've hit the t-junction limit on my map and I'm struggling to understand why I'm anywhere near it. I was hoping someone might be able to shed some light on how to get past this!

    I know that a t-junction occurs when a func_detail brush touches a world brush, I've spent a vast amount of time optimising my map to avoid this, here's what I've tried so far:

    • Moving func_detail brushes one unit away from any world brushes (used this a lot).
    • Using func_brush instead of func_detail when i cant use the technique above for aesthetic purposes. (I don't like doing this, i know func_brush is more expensive)
    • Use Propper to convert sections of your map into props. I've already used this heavily, I've converted a lot of my complex geometry into propper models.
    • Increase the Lightmap Scale - Not sure why this works, or if it even does. I'm using a lot of temporary textures and everything is already at 128/256.
    • Optimized my geometry where possible, e.g Used one brush where I've previously used multiple.


    I use a lot of instances in my map, most of which are models + a couple of func_detail brushes. I've tried compiling with only world brushes + instance vis groups toggled on the map, and that shows about 30% waterindices (as opposed to 0% without instances toggled on). However it should show 2-3% instead of 30%, as I've inspected the positioning of every single one of my instances and none of the func_detail brushes in the instances touch any world brushes. So I'm at a loss as to why any t junctions are even being created...


    I've func_detail'ed a huge chunk of the skybox on my map, none of which is touching a world brush, and that's still increased the number of t-junctions. This shouldn't be happening as its a floating batch of func_details nowhere near any world brushes.


    Does anyone have any experience with this?

    Thanks!

  • ElectroSheep
    • July 23, 2015 at 10:39 PM
    • #2

    Well on my experience, if you have made everything to counter t-junction overflow and you can't reduce the number of func details, it means that your map have too much func_details and a map too big.


    Looks like you've put optimization really far so I can't see another thing... :/

  • jackophant
    • July 24, 2015 at 12:02 AM
    • #3

    screenshots?

  • Scoots1m
    • July 24, 2015 at 10:43 AM
    • #4

    I've taken a handful of screenshots, but I'm not sure how much sense you'll be able to make from them!

    http://imgur.com/a/1eBW5


    One big cause is the CT side skybox http://imgur.com/a/1eBW5#10 . Anything beyond the small ledge (and horrible metal placeholder wall) you see in that screenshot is func_detail, it also wont be walked on by players. You can see by comparing it to the next screenshot that none of it touches a world brush http://imgur.com/a/1eBW5#11 , except the water and its floor, which I've moved one unit away from everything.


    I'm planning on moving it all to the skybox once i finish the T side skybox, but i cant even compile with it there to test for now.

  • Vaya
    • July 24, 2015 at 11:00 AM
    • #5

    [Blocked Image: http://i.imgur.com/N5WhlCR.gif]

    that's a crazy amount of funct_detail. maybe pre-fab and remove anything not in the gameplay area for now?

  • Vilham
    • July 24, 2015 at 11:06 AM
    • #6

    Probably not best to copy exactly the tobacco dock in a game, any location 1 for 1 in a game is a bad idea, not least because it probably won't play well.

  • laminutederire
    • July 24, 2015 at 11:26 AM
    • #7

    Is it me or your map is mainly a box visibility wise?

  • Scoots1m
    • July 24, 2015 at 11:40 AM
    • #8

    @veya, I've considered using propper to convert the skybox buildings into props, that will help but i didn't want to bump the map size up with models that were only getting used once.

    Vilham, I'm happy that someones recognized it ;) The layout isn't identical for the reason you stated, it wouldn't play well as the actual tobacco dock is gridlike. I loved the ironwork there, so i used that to style the map rather than just lifting the layout.

    laminutederire, The top layer is, the lower layer is more complex, but it doesn't need a skybox as its all underground.

  • Vaya
    • July 24, 2015 at 11:41 AM
    • #9

    remove the skybox building for now- get the playable area fixed then you can re-review the skybox :)

  • Scoots1m
    • July 24, 2015 at 11:48 AM
    • #10

    The playable area does work, its mostly the skybox that causes the issues.


    Saying that, I could always change a few func_details to func_brushes in the playable area, but i think that's only going to give me a small % off the waterindices count compared to what the skybox is causing.

  • jackophant
    • July 24, 2015 at 12:07 PM
    • #11

    I think props are what you need. I would have modelled those iron frames for the buildings and then filled in with glass. However, you don't have any real visibility blocking on the top layer which isn't good for performance either, and mainly glass buildings for gameplay are just... not great?

    What's your aim for this map exactly?

  • Scoots1m
    • July 24, 2015 at 12:25 PM
    • #12

    I've propper'ed the window frames in two of the buildings, but hadn't got around to doing it in the other two as i was considering just propper'ing the entire thing.


    The glass will have curtains and other props blocking player visibility, I'll then be adding some Nodraw world geometry behind them to add in some visleafs to help with performance.


    I'm aware there is still lots for me to do on the map, I've just not got that far yet due to the t junction issues :)

  • Vaya
    • July 24, 2015 at 12:42 PM
    • #13
    Quote from Scoots1m

    The playable area does work, its mostly the skybox that causes the issues.

    So simplify and remove this brushwork for now. Prefab your skybox brushwork and delete so you can fix the main body of the map.

  • jackophant
    • July 24, 2015 at 12:47 PM
    • #14

    What about using more displacements? Even if you just go as far as converting to displacement and not editing the shape?

  • Scoots1m
    • July 24, 2015 at 1:00 PM
    • #15

    I take it I would convert some of the touching brushes from func_detail into displacements?

    I've used displacements before, but only for its original use of deforming the brushes.


    I could hide/delete the skybox for now, but I'll have to come back to it eventually as its not solving the problem, just hiding it under the rug until i trip over it again later :)

  • Vaya
    • July 24, 2015 at 1:06 PM
    • #16

    a properly created skybox doesn't affect vis at all so I don't see how it would. The brush stuctures could be reduced to 1/16 size in a properly created 3d sky.

  • Scoots1m
    • July 24, 2015 at 1:55 PM
    • #17

    I misunderstood what you meant in your previous post, but yes you're right about that. I'll be doing the shrinking and moving once I'm happy with how it looks, my concern was due to not having tested it in-game, as I'm sure I've got a couple changes to make once i see how it looks.

  • Vaya
    • July 24, 2015 at 2:01 PM
    • #18

    make a separate .vmf with the brush work, your environment lighting entities, skybox settings and a spawn set roughly the correct distance away.


    It's a nasty way of doing it that you're attempting. this is the best 'fix' I can think of

  • Scoots1m
    • July 24, 2015 at 5:47 PM
    • #19

    Ok - I've moved the skybox out of the way for now into its own vmf, so i can focus on reducing some of the tjunctions in the playable part of the level.


    I tried experimenting with something, i compiled the map so i could note what % of waterindices I'd used, it was 70.1%:

    [Blocked Image: http://i.imgur.com/mZkWR2D.png]

    I then went into each of my instances and toggled off all the func_detail visgroups, then compiled it again. This gave me the 34.9% waterindices:

    [Blocked Image: http://i.imgur.com/JhaqWl3.png]

    I'm confused as to why the instances are even causing this to increase, as no T junctions are being created, as func details in the instances don't touch world brushes where they are situated in the level.

    I thought t junctions were only created when a func_detail touched(or overlapped) a world brush? Or are they created in other ways?

  • kinggambit
    • July 24, 2015 at 7:04 PM
    • #20
    Quote from Scoots1m

    I'm confused as to why the instances are even causing this to increase, as no T junctions are being created, as func details in the instances don't touch world brushes where they are situated in the level.

    I thought t junctions were only created when a func_detail touched(or overlapped) a world brush? Or are they created in other ways?

    Ah bummer man. I hit the exact same problem for my insurgency map a while ago. (those ugly pillars made of brushes were just eating away at the t-junc count)

    Luckily for me, removing/remaking complicated geometry, using propper, and converting func_details into func_brushes helped a lot.

    Did you try troubleshooting with visgroups and cordons? I eventually had to do that and it helped me figure out what areas were the culprits.


    THW has a nice tutorial on it (search for "troubleshoot") but essentially you just compile with visgroups turned off and systematically going through them. Apply the same method for cordoning off chunks of the map.

    IIRC, T-juncs are when either func_details or world geometry intersect.


    Good luck to ya! That error bugged the hell out of me for an entire week.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login
Discord

The Mapcore Discord is our lively IRC channel of the 2000s reborn. Chat about level design, gaming, and more.

Latest Posts

  1. About our archived forums

    Thrik
    June 30, 2026 at 2:12 PM
  2. Mapcore Discord

    mason_fan123
    June 24, 2026 at 8:52 PM
  3. [CS2] Valley

    Serialmapper
    June 22, 2026 at 11:56 AM
  4. Any of the old guard still around? D:

    Thrik
    June 20, 2026 at 10:11 PM
  5. Free Music / SFX Resource - Over 2500 Tracks

    Eric Matyas
    June 18, 2026 at 12:32 PM
  6. Pango [WIP]

    Elowen
    June 11, 2026 at 10:13 AM
  7. [CS2] Dvina

    Jeremy Rivera
    June 11, 2026 at 10:03 AM
  8. Bridges 2.0 by NEXSIDE, MAP SHOWCASE. ( Steam Workshop )

    MrTrane18
    June 1, 2026 at 7:46 PM
  9. Classic Maps Reborn For CS2

    SillySpaceCat
    May 31, 2026 at 10:33 PM
  10. [CS2] Dvina

    Pulbusha
    May 29, 2026 at 5:54 PM
  1. Privacy Policy
  2. Contact
Powered by WoltLab Suite™