When working on a 3d game by yourself you need to have knowledge about preparing scenes. In this post I will give you some tips about:
- Static and dynamic lighting your levels,
- Using Unreal Engine 4 tools to prepare scene,
Basically lighting and preparing scenes is big piece of cake of game development and there are separate positions for people doing this. Graphics Level Designers, Lighters, Meshers – it depends on company, but mostly they have graphics knowledge.
<strong>This Tutorial has been created using Unreal Engine 4.8.2</strong>.
Make sure you are working on the same version of the engine.
If you are doing game with “realistic” graphics (as I’m doing) unfortunately you need to have good computer to work with. 4 cores CPU, SDD disc and good graphics card. For couple of years I was working on old computer here at home. When my new box came everything changed…now I can build lighting in 3 mins instead of 3 hours. I think I was really motivated to work with old computer 😉
In earlier post I showed you some great sci-fi enviro assets packs. In this post I will use pack from Manufactura K4. Please read post about importing this pack from Unity to Unreal Engine 4. You should read Creating Basic Scene as well.
Unreal Engine 4 use light maps for lighting named Lighmass. There are great documentation pages about Lightmass:
- Must Read – Unreal Engine 4 Lighting Documentation page,
- Unreal Engine 3 documentation page. Yes – you can learn a lot from this page even when using Unreal Engine 4,
- Static AO,
- Some basics on Evermotion,
And about level design:
As always – take your time! You won’t learn this if you won’t invest your time on reading the docs and creating prototypes. It’s better to test this out on test scenes.
When I’m lighting scenes first I’m adding one, two lights and try to get the best results only from them using Lightmass Settings. Some settings which can be helpful:
- Static Lighting Level Scale. If you are working on small level you should definitely scale this down. Build time will increase but lighting will be more detailed,
- Num Indirect Lighting Bounces. It means how much time light can bounce from meshes. If you know that you will have lot of small lights this should be scaled down,
- Indirect Lighting Quality. I’m always pushing this to > 1,
- Environment Color / Intensity. This is emulating sun light which will go to indirect lighting,
- Use Ambient Occlusion. Really useful but you will get results only in High lighting quality,
- Compress Lightmaps. If your level is small you can turn this off. All lightmaps will be uncompressed with much more better quality. Disabling this will make your level 4x bigger size on disc.
When working with static lighting make sure you have proper lightmaps resolution.
Basically your gameplay arena should be green. Blue means less resolution (quality). You can select static mesh and search for Overridden Light Map Res and make the resolution bigger or smaller depending what color the mesh have. After updating this value you need to rebuild your lighting. Meshes that don’t have lightmaps generated will look like this:
Here you can find my ligtmass settings for first corridor:
I have only 3 stationary lights on the scene. Stationary lights are dynamic so your materials will look much more better in Stationary light radius.
Rest of my lights are static. I have 4 envrio lights with bigger radius and rest lights are really small to drive small emissive lighting.
I’m using spot lights as well on the big lamps.
After you are happy with your lightmaps insert Sphere Reflection Captures. I have two of them near gameplay area.
There are still issues with reflections captures on mobile, but you can use mobile preview to check the results out.
If you are happy with your lighting insert Post Process Volume into the level and check Unbound on it. There are lot of options there and I don’t want to go thru them. I think it will be better for you to play around with them!
If you want to create better scenes my tip is – watch lot of movies, watch screens from other games! Check how others are doing it.
Results that you can use as reference.
Implementing game is taking time but writing about it is taking much more effort!