Thursday, 25 May 2017

Final Renders and Conclusion

This unit taught me a lot about scene lighting.

I feel I learned more from observing and researching using the already built demonstration scenes, such as Reflections and the Library, than looking at the Unreal website tutorials, as I felt the practical and observation method suited learning about such a visual subject.

I feel my final result is pretty good for a render scene, but the settings and route I had to take to get the lighting effects I did would not work so well in a game.

My scene is set up so that it can be observed in real time, but it really bogs down my machine when used in this way. Others may have a better experience with their better processors and graphics cards.

It would be interesting to see in the future if a similar level of quality can be achieved with some sacrifices so that it can run better in real time, but the point of this unit was to create the best visual render quality.

Here are some renders from the scene, plus additional renders can be produced by using my project file (provided to the college) and using the HighResShot 2 console command.

















Rendered Video Sequence

Here's my final rendered video sequence:


Wednesday, 24 May 2017

Peer Feedback


I asked for feedback from a class member.

What do you think of the general lighting?

Nick: The scene is lit quite nicely, with no areas being in complete darkness and thanks to the amount of torches and the lighting in the corridors being present is nice too.

What do you think of the effects, sun rays, water effects, ceiling reflections, torches, candles, etc.?

Nick: The manual god rays fit nicely, beaming in from any general user would assume the directional light to be. The reflections in the water are a particularly nice touch also, reflecting in-engine elements from across the room.

What do you think of the renders and the video?

Nick: The renders and video are nice, with appropriate scenes being taken into account for the stills, the sequencer is maybe a little long for me personally, but it showcases the level and the lighting within well.

Any general feedback on how the lighting or effects might be improved?

Nick: The one criticisim I have is the continuity in textures between the general wall segments and the upper, arched wall/ceiling segments. some more attention could have been paid here, but considering the time constraints and level of quality throughout the scene as a whole, it is a very minor criticism to give.


Monday, 22 May 2017

Camera and Sequencer

To render out a Camera scene, with an animated camera, I used the Sequencer and a Cine Camera object.

The sequencer is almost exactly the same as the one featured in Maya. I used the Maya sequencer extensively during a previous Unit, so this was relatively simple to pick up.



I moved the camera around the scene, capturing interesting angles and adding key frames where required.



At certain points the automatic smoothing didn't act as expected, so I had to go in and edit the sequencer curves, in the same way as I had in Maya's Curve Editor.

When rendering the sequence out the first time, I noticed some scene drop-out as shown in the shot below:



I tracked this issue down to a Project Setting called Occlusion Culling. In a real gaming environment you want the fastest possible performance, this setting un-loads objects not in view from the render scene, which causes a slight gap when they are re-added to the view. As this is going to be a render only scene, performance doesn't matter so much, so I turned the setting off and this fixed the issue.



The sequencer is a much better interface than Matinee, and seems more robust to scene changes. It isn't just used for editing camera animations, it can animate any object or setting in the scene. The key-frames and curve editor approach is much more industry standard and because of my experience of a similar interface in Maya, I was able to pick it up relatively quickly.

Sunday, 21 May 2017

Wet Cobbles Vertex Painting

In another post, I covered how the Wet Cobbles material was pieced together from research into materials.

This material is set up to take input from Vertex Painting. Basically this means that the amount that a certain colour is vertex painted onto certain areas of a model is the amount and areas where the effect will show.

This is demonstrated below, the effect is controlled by the Blue vertex paint channel, observe how each tile reacts to each paint configuration.





Fully Blue is dry, a slight fade to black gives a damp effect, more blotchy black areas gives a puddled look and 100% black is full flood.

Now that this effect is in place, the entire floor will need to be vertex painted to look wet and puddled in a natural way.

This is achieved by hiding most of the scene and leaving the floor visible while I work, so that objects and walls don't get in the way. Seen below is before I started properly painting, with just my experimental paints in place.



Then after a bit of work, I got some good effects and it to look natural.



And a bit of a Lit Preview:



The main complaint about this is that the Vertex Painting Editor does NOT support pen tablet pressure, so I had to set the flow quite low and build up the painting with the mouse gradually to get it to look natural.

Saturday, 20 May 2017

Wet Cobbles Material Effect

When I researched using the Reflections demo, I found the water and wet floor effects really interesting, and I figured I could use a similar configuration in my own scene.

I decided to reproduce the wet floor effect, but with using a cobblestones material as the basis.

To get this effect, I first had to convert the Cobbles material I was already using in my scene into a Material Function, which could then be used later with the Water effect.



Then I reproduced the Water reflection effect from the Reflections demo, but replaced the original texture with my new cobbles material function.



This provided the basis of my floor texture, but was only the first step.

Next I had to get the effect onto my floor.

Friday, 19 May 2017

Light Material Function

Because my environment has water reflections in it, I thought it would be useful to create the Light Material Function featured in this tutorial video.


While I didn't end up with the exact same result due to different available assets, I did find a substitute tiling noise texture that worked just as well.

Here is my version of the water ripple Light Material Function:



As you can see, my noise is colour, but it doesn't reduce the effect that I wanted. I'll just have to tweak the colour in the actual light.

I found this information very useful both with creating materials and using material functions in lights.

I decided at a later point that the effect wasn't scattered enough, so I returned to this material and added a few more noise layers and multiple scroll directions to increase the surface scatter to the point I was happy with.

Thursday, 18 May 2017

Animated lighting - Torch and Candles

Because I wanted the scene to not just be static, I created some blueprinted models with animated lighting effects.

I wanted moving shadows ans subtly flickering light levels, so first in the blueprint viewport, I made a torch holder, a fire effect particle and two lights, one is a point light to provide the animated area shadow, and a spot light to make a directed light throw onto the floor.



In the blueprint event graph, I first get the location of the point light, then set it to a variable, which becomes the basis of the movement. On the event tick I have a world location change for the point light, where the location is set by small random values added to the current location variable vector pins. This ensures the light bounces around a little inside the head of the torch, trowing a random shadow movement onto the wall.

The intensity of both lights are also set on the tick using the set intensity node and a random float in range.



I also did this for the candles, with a very similar node set-up.

Wednesday, 17 May 2017

Sunshaft Effects

In my scene, I wanted to have visible sun shafts. There is a setting for sun shafts built in to the unreal lights, but these come with several drawbacks:

The effect only works best when Atmospheric Fog is added to the scene, this is a disadvantage if you do not want a fog layer at all.

Additionally, the effect only works when the light source itself is inside the viewable area of the camera, and even then the effect is only visible when the camera angle is within 90 degrees of the light source direction.



These are all huge drawbacks if you want the sunshaft effect to be visible from anywhere in  your scene or level.

I had to get creative.

I used a streaked texture on a semi-transparent material, applied to a mesh which was some flat planes in a crossed configuration.

I placed them over the light source, and incremented the design to get a good effect as I went along.

The progress is shown below, and you will see the final effect in the end of project renders.












Tuesday, 16 May 2017

Lighting Research - Library

To continue my lighting research I used the Library demo scene.



I noted how near reflective surfaces, a sphere reflection capture was used. This ensures that there is an accurate depiction of the surrounding area on the reflection surface.

They use a Movable Directional Light for the main light source coming from outside with the colour temperature set quite warm to simulate the sun. The movable setting allows it to cast dynamic shadows at the expense of performance.



The way the sun is simulated in this scene is quite good and similar to the effect that I want, so I will use this to help my development.

Monday, 15 May 2017

Lighting Research - Reflections Demo

I downloaded the Reflections demo project from the Epic Games Launcher as I would like to research more on how reflections, especially water textures and wet surfaces are implemented into the engine.



This was extremely informative and gave me an excellent basis to work on my scene from, and allowed me to improve my knowledge of how materials are built and how effects of this type are achieved.

I will definitely be applying this knowledge to my own scene.

Sunday, 14 May 2017

Lighting Research - Lightroom Day/Night

I downloaded the Lightroom Day/Night demo from the Unreal Marketplace to get some more perspectives on lighting in Unreal.



From running the demo, I can see that you can get some very realistic lighting and materials from Unreal Engine, especially the refraction in the glass vase.





After looking into the included materials, the glass effect is actually deceptively simple. It uses a Frensel effect node (used for edge lighting a material https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/HowTo/Fresnel/ ) to create the opacity and refraction in the material output node. The rest is mostly just made up of constant values, as it's a single colour transparent object, meaning no need for textures.



As an experiment, I decided to see how this material would take a surface detail such as Normal Mapping.

I added a Brick normal map I had from another project into the material and observed the result.



It seems that yes, this material can be used with a normal map to great effect. This means it can be used for patterned or privacy glass, or even to just make the vase appear less perfect, like it would be in real life.

Saturday, 13 May 2017

Unreal Tutorial - Types of Light



The light types Tutorial is located here: https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/LightTypes/index.html

UE 4 has four different light types:
Directional lights - used for primarily outdoor lighting or infinite distance light casts.
Point lights - are a light bulb like light. They emit light in all directions from a single point.
Spot lights - These emit light from a point, but are focused into a cone.
Sky lights - Will capture the background of the scene and apply it as lighting to the level's meshes.

All of these lights can be set to Static, Stationary or Movable, except for the Sky light.

Friday, 12 May 2017

Unreal Tutorial - Light Mobility



Light Mobility Tutorial located here: https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/LightMobility/index.html

This tutorial covers the tree light settings for light mobility:
Static - A completely static light that has no overhead during a running game.
Stationary - Light type that can change its color and brightness at runtime but cannot move, rotate or change influence size.
Movable - A fully dynamic light capable of changing all of its properties during runtime.

Static Lights are completely processed before the game is run, which means they have less impact on performance, but their settings or position cannot be changed by in-game actions.

Stationary have a medium impact on performance. There are several settings which can be used and it has the ability to use pre-computed shadows and indirect lighting, as well as the ability to change brightness and colour for things directly lit (this will not affect the indirectly lit objects as it's baked into the lightmap).

Movable lights can be moved and change all of their settings during run-time as well as casting dynamic shadows, but at a much greater performance cost. Each movable dynamic light can be up to 20X more impactful on the system than an equivalent Static or Stationary light.

Thursday, 11 May 2017

Unreal Tutorial - Lighting Basics


The Lighting Basics Tutorial located here: https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/Basics/index.html is a very basic overview of light usage in Unreal.

From previous experience, I have already surpassed the scope of this tutorial, but here are the basics of what it covers:

Placing and manipulating lights is performed in much the same was as any other object in Unreal, they can be dragged around the environment with the mouse and have their attributes edited in the details window.

The parameters which are covered in this page are:
Intensity - Brightness or power
Light Color - the colour of the emitted light
Attenuation Radius - the fall-off range of the light
Source Radius and Length - Shape and size of the specular highlight
Lightmass - Pre-computed shadows for static lights

Wednesday, 10 May 2017

Unit Brief

We have been tasked with creating a high quality render scene with a theme which matches our game project.

We will be required to research lighting and visual effects to produce high quality images.