I wanted to experiment a little bit with light scattering and volumetric shadows. The simplest thing to do seemed to render the volume of the light and raymarch the light’s shadowmap along the view. Quite standard, but worked well in Uncharted 3. :)
Here goes, implemented in Unity:
Recently we had another Ninjacamp at Unity. It’s a week-long event during which all the devs meet up and get to work on any crazy Unity features/demos they feel like.
What me and Kuba (Rej tagged along too) wanted to experiment with was some kind of Global Illumination algorithm, that’s at least interactive. I guess we’re all kinda tired always having to wait for the lightmapper to finish baking, and we would be ok with lower quality as long as the preview is interactive and allows for moving lights and geometry.
So that’s what we did. In 4 days. :)
Last week I gave a talk at GDC on “Light probe interpolation using tetrahedral tessellations”. Here are the slides and this is the accompanying video:
The talk describes a technique for light probe interpolation, which I believe has some advantages over the typically used “a bunch of OBBs filled with regular grids +per probe visibility info”. To see how it works in practice, you can download Unity 3.5 and give it a go. The video was captured from Shadowgun, the first game to use this approach.
You have probably already heard about Shadowgun, the new mobile game developed by MADFINGER Games. You might also have seen Shadowgun being demoed at WWDC on stage during the Graphics State of the Union talk.
Needless to say, I’m very proud of the next creation made in Unity, and I love that I can say it delivers ‘console quality’ to the mobile with the help of Unity’s awesome tech. It runs at an impressive 60fps on the iPad 2 and 30fps on the iPad, iPhone 4 & 3GS. It will also be released on Android. Since lighting is one of the main elements making the game look so good, here are some notes about the techniques that were used.