Jump to content

Map compile gone horribly wrong (light)


Recommended Posts

So the map I'm compiling (no errors) loads as follows:

172e120891.jpg

05a889c3e7.jpg

4a0682bcfe.jpg

(wtf is that pattern lmao)

 

Params are:

-meta -v
-vis -saveprt -v
-light -fast

also tried -light -faster , -light -lomem and anything else you can think of.

 

Spoiler

--- StoreSurfaceLightmaps ---
  8871540 luxels used
  9273344 luxels stored (95.67 percent efficiency)
     2537 solid surface lightmaps
      820 identical surface lightmaps, using 862819 luxels
        0 vertex forced surfaces
        0 vertex approximated surfaces
      566 BSP lightmaps
      566 total lightmaps
     1169 unique lightmap/shader combinations
Writing C:\blablabla(hidden for private reasons)
Storing lightgrid: 1023606 points
Wrote 39.2 MB (41102392 bytes)
      593 seconds elapsed
Disconnecting

 

i cant make any sense of this, any help is greatly appreciated.

Link to comment

Looks like you might have too many lightmaps in this bsp for the game. Try increasing the sample size for your compile.

 

Try a samplesize of 256 first to check if that's the problem. And make sure the bsp phase gets the samplesize parameter as also the light phase. ?

Aldro Koon likes this
Link to comment
2 hours ago, Aldro Koon said:

I can't thank you enough, this solved EVERYTHING!

can you explain a little bit more when this is used? how did you know?

The sample size tells q3map2 the size of a lightmap pixel in game units. So, if you decrease the sample size, your lightmap gets more accurate and vice versa. The game hardcodes the max lightmap count to 256 I think, and your compile said you had 566. So you needed to reduce the lightmap count. Increasing the space covered by a lightmap pixel means you can put more surfaces into one lightmap -> you'll get fewer lightmaps.

Now you can try decreasing the sample size again for your compiles to get some better lighting untill you reach the lightmap limit of 256.

Aldro Koon likes this
Link to comment

Changing the samplesize during compile is one way to solve this. Another way, which I find a lot more precise, is to use func_group and the lightmapscale key to reduce the number of lightmap samples on areas of your map that don't need much precision.

For instance, if you have a large terrain area, make the brushes/patches into a func_group together, then set the lightmapscale on it to a higher value (1 is 100% scale, 2 is 200% scale, 5.5 is 550% scale, etc). I don't know exactly how high it can go, but a lightmapscale of 10 on terrain would likely be unnoticeable unless you need crisp shadows - and for that, you can separate those terrain brushes/patches into their own func_group, and give them an appropriate lightmapscale of their own.

(You can also use decimal values to increase the lightmap samples on brushes/patches that you want to look more crisp)

This same process is useful on exterior building walls, large signs, movers, or any large brushes or conglomeration of brushes.

Hope this is helpful too!

Aldro Koon likes this
Link to comment

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
×
×
  • Create New...