Lighting In Unity

Learn AAA cinematic tech art techniques in the Unity game engine (Global Illumination and Shader Graph)

Last updated 2022-01-10 | 4.8

- Complete A to Z of lighting in Unity
- Enhance your 3D game worlds with clever lighting strategies
- Build fast and efficient lighting setups for early prototyping of games

What you'll learn

Complete A to Z of lighting in Unity
Enhance your 3D game worlds with clever lighting strategies
Build fast and efficient lighting setups for early prototyping of games
Build complex lighting setups with direct lighting and global illumination
Customize stock or Asset Store assets through lighting
Create dramatic cinematic atmosphere using lighting
Creating shader effects using the visual ShaderGraph editor

* Requirements

* Unity 2018.2 and later
* Basic working knowledge of the Unity Editor

Description

2019 Update:  Check out our new Section on the ShaderGraph! Creating shaders can now be done without writing a single line of code!

Making your Unity games look amazing is easier than you think. You don't need to be great at programming and don't need incredible 3D art skills.

Creating immersive games starts with understanding the secrets of lighting and being able to squeeze maximum value from your technical art pipeline. 

This course assumes that you're a little bit familiar with Unity but doesn't require you to have any programming or art experience. We will take you through Unity's lighting toolset and discuss everything from colour theory to shadows to materials that emit light.

More specifically, the course will start off with basic light set ups such as a single point light and build up to complex lighting setups. Among other things, the course covers:

  • Direct realtime lighting including directional lights, point lights and spotlights.

  • Global illumination theory and principles, both realtime and baked (pre-rendered).

  • Emissive materials and how they can be used to make specific items in your scene stand out.

  • Three- and four-point lighting set ups - how to create them, how to vary them and how to use them for different effects in your games.

  • ShaderGraph: get started using Unity's visual editor for creating shaders!

We follow a project-and-challenge approach which means you don't just sit there and watch us, you follow along and flex your own creative muscles to create interesting game moments. We all learn best by doing (rather than just watching)!

You will also be asked to take on a bigger challenge and light your own scene. This serves as a great portfolio piece, or just something to show yourself what you're capable of once you've finished the course.

Unity is a fantastic engine which enables you to make production-quality games. Furthermore these games can be created for Windows, MacOS, iOS, Android and Web from a single source!

This course is perfect for programmers who want to make their game more interesting, for 3D artists who want to triple how amazing their artwork looks, designers who dream of creating cinematic moments worthy of AAA games, and anyone else who is interested in leveling up their tech art skills.

Get plugged into our communities of amazing developers on Facebook (nearly 20k), in our own TA-curated Community (17k views/day), and our student chat group (10k live at any one time).

Come and join us in this course now - you'll be amazed at what you're capable of creating!

Note: the project files for this course have been updated to use Unity 2019 with version 2 of the PostProcessing stack. We recommend that you complete the using Unity 2019 or above.

Who this course is for:

  • Unity developers (or anyone) interested in 3d art
  • Beginning 3d technical artists interested in Unity3d
  • No programming or scripting is required for this course!

Course content

6 sections • 66 lectures

Welcome Preview 02:06

Welcome to the course!

Video ID: 1_IN_TAR

How to Use this Course Preview 06:57

Let's review the best practices for taking this online course.

Video ID: 2_IN_TAR

Lighting Basics Project Preview 01:00

Download the the LightingBasics project for completing Sections 2-4.

Unity Versions Preview 05:38

You can use the Unity Hub to install and launch multiple Unity versions.

Video ID: 4_IN_TAR

Lighting Overview Preview 02:46

Let's explore how Lighting can impact your Unity scenes and make your 3d application more polished and professional.

Video ID: 1_DL_TAR

Directional Lights Preview 13:13

Directional lights can vary by intensity and angle to create the effect of an infinitely distant light source like the sun.

Video ID: 2_DL_TAR

Shadows Preview 10:25

Shadows can be created by a process known as Shadowmapping.  Here we learn how to adjust the various shadow parameters in Unity.

Video ID: 3_DL_TAR

Point Lights Preview 13:22

In this lesson, we setup a sample scene using point lights, which cast light in all directions from a single point in space.

Video ID: 4_DL_TAR

Spotlights Preview 12:28

Here we look at our next basic light type, the spotlight.  In addition to Range, we can control this light's Spot Angle.

VIDEO ID: 5_DL_TAR

Light Cookies Preview 08:44

We can attach a light cookie or gobo to cut a pattern out of various realtime spotlights.

VIDEO ID: 6_DL_TAR

Three-Point Lighting Preview 14:19

Three-point lighting has been around since cinematography has existed.  Let's see how to set up key lights, fill lights and backlights in Unity.

VIDEO_ID: 7_DL_TAR

Light Explorer Preview 08:15

The Light Explorer dialog can assist you with troubleshooting your light setup.

VIDEO_ID: 8_DL_TAR

Section 2 Instructor Hangout Preview 08:28

VIDEO ID: 9_DL_TAR

Check Your Understanding (Direct Lighting)

Direct Lighting Quiz

Section 2 Conclusion Preview 02:01

You've covered the basics of direct lighting.  Let's recap what we've learned.

VIDEO ID: 10_DL_TAR

Introduction to Global Illumination Preview 05:09

Let's make our rendering more realistic with Global Illumination.  In this introductory video, we discuss how GI techniques can improve your scene lighting.

Video ID: 1_GI_TAR

Realtime Global Illumination Preview 12:39

In our first example of Global Illumination, we look at the Enlighten engine and how it is integrated with Unity.

Video ID: 2_GI_TAR

Realtime GI Settings Preview 15:03

Let's tweak some of the Enlighten engine's settings to control the light baking process.

Video ID: 3_GI_TAR

Unity and Enlighten Preview 00:19

This blog entry describes Unity's future development with Realtime Global Illumination.

Baked Global Illumination Preview 13:37

Here we switch from Enlighten to using Unity's built-in light baking system for improved shadow quality.

Video ID: 4_GI_TAR

Progressive Lightmapper Preview 12:18

Improve your interactive light baking with Unity's Progressive Lightmapper.

Video ID: 5_GI_TAR

Environment Lighting Preview 13:48

Environment lighting helps simulate general ambient bounced lighting.

Video ID: 6_GI_TAR

Procedural Skyboxes Preview 13:34

We can replace the basic environmental ambient light with a gradient representing the ground, horizon and sky.

Video ID: 7_GI_TAR

Image-based Lighting Preview 15:14

In this video, we swap our procedural skybox for an HDRI panorama for even more accurate environment lighting.

Video ID: 8_GI_TAR

Ambient Occlusion Preview 14:16

Learn about this shading technique to boost the contrast in your model geometry.

Video ID: 9_GI_TAR

Environment Reflections Preview 12:36

Here we explore how to generate a reflection of our environment in a shiny, metallic surface.

Video ID: 11_GI_TAR

Section 3 Instructor Hangout Preview 07:00

11_GI_TAR

Section 3 Conclusion Preview 02:51

12_GI_TAR

Check Your Understanding (Global Illumination)

Test your knowledge about Global Illumination topics.

Sci-Fi Corridor Introduction Preview 03:28

1_SC_TAR

Area Lights Preview 13:35

In this lesson, we create an area light, useful for casting a uniform light from a rectangular surface.

Video ID: 2_SC_TAR

Emissive Materials Preview 12:27

Emissive Materials allow certain materials to glow as an additional light source!

Video ID: 3_SC_TAR

Update: Post-processing Preview 00:22

Post-processing Stack (Version 2) Preview 13:45

This shows the updated PostProcessing Stack in Unity 2018 and above.

Video ID: 5_SC_TAR

Finishing touches Preview 11:33

Video ID: 6_SC_TAR

FPS Camera Preview 15:56

Let's add a first-person controller so we can examine our environment with a moving camera.

Video ID: 7_SC_TAR

Masks and Layers Preview 17:31

We can use LayerMasks to limit the influence of lights to specific parts of our scene.

Video ID: 9_SC_TAR

Iteration Settings Preview 05:54

Here we examine some settings to improve our lighting workflow so we can iterate more quickly through changes.

Video ID: 9_SC_TAR

Mixed Lighting Preview 17:50

Unity allows lights to work in mixed lighting mode, in order to serve double duty for both static and non-static objects.

Video ID: 10_SC_TAR

Light Probes Preview 15:56

Because moving objects don't receive global illumination, we can approximate bounced lighting on non-static objects using light probes.

Video ID: 11_SC_TAR

Reflection Probes Preview 17:28

Let's add some reflection probes to our scene, so that CG objects can be reflected in certain surfaces.

Video ID: 12_SC_TAR

Screen Space Reflections Preview 06:58

Here we correct some of the artifacts/flashing associated with the Screen Space Reflection in the Post Processing Stack.

Video ID: 13_SC_TAR

PostProcessVolumes Preview 16:51

In this lesson, we review how to create PostProcessVolumes to modify the PostProcessing Stack as we move from one area of the level to another.

Video ID: 14_SC_TAR


Section 4 Conclusion Preview 04:00

You've completed your first real lighting setup! 

Video ID: 15_SC_TAR

Check Your Understanding

Let's review what we learned in assembling our sci-fi corridor scene.

Section Notes Preview 02:10

Here we introduce a new Section of optional videos.

Video ID: 1_LP_TAR

Introduction to Pipelines Preview 02:59

In this lecture, we discuss the three main parts that comprise a Rendering Pipeline.

Video ID: 2_LP_TAR

Frustum Culling Preview 07:26

Here we discuss culling GameObject based on the camera's view frustum, a pyramid-like volume that describes everything in the camera's field of view.

Video ID: 3_LP_TAR

Occlusion Culling Preview 14:15

In this lesson, we discuss how to use the Occlusion Culling window and how Unity culls GameObjects that may be obscured by other objects on screen.

Video ID: 4_LP_TAR

Forward Rendering Preview 09:43

Here we look at one of the fundamental rendering paths, Forward Rendering.

Video ID: 5_LP_TAR

Deferred Rendering Preview 11:07

Here we check out the other Rendering Path of the built-in pipeline, Deferred Shading.

Video ID: 6_LP_TAR

Project Setup Preview 09:41

Here we setup a project with the Scriptable Render Pipeline for use with ShaderGraph.

Video ID: 1_SG_TAR

ShaderGraph Introduction Preview 12:42

Let's review the basic parts of the ShaderGraph window.

Video ID: 2_SG_TAR

Highlight Shader Preview 11:56

In this lesson, we create a glowing highlight using the Fresnel Effect node.

Video ID: 3_SG_TAR

Texture Nodes Preview 08:11

In this video, we replace the solid base color node with the Texture 2D Asset node and allow the user to set a texture map in the Inspector.

Video ID: 4_SG_TAR

MeshHighlighter Script Preview 09:25

Here we create a simple script to toggle between the GameObject and its highlighted version based on mouse events.

Video ID: 5_SG_TAR

SubGraphs Preview 17:53

In this lesson, we learn how to build  SubGraph assets, small reusable fragments of a ShaderGraph that can help you organize your graph as it begins to grow.

Video ID: 6_SG_TAR

Time Preview 15:08

Here we create a new shader for a sci-fi force field effect.  Using the Time node and a sine function, we can add some simple animation to our glowing highlight.

Video ID: 7_SG_TAR

Tiling and Offset Preview 19:14

In this video we use a TilingAndOffset node to take a simple repeatable pattern and fill in the  center for the force field.

Video ID: 8_SG_TAR

Edge Noise (Part 1) Preview 14:06

Using the Step node, we can take a noise pattern and create a SubGraph that can simulate sizzling electrical patterns to add more surface detail on the force field

Video ID: 9_SG_TAR

Edge Noise (Part 2) Preview 17:01

Continuing with our electrical surface effect, we add some simple harmonic motion to make the texture come alive and then integrate the SubGraph within the main ForceFieldShaderGraph.

Video ID: 10_SG_TAR

Lerp Preview 08:53

Here we use the Lerp node to interpolate between two colors and then apply a subtle animation blend to the Rim Color in our ForceFieldShaderGraph.

Video ID: 11_SG_TAR

Position Preview 11:17

In this lesson, we use a Position node to create a color ramp/gradient based on a mesh's vertex coordinates.

Video ID: 12_SG_TAR

Object and World Space Preview 09:30

In this lesson, we examine how to use our Position's vertex data as both Object Space and World Space.  We use a Branch node to add some logic to our ShaderGraph and then set up the Color Ramp as a SubGraph for reuse later.

Video ID: 13_SG_TAR


Forcefield Ramp Preview 07:48

Bonus Lecture Preview 00:08

This lecture includes links to additional game development courses.  Enjoy!