Random Bright Spots on Func_Detail Brushes


I’m making a surf map for cs:s, and this keeps happening on my ramps. Weird, random white spots on the ramp, when the only source of light is some lamps along the wall, which are using a custom light emitting texture.

Everything was working fine, and then this suddenly started happening after a compile. It wouldn’t go away even after I removed everything I had added before.

I have tried using propper to make the ramps into models, but while that fixed the issue, it created a bunch of ugly shadows and dark spots along the walls (I even tried swapping the texture-lighting for light_spots but the same results were given.)

I compiled the map with the ramp deleted and the compile log showed no errors, with no lighting glitches either.
Then I remade the ramp and compiled without making it a func_detail, the lighting glitches were gone and the only error was a zero area child patch in the compile log.
I changed it into a func_detail, recompiled, and then the lighting glitches appeared again with no errors in the console.

Here’s how it looks when it’s only world brushes.


Anyone know why this is happening?


I think func_detailing the ramps is a smart thing to do. They will create some pretty odd cuts in the visleafs if left world brushes. Not a real big issue, but it isn’t “clean”.

I take it the ramp clips through another brush near the top? It looks sort of like a brush-through-brush lighting error to me.

Map looks great by the way.

func_detail is to make it not chop up the visleafs in that area into a million little pieces and destroy my compile time. And no, it’s not env_projectedtexture, they are white unlitgeneric textures that are defined in a lights.rad file, so that the face they are applied to emit light without the use of light entities.

Yes, each ramp segment is a 1024x128xsomething brush, each one rotated 3 degrees and their bottom vertices aligned to create a curve, they overlap at the top. They aren’t all clipped to create the stripes, I made a custom texture for all the details on the ramps.

I guess that could be causing it, overlapping brushes and the really complex/off-grid geometry. Just don’t get why it was working fine, then suddenly started happening for no reason.

And thanks, I’m trying to put a lot of effort into this, hammer hates me and always decides to cause silly little errors that I can’t ignore :c

That’s bad. Don’t do that (or try not to). Off-grid things can lead to massive problems later in a map as I’ve learned.

It’s literally impossible to avoid off-grid geometry due to the way surf ramps have to be made. Yet hundreds of surf maps exist that have no errors in them at all, so off-grid geometry must not be that horrible.

It’s possible to do it without it. I’ve made similar architecture on a smaller scale with all geometry on grid.
Make the arch you want so in your case a 90 degree curve. Triangulate all the brushes in that arch and then select the outside edge vertices (Basically the side you want the ramp on) and lower them down to make everything into a right triangle in that brush. I can’t really screenshot right now as I’m in class but I’ll try to help later today with screens of what Im saying.

It doesn’t matter what I do. Hammer always seems to screw up my vertices anyways :<

yeah try surfing on that and tell me how that goes

That method wouldn’t work at all because you’d get caught on edge-bugs and lose all your speed. Yes it’s the most efficient way to do it, however, it’s only going to work for aesthetic purposes. If you try to surf on a ramp that’s made with the arch tool, it’s going to be extremely buggy. It has to be overlapping faces if you want to be able to surf smoothly.

gee that sounds like something stiffy would say


You must not have actually tried it. There are multiple work a rounds for such a simple problem. Make 2 16 brush arcs at 45 degrees and then combine them to a 90 degree arch etc. That’s just one way.

My moto is if its off grid and works, then there is a way to do it on grid and work.

try making it func_brush instead

I’ll probably be getting boxes from better mappers but that’s my suggestion

Did you actually try making it/surfing on it? When I followed exactly what you posted earlier, every single brush turned into an invalid solid.
If you can somehow make a ramp with the arch tool and vertex tool, that’s not entirely invalid brushes, try surfing on it. Because I can’t even manage to make one.

Look, you can get caught on edges when a straight ramp is made out of more than one brush.
You know what happens when you surf too low on a surf ramp? You are much more likely hit an edge in the ramp because the faces are not overlapped as much as they are at the top of the ramp. If it’s made with the arch tool somehow, you’re going to get caught on every single edge between the brushes that are on the curve.
(hitting an edge = immediately stopping on the ramp and having to start the level over again, which is a huge no-no as the reason the player failed was because of the map, not the player)

Also, if it’s off grid and works, then what’s the issue? Sometimes things have to be off-grid and sometimes they don’t cause problems. As seen in many surf maps.

This isn’t what this thread is about, the problem I was having was that for no obvious reason some func_detail entities in my map started to get really weird lighting issues, when they were fine before. I have found a way to fix it that works and causes me no problems.

I tried that already, it made the lighting worse than it was when it was a prop, and I was actually lagging while surfing on it.

In the surf maps I’ve always experimented with I’ve never had to overlap brushes or build off the grid at all, as long as you keep turns nice and smooth and at a good angle you have no problems.

You didn’t triangulate the brushes… That’s key to making it a non-concave solid. Go from one vertex to the opposite one, and save both of the clipped brushes. Do that for every solid in the initial arch.

EDIT: Off grid is bad. If you ever want to manipulate it later you have to get rid of what you have so far, not to mention the vis leafs being absolutely raped.
Also, to asking me if I ever surfed etc etc, yes, I’m quite familiar with all types of “advanced movement” in the source engine as I play a number of competitive source games.

Random idea: I wonder if its possible to make surf maps with displacements.

EDIT EDIT: Yes this is what this thread is about, stuff off of the grid and overlapping can easily cause lighting issues. Think about it, if one little bit of a texture on a face is receiving light then whole face will be light. And when this overlaps… Well tada places brighter than other parts.

I hope this is my last edit. I’m really tired of editing this.

When I began making surf maps the first thing I did was try your suggestion.

Like that?

It makes the most sense from an aesthetic point of view, but unfortunately is completely unsurfable.
If you tried to surf on that ramp you’d get stuck a third of the way down. You’d be lucky to reach the end without getting stuck at least once.

The way Dialready is making his ramps is correct, the reason they are func_details is to avoid the buggered visleafs which would result from keeping them world brushes, it also saves on compile times considerably.
Sadly I have no idea how to fix your strange lights, maybe try changing the lightmap scale or something.

Also my first post on Facepunch so hello everyone :dance:

Oh hi Kompile, finally someone else that actually understands surf mapping. Even Panzer was agreeing with me that arch-tool is stupid for surf ramps. The only place arch-tool should be used for surf ramps is when you’re making downward-curves, even then people avoid surfing on those anyways so it would really only be aesthetic.

You can have surfed before but that doesn’t mean you now know exactly how to make a surf map, the problem with surf mapping is that you have to do a few naughty things to hammer in order for it to work properly. They don’t normally cause problems unless you’re just really really fucking things up.

I’ve played around with the lightmap scales already but I didn’t really go higher than 32, I’ll try larger values though I guess.

How about you actually try helping him?

Kompile posted a picture above that’s completely on grid but you can’t surf that, So tell us, How do you do it?

Experiment? Honestly, you can’t work off grid and then complain about your lights being messed up. It’ll happen. Figure out a way to do it on grid, because apparently my suggestion doesn’t work, and the problem will be fixed.

Also, getting frustrated doesn’t accomplish anything.