Get Familiar with the lighting in Unreal. Learn about its structure and make a day scene with foliage.
Final Result Explanation:
This is a standing experience. The player can go closer to the small houses and it will trigger a post-processing effect like a memory.
During my daily noon walk I saw this shadow on the wall and decided to make something similar to this. The scene is a small European town . It’s not the final product yet, and I will work on this scene in later plan. The time is around noon and it creates the sharp shadow.
Importing models created with Maya into Unreal
I made the house model myself and tried to import it into Unreal. I would like to make each house a little different, so I didn’t combine the model, which created a mess in the content browser.
So I combined parts together but I have some power to customize it:
However when I am copy pasting the house in the scene I found it hard to organize. I tried to put it into folders, but seems that you cannot copy folders.
Also, when importing into Unreal, it does not keep the model’s pivot. You have to put your model on the origin to get the right transformation, especially rotation.
So I suggested assemble the models outside Unreal. Since I find some problems of the model I made, I am thinking of replacing the model in the future, and let’s see what trouble it will have. (As you can see below, the shadow has strange behavior.) As comparison, Unity’s prefab system is really easy to use.
Using HDRi to light the scene
Unreal support HDRi lighting in both its Skylight and its post-processing.
The left one is using the skylight, and the right one is using the post-processing cube. (Called ambient cubemap, and I also added ambient occlusion since there’s no shadow with ambient cubemap alone) The first difference is that the skylight creates shadow. (Not very obvious in the picture above but I noticed where below the roof and the pavement shading.) Another difference I found: in the refection map, it is layered differently.
For the skylight, it renders behind the scene. For the post processing, you can see it is rendered in front of the scene. See the blurry highlight? ( Left: skylight. Right: Post-processing)
In unreal, you simply need to drag a post processing cube into the scene, then you can add a lot of cool effects. It gives a lot of controls for artist to better tune the scene.
I put two post-processing cube in the scene. The smaller one has fancy Chromatic Aberration, Vignette, Grain, Bloom and Lens Flare. I only set a small value since big intensity will make it look fake. I haven’t test how it feels inside VR.
The larger one only has Auto Exposure. I find it interesting since it is adjusting the exposure and has very natural transition. To better demonstrate, I turn down the light in the scene and here’s the result of enter/exit the post-processing cube:
Other tricks I learned
- If the master texture is too complicated and you want to use just part of the texture parameters, you can put a white texture instead of creating a new material.
- Keep you naming convention since Unreal is strict about repeated names.
- When I build the lighting after importing the trees, it gave me some error complains about overlapping UV. By default, Unreal imports the model and sets its lighting to static. In unity, you can generate lightmap UV in the engine without doing another UV channel. Still trying to figure out what to do.
HDRi: from HDRiHaven https://hdrihaven.com/
Low poly tree by AnthonyVD: https://skfb.ly/6sSUr
Street by 3DMaesen: https://skfb.ly/6wtQu
Textures from quixel megascan: https://megascans.se/
Found a place which lists resources of HDRi maps:
The creator of HDRiHaven has an old post about how to correctly use HDRi:
There seems to be a bug in Unreal and the asset from HDRiHaven can not be imported. It generates an asset error but no message shown in the message log. Resaving it with Photoshop will work.