I'm trying to cast light upwards from these holes, but all I get is the round green blob you see near the floor. The light sources are pretty deep in the holes, and if I look up to the ceiling there's a bright green blob where the light is reaching waaaaay up there.
Any idea why it's not casting along the wall? I've tried regular point lights and giving them target_positions. Have I R done something wots stupid?
Though I don't get why it won't work as a simple point light, either. It's like it's disregarding the brushes between the 3 lights and lumping them together.
Quake3 sucks ass when it comes to creating shadows from brushes. You need a really high light value, or a shader_light value, to create an overall lighteffect.
* Increase the lightmap resolution of the wall by creating a func_group and then set _lightmapscale key with a floating point value (0.5 to double lightmap resolution).
* Check your construction techniques. Make sure you caulk behind those holes where the floor grate meets the wall. Use separate brushes for the wall. (Hope that made sense).
That should do it, but failing that, try the following hacks:
* Create a non-drawing lightmap projection shader similar to those stained glass window effects that people use, utilizing surfaceparm lightfilter.
* Use a _decal entity to project an image onto the wall to fake lightmap detail.
Setting a lightmap scale on func_group made it start performing a bit like expected. It looks like crap but at least I know the cause of the problem now.
Thanks sir. That's easily one of the neatest little lighting hacks I've encountered, and I'll prolly abuse it from now on
One bit of warning, increasing lightmap scale means you are using more lightmap images, therefore more texture memory is used and longer compile times. Use in small localised areas such as this is great or in places where you need sharper shadows. Just don't over do it. You can even use it lower the resolution in places that the player will not likely see, therefore increasing performance.
Other ways to change lightmap resolution, in worldspawn (same method) or via a shader using q3map_lightmapSampleSize N (default 16 which means a 1x1 luxel for every 16x16 game units).