Everyone should know that you can’t make a big scene/level by only using dynamic shadows unless you got a mega ultimate machine.
Yes, I know Crytech, Unreal Tech and Geomerics have done some awesome coding… but their tech costs $250000
Quake 1 engine(1996) has it
Unreal(1996) has it
Serious Sam engine too
even Torque game engine has it
I’m talking about a built-in lightmapper / lightmap-baker
Any speed concious game developer should consider this.
So I thought I’d make a lightmapper for Unity in the hopes that it’d send some signals here and there…
“OTEE”
I don’t wanna wait for GFX cards w raytracer chips, it could take years still.
I hope someone eventually might optimize this script… like, adding a super fast vector reflection math or raytracer that is just accurate enough for the purpose - speed contra precision, etc.
If geomerics can do it real-time, that means the proper code can speed up this tool so indirect light calculations become cheaper.
Anyways, here is the stuff.
I attached the Unity Package at the bottom of the page.
First up.
Here is a lil tutorial on the use of it,:
MEGATON
…
–
–
–
–
–
–
Lightmap textures must be imported to either of: ARGB32bit, RGB24bit, Alpha 8bit
If I use a higher res texture for the lightmapper material (say, 1024 or 2048), will the final lightmap output be higher detail? (Could you post a screenshot of this?) Does this technique take colored lighting into account? Is the reflected light option similar to final gather or radiosity lighting? (Screenie pls?) Does this only work with point lights or does it also work with directional and spot lighting?
Thanks for making this, this is really great. Would be awesome to write a script or something to simplify it; I will look into it.
I was working on a lightmapper using a similar technique while in copenhagen, except mine casts a ray from each texture pixel instead of casting a bunch of rays from the light. I saw this post and had to bring it out. It needed a little bit of fixing to work well and I wasn’t able to figure it out before but now I know how and it works pretty well:
With the lightmapper I won’t need to bounce back and forth between external lightmapper and Unity. And having 20+ scenes with 50+ static objects per scene + lightmap-render time per object, I bought myself alotta time on this project. :twisted:
I’m not a programmer so this lightmapper is not the mega-asskicker I had hoped it to be.
This lightmapper will soon be eating dust from Talzors upcoming lightmapper. Its based on the same method as MegatonLightmapper. But its faster, userfriendly and mimics Unity point lights accurately. Let this be the teaser for “TALZOR’S ASSKICKING LIGHTMAPPER!”
Better to post Talzors lightmapper on Unify Wiki instead of this one.
I am an artist… but at night I roam the realm of ones and zeros and spread chaos.
or -
A cg artist creates graphics. A cg artist + programmer creates videogames.
If you use a higher texture size you will need to set a higher “RaysPerDegree”
If combining higher raycasting settings with lightbounces you should, after about 15minutes, be able to fry an egg on top of your computer.
Theoretically, the end result would be a very nice looking lightmap. I haven’t had the patience to check it out.
It only works with pointlights and so far there are no plans for adding other light types.
This is a Raytracing Radiosity Lightmapper. :idea:
You can definetly shave off 10%-70% of the baking time tracing from texture pixel.
As I mentioned earlier, I’m not a programmer so I can’t imagine the huge ammount of work involved. How will indirect lighting be generated?
Mine achieves bounce light by shooting a few rays from each texel and then by using a bunch of fancy image based techniques (Read: Blur the hell out of it) it makes a nice soft result. Ambient occlusion is calculated using the same rays.
You can see some bounce light from the green light in the picture I posted before.