PDA

View Full Version : Halo Lighting Tutorial/Guide - Part 1 and 2!



SuperSunny
June 28th, 2007, 03:20 AM
http://i10.tinypic.com/6gl4xna.jpg

Lighting in Halo, probably one of the most underused aspects of the entire editing kit.

Lighting can change a map from looking like this:

http://i18.tinypic.com/4mm8hhh.jpg

Into This :

http://img63.imageshack.us/img63/7533/lightup9.jpg

The sad truth is, Halo's lighting capabilities are limited, as it is not a modern-gen/next-gen game. It can utilize specular lights (radiosity), or dynamic lights. Radiosity is the overall lighting used in most maps to determine what areas are lit up, where the shadows should go, and how the shading on a map should look. But of course, we already know this.

By taking advantage of the Halo Engine, you can push towards much better lighting effects.

http://i6.tinypic.com/5yummap.jpg

The cave hole on top, it emits a similar look to the modern Bloom effect used in games. I did this by adding scenery lens flares to that area. When they stick together, they enlarge.

Creating Scenery Lens Flares:

http://i12.tinypic.com/5ylytlu.jpg

This is a Lens Flare tag. To create something similar, just open up an existing one, and modify it. To enlarge the Lens Flare, increase the radius size, and along with it the brightness (or keep it dim to combine more). This specific one is incredibly small, about the size of the Plasma Pistol charge.

A large Lens Flare has about the radius of 2, and brightness of 0.4.

Save this, in a folder. Call it Bloom. Now, create a .light tag. Add the lens flare to it, and save it as Bloom.light in the same folder.

http://i4.tinypic.com/6gvp950.jpg

Now, for the second part.

I'm not going to go into detail, but it requires that you have SOME knowledge of the HEK, and know how to create shaders/use 3ds Max (or Gmax).

Create an invisible scenery, with one marker, in the center, no collision model. Compile it. Create the .scenery file. Attach your lens flare .light tag to the marker in the model.

Place it in-game. ONLY put it on spots that should theoretically emit light, or be hit by light. For example:

http://img442.imageshack.us/img442/1729/paradisezg9.jpg

Look at the water.

To use radiosity to it's maximum potential, ALWAYS do a final quality 1 render, wtih most of the shaders on a high detail level. It will make the map look so much better.

-More coming soon.

Here's Part 2!

Design

I take it many don't really care about the design of lighting in a map. But it really does bring out all the detail and glory :P
http://i17.tinypic.com/4trpoaw.jpg
http://i15.tinypic.com/4z9o5cx.jpg

Pay attention to the detail on all the textures. Notice how they correspond with the light.

My Light-source in that screenshot is a combination of many things.
A shader with a white texture that emits light at a certain power (radiosity).
All the shaders in the level set to high.
Custom-designed lens flare scenery placed around that light (and on it).
The dynamic mirror (not really needed, but hey it looks nice).
A gel-texture emitting dynamic light source.The gel-texture is basically the player flashlight bitmap. I created a custom scenery (invisible geometry), with a marker that has that light source attached.

In Sapien, you cannot see the gel-light emitting from it. So, you have to improvise. The green axis arrow points in the direction the gel-light will emit.

After placing in certain locations, a level can emit bump-maps and higher levels of detail without much FPS loss.
http://i11.tinypic.com/61tdx11.jpg
http://i19.tinypic.com/4u3gdgx.jpg

Shadows!

With the combination of everything above, (or just a single light source), Halo should produce a shadow for your player if you are close by (or a vehicle, or other players). Above in that screenshot, the shadow fades off, pointing away from the light source, realistically.

Now, obviously, I can't do anything to really change that. It does look REALLY good though. The closer I get to the light source, the smaller and closer the shadow becomes.
http://i16.tinypic.com/4umunhu.jpg

Bloom! Er...light emitting off objects!

With properly placed lens flares, a good dynamic light (gel-texture emitting for a more realistic effect), and all that yadda-yadda garbage, a player should look INCREDIBLY nice under that light. Anything should. This MC here looks like he's reflecting light off his armor in a strange pose.

Yea more coming soon!

And people say Halo 1 looks bad. Sheesh. Just be an artist, and mess around. Pay attention to the colour of everything!

legionaire45
June 28th, 2007, 03:38 AM
nice tutorial dude!

SgtBotley
June 28th, 2007, 07:10 AM
sweetness

Chronos
June 28th, 2007, 08:40 AM
Another HEK mystery solved, well for me that is.. Thanks Sunny!

demonmaster3k
June 28th, 2007, 10:14 AM
those pics are a win
keep of the good work (nice tut btw)

Roostervier
June 28th, 2007, 10:49 AM
Great job Sunny, thanks for another tutorial =D.

Con
June 28th, 2007, 10:56 AM
Great guide Sunny, lighting is really an underused aspect of the EK

Jay2645
June 29th, 2007, 07:18 AM
It is. And it can make Halo 1 look as good as, if not better then, H2V.

DaneO'Roo
July 1st, 2007, 09:19 AM
^ sorry, but no. Halo 2 has fully dynamic lighting and proper bloom effects and stuff.

Awesome tut sunny. It's good that you explained this, because my map is going to rely heavily on lighting.

Rob Oplawar
July 1st, 2007, 10:03 PM
I told you guys, lighting is key.

One thing I've learned kind of by mistake is that the way you arrange your lights and geometry with respect to each other has a really huge impact on how good the map looks. In particular (I probably overuse this by a lot) I find it makes a great effect to put surfaces perpendicular to a light source, as this produces nice gradients and makes the textures look more detailed and less repetitive. My goal (although you don't at all have to do this if it doesn't work for your map) is to make lighting that would be really bad design in the real world- that is, illuminates just what you need to see- basically the floor- and then leaves long shadows everywhere else. Real world indoor lighting should be as uniform as possible- in the sense of a game, this makes things really boring, I think.
http://spacebrick.net/pictures/gallery/hallway_awesome_textures.jpg
^ This is the way an interior designer would want to illuminate an area (this is boring and ugly)

I understand the purpose in Halo 1 and 2 of making sure the players can see where they're going easily, but I find that it's sufficient to illuminate the boundary between the floor and the wall and then be as artistic as possible about everywhere else.
http://spacebrick.net/pictures/gallery/scrn_03.jpg
^ I think the lights in this area are still perhaps a bit too bright, but you get the idea- the floor is bright, and there's a clearly visible gradient along the walls up to the ceiling, which is dark.

I used (almost) exactly the same textures in both areas, so you can see how much of a difference it makes to not over-illuminate an area.

For those interested, the way I did the above hallway was I turned off ambient lighting completely- default ambient lighting just makes everything too bright. I had the ceiling light texture emit off-white light at power 10 (I think) and let radiosity run all the way to let the light bounce around all over the place.

Here's a gallery with more shots of that hallway. (http://spacebrick.net/gallery.php?b)

Sunny I hope you don't mind me contributing, I wouldn't presume to know more about lighting in HCE than you do =P
I think this should be put into the H2V wiki, you know, get some use out of that thing.

Veegie
July 2nd, 2007, 04:24 AM
Wow that looks fantastic.

Botolf
August 19th, 2007, 10:57 PM
I have a question relating to making the light-emitting scenery. I've followed the tutorial to completion, but don't see any light coming from the scenery when I test the map in-game. I think the problem might be some setting in my scenery's .gbx model file, under the Marker Settings where you say to attach the relevant .light tag. Does anyone mind elaborating on what rules to follow for all of the Marker Settings and what has to go where, so I can figure out where I went wrong?

Bastinka
August 19th, 2007, 10:58 PM
Old thread. Why did you bump it?

Botolf
August 20th, 2007, 01:45 AM
Because it was related, and not yet lost to the ether or forgotten.

p0lar_bear
August 20th, 2007, 02:25 AM
Dynamic lights DO NOT RENDER AT ALL in Sapien. Lens flares and lightmaps render, yes, but not dynamic .lights.

Also, Silent, what have we told you before about ripping on people who bump a thread with relevant info or a question?

Botolf
August 20th, 2007, 02:36 AM
Yes, I read the part of the tutorial where Sunny states dynamic lights wouldn't appear in Sapien, I was talking about compiling the map and hopping onto Halo CE to test it, my lights didn't appear then.

kenney001
August 20th, 2007, 03:49 AM
did you apply a .lens flare if it was not dynamic? If it is a non-dynamic light, you need a lens flare to glow and to re-run radiosity to make the lightmap it creates show up.

Botolf
August 20th, 2007, 01:04 PM
In my .light tag, the dynamic toggle is checked, so I'd assume it's dynamic (I do have a lens flare tied to the tag as per the tutorial though). Do I have to set a certain power under the tag's Radiosity section in order for the dynamic light to function? (I'll note here that I can't see any light in-game, no lens-flare, no dynamic light)