Light & Art: Using SVOTI to Build Better Games
An experienced light artist Simon Majar shared some of his ideas about using SVOTI to build more detailed and realistic lighting conditions for your games. He also discussed using CRYENGINE, OTOY Octane, and utilizing photogrammetry to create incredibly detailed 3d environments. You can also check out Simon’s blog, which has a lot of cool info on 3D tools and lighting. Right now there’s not a lot of publications, since the author is busy building a new isometric action/RPG Umbra (we’ve talked with the developers a couple of months ago).
About Simon Majar
Hi, I’m Simon Majar, 25, 3D artist currently working in Paris. I studied industrial design and 3D animation, but visual art is what I’m passionate about. Photography, cinema, painting…and technology. So for me doing VFX and video games is the best balance between art and technique.
I started working at Enodo, doing architecture and industrial visualisations in CRYENGINE. We were doing some quite complex applications and simulations, I learnt a lot about real-time there, and specialized in shading/lighting. Then I worked with ray-traced renderers, Renderman at TeamTo, doing a full length movie called Yellow Bird, and Octane for personal projects at home. A year ago, I started working on Umbra, and we recently founded SolarFall Games with two friends, making the game thanks to our successful Kickstarter campaign.
SVOTI in CRYENGINE
CRYENGINE is a powerful platform, and has, since the second version (2007 with Crysis), a great approach – the WYSIWYG (What You See Is What You Get). It gives more time doing artistic work instead of trying to debug things. For me, the best things are the visual quality, the speed, and the ease of use.
As studying light, global illumination (GI) is always a great subject and I’m really interested in new ways to compute it efficiently. SVOTI means Sparse Voxel Octree Total Illumination, the system basically voxelize the scene, and calculate the GI inside the simplified scene. It allows accurate 2 bounces GI in few milliseconds. What’s great about this system is its speed and simplicity. There is no need to precompute anything, or do time-consuming UVs for a lightmap. It works in every situation, and is easily tweakable for optimization.
Lighting in CRYENGINE is really easy. On Umbra, I previously used the time of day system, with a combination of Environment Probes, ambient lights to simulate occlusion on some areas, and point lights to simulate GI, but I’m currently setting up the SVOTI system, to avoid all that, and have a fully dynamic time of day. Until now we had few hours set, because of the static lights, but now with the new update the occlusion and GI are dynamic. For interior scenes, I used the same tricks with point and ambient lights, plus area projector lights to simulate the skylight. This is now replaced by just putting portals at the windows, the system does the rest, as you can see in the Baron Haussmann.
So now you can get a scene lit in less than 5 minutes, and just tweak and optimize the result. I will write a practical guide about it in the next few weeks.
Octane render is a unbiased renderer working on the GPU. Its particularity is the speed. You can render complex scenes with a lot of geometry and lights in few minutes, and have a noisy but correct feedback in few seconds. I use this engine to educate my eye, understand some lighting and shading cases, and have reference renders. I recently compared some GI results of the Sponza with the SVOGI technique.
So my use of Octane is not necessarily game related, but I believe, in the future we will use ray-traced engines for video games. Brigade for example, from OTOY too, could be the first, the result is impressive.
Potential of Photogrammetry
I’ve been curious about photogrammetry for a couple of years now. This technique can generate a precise geometry and textures with photographs from different angles of a scene. It has limitations, but allows a “photorealistic” result quite easily. This technique is used for many years, and scanned data is now usual in the VFX and video game industry. Quixel with MEGASCANS for example, is doing a great job scanning all type of surfaces, generating physically based textures, that can be used in real time and offline engines.
I always loved small details. I think the details make the difference. With photogrammetry it is an interesting way to experiment with the process, and if the real life scene is (in its way) beautiful, the final 3D result will be as well. In my experiments, I try to capture the difficult relationship between nature and architecture. I always liked how the nature, even in the more hostile areas, always find its way.
On the technical side, you need to respect the basic rules of photogrammetry, and have a good lens. I use a Fujifilm X-M1, a relatively cheap camera, but delivers a sharp result.
Best Tools for Game Artist
The choice of tools depends on what you focus on. I must say that the most useful tool for a lighting artist is his eye. And the best references are real life photographs.
For video game engines, I think they are now all very good, but I really like the speed of the CRYENGINE. Unreal Engine 4 is nice and it has an amazing community. I don’t know much about Unity, so I’m not the person to talk about it.