Map lighting passing through func_objects

Block_Light Doesn’t do anything :stuck_out_tongue:

So i have a ship, and its REALLY breakable (in segments)

Problem is, when the segments are not broken yet, it seems light is filtering through the walls which are

Func_Breakable
Func_Physbox

So attempting to solve this problem, i cut a very small sliver into each of the walls affected and made it a
Func_Brush that just kills itself when the normal wall moves/breaks/whatever, in a vain hope that brushes stopped lighting.
They don’t…

Examples are

http://img189.imageshack.us/img189/8933/zmfcfcshipb6beta240000.jpg
http://img190.imageshack.us/img190/4223/zmfcfcshipb6beta240001.jpg
http://img46.imageshack.us/img46/8692/zmfcfcshipb6beta240002.jpg
http://img190.imageshack.us/img190/3152/zmfcfcshipb6beta240003.jpg

So what possibly could i do to make it so that the lighting stops filtering through these objects? Is there such thing as some sort of func_Whatever that blocks light?

i Also did run Vrad and Vivis on Fast… which could be it (But I’m asking here in case its not)


Secondary Unresolved Problem

Since the ship is so breakable. I’m at a loss as how to do areaportals for the entire ship. Considering the sheer number of breakable objects, How would i even manage this? Do i cover the breakable objects in areaportals? Do i cover the insides with area portals? Do the portals still work even if they are blocked by a brush (because that would be bad)

Essentially i’m going to try splitting up the holes as areaportals, and hoping that will work.

If this is confusing as hell. Imagine a brick wall, in which you can break one brick at a time, each time opening a bigger and bigger area in which you can see behind, Yet you still wish for the Stuff you shouldn’t be able to see to not be rendered. How would i go about doing this?

Would hints just be a better idea?

Edit I’ve been trying to use hints. It seems i’m getting some serious problems with map playability because the ship is infact so breakable. It’s all rendered at once and therefore I’m having serious trouble optimizing it. Vis refuses to run (Tried for 12 hours) unless its on fast. So i’m trying to figure out a way to decrease the rendering the player does while gaming.

Occlusion on floors helped a tad bit, but since they are deemed “Expensive” (and im not sure what that means?) I was afraid of using more then 2, so if you pass a certain angle you will see everything once again. But otherwise they provide a +5 Fps boost to anyone above them.

I used Func_Detail more then i butter my toast (i cover my toast in butter!). Anything that doesn’t block view is a Func_Detail. But the issue is that the boat’s shape causes stupid vis-drawing issues.

Proof= http://www.mediafire.com/?oygydmczijq

That is the secondary (Recreation) i attempted of the exact same map. As you can see, without even anything else on the map. Normal Vis just decides to take forever.

Areaportals Failed me… /sadface

Hints. Well i decided to draw hints everywhere. Lets see what that does.

Block Light texture. I’m not sure its able to be moved though.

Block light textures can’t be moved so that wouldn’t work…

Because source doesn’t have dynamic lighting I don’t think you are going to have this done perfectly.

Block light combined with a simple light entity at the point of breaking.
On break, the light turns on.

You may want to try using a cleverly placed teleporter. Have the one room with the breakable wall that, when broken, teleports the room’s contents to an identical looking room, except that it has the room behind it.

I can elaborate if this seems confusing to you, but this trick works very well on a single player map and is the only method that will look just right.

That won’t work, i assure you.

But can they be named and killed? I shall try that.

Edit Block_Light doesn’t do anything. It may be because i made it a Func_Brush (lol)

Official Bump as i have encountered a new problem. It’s Written Above.

Copy/Pasted

"Secondary Unresolved Problem

Since the ship is so breakable. I’m at a loss as how to do areaportals for the entire ship. Considering the sheer number of breakable objects, How would i even manage this? Do i cover the breakable objects in areaportals? Do i cover the insides with area portals? Do the portals still work even if they are blocked by a brush (because that would be bad)

Essentially i’m going to try splitting up the holes as areaportals, and hoping that will work.

If this is confusing as hell. Imagine a brick wall, in which you can break one brick at a time, each time opening a bigger and bigger area in which you can see behind, Yet you still wish for the Stuff you shouldn’t be able to see to not be rendered. How would i go about doing this?

Would hints just be a better idea?"

Is the ship moveable? If so, you simply can’t make areaportals and hints for it. Source renders next to nothing real time, and this makes it hard to make stuff like that. Even if it’s not moveable it will be hard, as VVIS doesn’t cut up func objects into visleafs.

And for your first problem, it’s not like the light is going through the func objects. It’s a problem with the lightmap scale, if you lower it, it will look much better. If you choose the lightmap scale view in the 3D camera in hammer and look at the places where the light is leaking through, you’ll understand.

Entities don’t block light and only cast shadows onto themselves. (Exception here is func_detail)
As I said, block light plain on one side of the part that breaks open, then a light on the other side that is coloured with the same colour as the ambient light on the other side of the hole.

The only problem is that Block_Light doesn’t seem to work. That or i’m unable to use it correctly.

I assumed you applied the texture to a brush and left it? Or must i set it to something?

As for the problem relating to hints. I tried i really did, but the map simply wont compile in Normal mode. So i gave up on that checked the fast button and used some clever occlusions to block views properly. Simply put, too much of this map is made wierd pieces/chopped up vertexes to properly draw visleaves. Not to mention my idiotic process at creating breakable parts (Consisting of using the cutting tool way too much) Created realistic looking breaks, but must of created a hella lot of fun for the engine. I’m half considering setting the entire boat to func_detail besides the floors, then simply allowing the ship to only be rendered in 1 floor sections. I was really hoping i could use areaportals and hints to get around this problem. But i just attempted compiling for a full 12 hours with no progress past “9 . . .” So i don’t think its happening any other way. Ill just have to set the entire boat to func_Detail and see what the FPS change is.

The entire ship is not movable instead the water moves to avoid that problem. I do have Solid non-entity brushes for it. But the “portalflow” part of the compile process never finishes, which has me wondering what i’ve done wrong.

  • The lightmap scale looks exactly like every other piece near it. I haven’t changed any scales for the entire ship. All still 16 luxels. The problem didn’t appear until after those brushes were changed to objects.

Changing them into funcs shouldn’t affect the way they are lit and cast shadows unless you say so. But if you go to the lightmap view you might see that the luxels go through the object on the wall, therefor the shadows continue behind the objects. Which makes it look bad. This problem can be avoided by lowering the lightmapscale to 8 or something, or clip the wall behind the objects and texture the unseeable part with nodraw. The texture nodraw doesn’t have shadows.

How long have you waited for portalflow to finish? It sometimes locks and doesn’t show the progress, but it’s still working. But it should not take longer than 30min.

12 HOURS of portalflow and no progress.

I understand hammer was still working but at that point i wasn’t going to bother waiting any longer.

I went and recreated the map onto a new area, yet nope it still froze up and took ages at the “portalflow” area. After making my entire New ship func detail, it compiled perfectly fine.

Seems source simply can’t compile a large amount of sloped surfaces that create the ship’s bow without insane amounts of time. :stuck_out_tongue: My map is currently dead because of it.

Here’s the VMF if any of you are intrested in taking a peek at the ship.

http://www.mediafire.com/?mldafjligy0

Until i can find a decent way to not have the entire ship lag to hell because it renders it all at the same time, i’m afraid the map is pretty much at a halt.

How about you just learn how to optimise.

Tried it mate, i really did. I read at least four different tutorials to optimize maps, all containing hints, visleaves, areaportals, occlusion. Ect.

Set everything not majorly blocking your view to a “Func_Detail”
Tried to set the ship up with areaportals, but due to the fact that so many pieces are breakable, it failed.
Hints only worked in two places, because i had too many non-brushes enclosing areas.

Used occlusion to block the floors at least, meaning you couldn’t see what was rendered 1 and two levels down. But it didn’t stop the rendering, or help when you were at an angle.

Please, i provided the VMF because i don’t understand what is wrong with my map. I beg of someone to please look at it and tell me. I’m rebuilding the map from the floor up and i simply found that even a simple ship with nothing else makes hammer take forever in the “Areaportal” area,

What would really really help is someone informing me on how to use hint nodes to properly have vis IGNORE the ship entirely as it felt that the hints sufficiently split it up enough. I could never complete a compile without Vis on “Fast” so i don’t know what my existing hints did. All the tutorials i read made sense, But i’m wondering if free standing hints are possible. Sort of like you draw the visleaves yourself for a certain area? I could try it but it would take some serious time. I would rather just rebuild the map. But when i rebuilt the map… it seems to have the same problem. sigh i must be missing something.

Is it possible to simply build a room (Only two brushes, The roof and the floor) Then use hints on all four sides yourself, having all the hints touch? Or must hints be touching more then 2 brushes, and can they not join with other hints?

Edit So Drew hints myself around 90% of the inside areas of the ship, in a hope that it would speed up the process. No luck.

Trying to see if hints are drawn with vis on fast now. Hopefully they are.

…no… they don’t draw on fast.