Jump to content
MikeGon

CS:GO - Shadows on slim surfaces are very dark

Recommended Posts

Hey guys!

Title says it all. Here's what I'm talking about:

2091444223_blacksurfacescopy.png.bdddb6ab1f6f718213cfa4cc53dd0b10.png

It looks like shit¬†ūüė£

This happens on faces that have a large surface that's in contact with another brush. These trims under the roofs there are a large, flat brushes that touch the brush below them.

 

I found a couple methods for approaching this, but all of them have major downsides:

  • Increasing Lightmap scale: Helps mitigating the issue, but doesn't fix it,¬†at the cost of larger shadowmaps
  • Adding a light source close to it:¬†Helps but difficult to justify most of the time, increases compile time
  • Split them into 4 parts, one for each side: Fixes the issue completely,¬†but¬†increases¬†brush count for¬†the map, which is dangerously close to the limit...

 

Have you guys seen this issue before? I don't remember seeing this on other maps in the past... 

Do you know a "golden solution" I'm not aware of? How would you approach this?

Help would be greatly appreciated‚̧ԳŹ

Cheers!

-Mike

Share this post


Link to post
Share on other sites

I don't know if it's a typo or if you acutally approached it incorrectly, but you might want to lower the Lightmap scale of such surfaces. Try values of 4 or 2 for such thin brushes. This should not be done for large brushes where only a tiny part is visible to the player tho.

My general advice however would be to replace some of these detailed brushes with trim or frame models. Especially, since you are scratching the brush limit already. BSP based detailing should not be a thing anymore. At least not of this magnitude.

For the "larger" surfaces like the downside of the roof, I would suggest splitting the brushes accordingly and adjust the lightmap scale if necessary.

Hope that helps!

Share this post


Link to post
Share on other sites

Agreed with polemin, but I'd give some of my advice. I was using this method in de_tangerine until I made everything in displacement. 

Make these brushes the "func_brush" entity, set ''Disable Shadows' to yes. Don't worry, it won't delete shadows completely it will only remove this kind of black shadows, this works well with foliage props too.

This works in 80% so I hope it will help you.

Share this post


Link to post
Share on other sites

The 3rd solution is the best (you should be banned from this website if you use the 2 others) It cost more brushes but reduce the memory usage from lighmaps.

Also you could probably replace those geometries by props (balcony_edge_trim for example)

Also if you merge several brushes together as one func_detail, the connected faces between the different brushes will disapeared.

Share this post


Link to post
Share on other sites

Wow¬†those¬†are great answers! Thank you so much!¬†ūüėĀ

 

On 8/31/2018 at 6:24 AM, poLemin said:

I don't know if it's a typo or if you acutally approached it incorrectly, but you might want to lower the Lightmap scale of such surfaces. Try values of 4 or 2 for such thin brushes. This should not be done for large brushes where only a tiny part is visible to the player tho.

My general advice however would be to replace some of these detailed brushes with trim or frame models. Especially, since you are scratching the brush limit already. BSP based detailing should not be a thing anymore. At least not of this magnitude.

Yes I did mean to increase the resolution of those lightmaps, but I never though about decreasing it- Great idea, I'll try that! 

It totally agree, BSP shouldn't be used for micro, looks horrible anyways. I didn't want to make too much custom art for this project since I want to focus on design, but it looks like I might have to, if I can't find a basic CSGO prop that looks decent...

 

On 8/31/2018 at 7:50 AM, Harry Poster said:

Make these brushes the "func_brush" entity, set ''Disable Shadows' to yes. Don't worry, it won't delete shadows completely it will only remove this kind of black shadows, this works well with foliage props too.

This works in 80% so I hope it will help you.ÔĽŅ

Neat trick! I do have this problem with some brushes that are already func_brush, I'll use that for those!

 

On 8/31/2018 at 10:15 AM, untor said:

mb convert to displacment? 

Is there some cost to that though? I'm surprised we are so limited with brushes, and not with¬†displacements even if they seem to be a lot¬†more complex...¬†ūü§Ē

 

On 8/31/2018 at 10:45 AM, ElectroSheep said:

Also if you merge several brushes together as one func_detail, the connected faces between the different brushes will disapeared.

Wow I didn't know that groups could have an impact on performance- I though it was only an editor tool... With this info I can now optimize a lot of stuff across the map- Thank you!!

 

Thanks again for the great answers people, I'll recompile and keep you posted!

Share this post


Link to post
Share on other sites
51 minutes ago, MikeGon said:

Wow¬†I didn't know that groups could have¬†an impact on performance-¬†I though it was only an editor tool...¬†With this info I can now optimize a lot of stuff across the map- Thank you!! ÔĽŅ

Groups do not have an impact. What @ElectroSheep probably suggested is to tie several brushes into one func_detail. func_detail, like most brush entities, can consist of several brushes. So select for example all trims around a certain building, hit CTRL+T and tie them to one func_detail. If you want to manipulate single pieces of it later on, use the ignore group function (the "ig" button on top), to be able to select them individually.

Share this post


Link to post
Share on other sites

I managed to get away with replacing a lot of these trims with static_props. It not only fixed the issue for these particular cases, but also looks better (Thanks @poLemin and @ElectroSheep) :

trim.jpg.3f55ec2a7246f49851ca5b7e06f36115.jpg

I other cases, with large brushes, I simply split the brushes and that fixed it- but like I said I can't do that too much though (Thanks again @poLemin !)

 

Unfortunately @Harry Poster, the Disable Shadows trick didn't seem to work on any of the func_brushes I tried it on...¬†ūüėē

Bad shadows are still visible on all of them- Was there another value that needed to be set perhaps?

 

For the lightmap scale trick, I'm happy to say that it worked like a charm!

shadows.jpg.e9722bcd0d6f74599417b84486c7cd04.jpg

lightmapfix.jpg.74b153218ccafc1edfa079c573398199.jpg

 

On 9/1/2018 at 10:17 PM, grapen said:

Displacements are only marginally more expensive, but looks nicer and lets you vertex paint. I prefere keeping¬†architecture mostly models and displacements.ÔĽŅ

I agree. The challenging thing with these buildings in particular though is that they're made of so many brushes, to create negative spaces to fit the doors and windows:

buildings.jpg.f94310f5380835dfd7439ac6501771fe.jpg

...a decision which¬†I'm kind of regretting now though, I'm thinking of reworking them all from scratch...ūüė£¬†They're likely¬†the #1 reason why my brush count is so high is the first place

But yeah converting all those to displacements would be one hell of a mess right now... I have to simplify them first! (Thanks @grapen and @untor)

 

I really didn't want this to become an art project, but the more I work on it, the more I realize that I must step back in 3ds Max and make tons of new props- otherwise it'll never look like what I want it to...

Thanks so much for your help people, I really appreciate it!

Edited by MikeGon

Share this post


Link to post
Share on other sites

@MikeGon in case you're wondering how to break them into displacements, this is how I'd go about it:

qrqNAul.jpg

That's how I split mine when working on my doi map. It's a bit more time consuming because you have to work with the vertex tool, but this ensures the least lighting and texturing issues. @Squad pls confirm ;)

MvA7bP5.jpg

Share this post


Link to post
Share on other sites
2 hours ago, Radu said:

@MikeGon in case you're wondering how to break them into displacements, this is how I'd go about it:

qrqNAul.jpg

That's how I split mine when working on my doi map. It's a bit more time consuming because you have to work with the vertex tool, but this ensures the least lighting and texturing issues. @Squad pls confirm ;)

Yeah, pretty much. Not sure why you got the extra set of displacements on every corner of the buildings. Could do without it imo, unless you want more accurate control when painting blend materials. If it's for CSGO, you can go pretty nuts with the amount of displacements.

MB5X8an.png

Share this post


Link to post
Share on other sites
2 hours ago, Squad said:

Yeah, pretty much. Not sure why you got the extra set of displacements on every corner of the buildings. Could do without it imo, unless you want more accurate control when painting blend materials. If it's for CSGO, you can go pretty nuts with the amount of displacements.

Yeah, you get better results when painting the edges. If you eliminate those, you'll get noticeable stretches around.

Share this post


Link to post
Share on other sites

For a more rigid transition between surfaces, make the division at the corners, like mine. This will make the smoothing between the corners less active.

lzwLm7M6vv0.jpg

Share this post


Link to post
Share on other sites
29 minutes ago, Radu said:

Yeah, you get better results when painting the edges. If you eliminate those, you'll get noticeable stretches around.

True. Last time I made displacement buildings like this was for DoI and the luxury of upped displacement limit was not present ūüėõ¬†But in CSGO you shouldn't let that hold you back.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×