Post tutorial Report RSS Grated light effect

A very useful effect that can make your map looks so much more detailed

Posted by on - Basic Level Design/Theory

Here is one of my many tutorials for a very useful effect that can make your map looks so much more detailed.

Light grate effect
In this tutorial I will be showing you how to make something like this


Step 1 create a room with a hole in the floor. make the hole about 32 units deep.


Step 2 Now make brush's 1 unit high and 1 unit wide and as long as you hole long copy and past until you get something like this.


And now just do it for the opposite direction Step 3 now under your grate add light and add another entity called shadow_control click on the textures around your light (not the grate) and change the lightmap scale so it will have a better look(change it below 16) compile your map and you will get something like this if you did it right.

Post comment Comments
Nozzy
Nozzy - - 111 comments

Spiffy!

Reply Good karma Bad karma+1 vote
JacobRollin
JacobRollin - - 31 comments

Cool

Reply Good karma Bad karma+1 vote
ausbushman
ausbushman - - 343 comments

Impressive effect!

Is it better to use brushes or make a model?

Reply Good karma Bad karma+2 votes
Dremth
Dremth - - 1,400 comments

i'm no expert on the source engine, but i would guess it would be better to make a model.

Reply Good karma Bad karma+3 votes
Rayman47
Rayman47 - - 64 comments

Brushes are better because, the shadows of Models are Transperent

Reply Good karma Bad karma+2 votes
harrisonbrtn
harrisonbrtn - - 332 comments

this is not the right method for doing this, its called the block light texture

youre method would not be good for fps

Reply Good karma Bad karma+4 votes
Shirk Author
Shirk - - 885 comments

this works better then block light texture because its a brush thats casting the shadow not an invisable block

Reply Good karma+1 vote
awesomepossum
awesomepossum - - 997 comments

I don't know why you deleted my other comment, it was rather helpful to a lot of people, showing there was more than one way to make nice shadows each having a fault at some point.

But the Block light texture would be good to use here, because valve rad compile would use it exactly the same as a regular brush when calculating lighting. Also it would be better than using a brush with a regular texture because then it would not effect the vis portion of compile by cutting up that hallway into tons of tiny vis portals. Which would increase compile times and have a negative effect on fps as well.

Reply Good karma Bad karma+4 votes
FirgofUmbra
FirgofUmbra - - 93 comments

As long as you make sure that the brushes you've created become func_detail entities then there's little problem with VIS splitting it into thousands of groups.

The best combination would be brushes w/ blocklight that are func_detail entities. The only consideration to have using this technique is that in order to pull it off you're using a substantial number of brushes which increases the polycount on screen and also takes up chunks of the brush limits (you can have only so many brushes, after all). But those issues can be dodged themselves with custom visgroups, design considerations, and fore-planning on the level's design.

Reply Good karma Bad karma+1 vote
Sionfel
Sionfel - - 1,552 comments

also, the orange box engine allows light through the alpha of textures.
Fpsbanana.com

Reply Good karma Bad karma+3 votes
Shirk Author
Shirk - - 885 comments

lol thats my other tutorial look at the authors

Reply Good karma+2 votes
Sionfel
Sionfel - - 1,552 comments

huh, that is so. . .

Reply Good karma Bad karma+1 vote
Potteh
Potteh - - 326 comments

Pretty neat man, I am one to love lighting :)

Reply Good karma Bad karma+1 vote
Varsity
Varsity - - 1,044 comments

If you're working with the Orange Box an env_projected_texture is an even better solution, as long as players won't see the effect from afar (as it fades away past certain a distance).

It will shine dynamic, global, per-pixel lighting past objects and through transparent textures. The upshot of which is that not only do you get the effect shown in the tutorial, but *any* dynamic object passing by will cast its own shadow on the scene too.

Developer.valvesoftware.com

Reply Good karma Bad karma+2 votes
Varsity
Varsity - - 1,044 comments

Hmm, I take back the part about it casting shadows of transparent textures. It only seems to work with some of them.

In fact I might have to take it back entirely since without some changes to code there's only one such shadow allowed at any time. Here's what it looks like, anyway: Img230.imageshack.us

(The pixellation can be fixed by using a larger shadow texture.)

Reply Good karma Bad karma+1 vote
Jesternz08
Jesternz08 - - 410 comments

simple but effective!

Reply Good karma Bad karma+1 vote
cooldude9509
cooldude9509 - - 21 comments

Fantastic!! I'm so much gonna try that out! 5/5 :D

Reply Good karma Bad karma+1 vote
harrisonbrtn
harrisonbrtn - - 332 comments

EDIT: didnt mean to double post

Reply Good karma Bad karma+1 vote
xenbiosis
xenbiosis - - 7 comments

Thanks for the tutorial! This would be sweet for any Horror game.

Reply Good karma Bad karma+1 vote
Naruto3000
Naruto3000 - - 2 comments

I dont get what you need to do with the walls on the side and how you do it ?! help please !

Reply Good karma Bad karma+1 vote
ScorpionFaiha
ScorpionFaiha - - 259 comments

This doesn't work for hl2 ? or does it??


Reply Good karma Bad karma+1 vote
Shirk Author
Shirk - - 885 comments

It does work for hl2 and all other source games

Reply Good karma+1 vote
Shirk Author
Shirk - - 885 comments

When selecting the texture and applying it to a wall, by pressing Shift-A there will be a texture options gui. On the top right of that there should be lightmap scale defaulted to 16, change it to what I said.

Reply Good karma+1 vote
Sizifus
Sizifus - - 119 comments

Does it work for older Source engine (Source Engine 6-10)?

Reply Good karma Bad karma+1 vote
Shirk Author
Shirk - - 885 comments

Works for all source engines

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: