• Tuesday March 3rd, 2015
  • Blogs

Written by Ivan Pedersen, Technical Artist, Geomerics

The team here at Geomerics has just finished a few months of fun and hard work up to GDC and we are really excited about what we have to show you this year.

This short post is about our latest demo called ‘Subway’ which shows Enlighten running in a full level using dynamic lighting and quite a few features of the Enlighten SDK including the ability to dynamically destroy parts of the level to let light pass through and keep the indirect lighting consistent.

We had a great response from the industry to our last demo of the Realistic Rendering room in UE4 lit with Enlighten. If you haven’t seen it yet you can find it here. It is great working with the high quality assets supplied with UE4 from our friends at Epic Games as we only have limited resource for creating demos and artwork within the team.

We had a team of one technical artist and two programmers for the Subway demo – and everybody was shared between work for this demo and work on our main product, Enlighten.

We had three main goals for the Subway demo:

  •  Show Enlighten working in a level that has reflections, dynamic objects and dynamic lighting
  • Destroy parts of the level and have Enlighten update the lighting environment in real-time
  • Show dynamic lighting gameplay

We decided to take the UE4 Reflections Subway assets from Epic and rebuild them into something that resembled a bigger level. The end result was just too repetitive and we needed more variation. We did some rock sculpts ourselves with ‘rocking’ texture Substances using Allegorithmic Substance Designer. We added some player–controllable dynamic lights scripted through Blueprint which drive the emissive lights and the interactions with those lights that can be picked up by the player.

With Enlighten it’s possible to make changes to the environment geometry and have the lighting update in real-time. This is done by Enlighten in three steps:

  • Decide what parts of the scene we want to destroy
  • Call a destroy event which tells the Enlighten runtime to make that part of the scene transparent
  • Sample the Enlighten probes on each side of the wall and use the result for the Enlighten global illumination.

This video shows the probes and the process of destroying the wall with the lighting environment updated in real-time on each side:

We had fun working on the demo and sometimes things didn’t always go to plan. Some of these incidents were rather entertaining so we cut a little reel of bloopers – all a result of the software doing more or less exactly what the developer tells it to J

In a future post we will talk a bit more in depth about the other parts of the demo. Have a great GDC and come back later for more updates on Enlighten.