How to create a spot light whose light reflects off stuff in the air?

This is the kind of thing I want to do:

I can’t imagine how to produce this kind of lighting effect in jmonkey though, a spotlight would only illuminate what its being pointed at. I’m trying to make a UFO for my game, and I want the player to see the classical spotlight/beam/thing that classically is emitted by UFOs.

Has anyone tried to do something like this before?

I’ve done this before as a cylinder with a highly transparent gradient texture on it. It’s good as long as you don’t walk inside of it. Actually, you could fade it out as the player got closer maybe since the effect in real life isn’t as apparent when you are standing right next to it.

An alternative would be particels wich are mostly transparent, might look better in close range.

@pspeed said: I've done this before as a cylinder with a highly transparent gradient texture on it. It's good as long as you don't walk inside of it. Actually, you could fade it out as the player got closer maybe since the effect in real life isn't as apparent when you are standing right next to it.

Think if it like an upside down one of these and then not square:

Actually ^^ those even have an animated noise texture which done right would help sell it also.

I think it might be hard to make particles look right but the above is dead-simple. I’ve used the effect many times for everything from spot lights to holographic projector glow. Good times.

I’ll even go one better…

Here is a gradient texture you can try:
http://code.google.com/p/jmonkeyplatform-contributions/source/browse/trunk/Lemur/src/com/simsilica/lemur/icons/gradient-128.png

Make a cylinder, slap that texture on it… stretch the cylinder it as needed… see if it fits the bill.

It fades from white to transparent, top to bottom. So you should be able to set a material color to make it as transparent or opaque (or colored) as you want.

Edit: if the cylinder works then you can always make a custom mesh that flares out a little if that’s what you prefer.

Thanks for the tip @pspeed, im surprised by how well this ended up looking. We were originaly thinking about doing this with a texture but it just felt like it was too simple and itd look fake.

This is what we ended up creating: (cylinder mesh, spot light, and a point light under the ufo)

Only downside of course is that the player shadow doesnt make sense, though I think we’ll get away with it because the UFO is only going to be on screen a few seconds, and there will be other stuff going on at the same time.

I might try doing it with particles next, though I really like the cylinder solution because I can very easily make it the right height by just scaling it in the Y direction.

@icamefromspace said: Thanks for the tip @pspeed, im surprised by how well this ended up looking. We were originaly thinking about doing this with a texture but it just felt like it was too simple and itd look fake.

This is what we ended up creating: (cylinder mesh, spot light, and a point light under the ufo)

Only downside of course is that the player shadow doesnt make sense, though I think we’ll get away with it because the UFO is only going to be on screen a few seconds, and there will be other stuff going on at the same time.

I might try doing it with particles next, though I really like the cylinder solution because I can very easily make it the right height by just scaling it in the Y direction.

Yeah, cheap and really easy to control. Glad it worked out for you.