-

No Directional Lights Tutorial Unreal Engine 4

Learn how to light your level without a Directional Light in Unreal Engine 4 - If you do not want to lighting the environment with a Directional Light, here you will find solutions.

Solution 1 - Similar light effect as with a Directional Light, but with a light spread more evenly across the level

In my own opinion, if you have a level that has an environment and a light which resembles with the Earth natural atmosphere and light, the best solution is to use the default Sky Sphere Blueprint with a Directional Light attached to it, the solution found below is the second best option that you have. Important! The following solution will not work optimal on endless games.

Let's start. First step, you need a Static Mesh with a Spherical form, the Static Mesh needs to have enabled the Double Sided Geometry option, in the Static Mesh Editor > Collision > enable Double Sided Geometry, if you do not know where to find a Static Mesh with a Spherical form, or you do not know how to enabled the Double Sided Geometry option, no problem, move to the next step.

Second step, we will add a material to the Static Mesh, open the Content Browser > in the right corner down, click the View Options > check the Show Engine Content box, next to the Filters button in the left corner up, click the - Show or hide source panel button, then, select the Engine Content folder and type in the search box the word: sky

Select one or all of the following materials: M_Procedural_Sky_MASTER02 and / or M_Sky_Panning_Clouds2. If you skipped the first step, you also need to select the blue SM_SkySphere. After you have made the selections, Copy them in the Content folder of your Project.

Step three, create material instances of each of newly added materials, this way, if you do not like the future changes that you will make to the materials, you can always create new material instances. Next, add the Static Mesh with a Spherical form / SM_SkySphere in your level, make it large, to encompass your entire level design, add the material instances to it, and test different material options, like: colors, stars, clouds, light power, etc. Build the light in the level to see how the light is spread across the level, if you do not like it, make changes to the material instances until you are satisfied with the results.

Important! To catch the light emitted by the Static Mesh / SM_SkySphere, you need a Sky Light actor in your level. The upper edges of the Static Mesh have to be considered part of the sky by the Sky Light actor, so you need to scale the mesh until you achieve that, or you need to set a lower Sky Distance Threshold in the Details panel of the Sky Light actor.

Solution 2 - How to light a level without a Directional Light

This solution, is useful, if you have a game or a level that doesn't have an environment and a light which resembles with the Earth natural atmosphere and light.

There are three main ways of lighting the environment without directional lights, you can use Point Lights, Spot Lights and / or the Sky Light. Emissive materials can also be used to lighting the environment, but without a Sky Light, the result will be of very poor quality.

Using Point Lights and Spot Lights - Not the best solution, but still a solution

Using only Point Lights and Spot Lights can be a solution, not the best, but still a solution. This variant will come with many challenges, like: poor light quality, low performances, high rendering cost and high fps. I will not provide detailed explanations for this solution, since the following one is much better, all I wanted was to point out that if you want, you can use only Point Lights and Spot Lights.

Using Point Lights, Spot Lights, The Sky Light and Emissive materials - This, I find it to be the best solution

By using a combination of emissive materials and the Sky Light, you can achieve to have in your level a light similar if not better than the one provided by the Directional Lights. First, you need to create meshes with emissive materials that will provide light for the Sky light actor, these meshes can be visible or invisible (your choice), important is that these meshes need to be taken in account as Sky actors, this way, the Sky light actor will be able to provide light for your entire level. The Point Lights and Spot Lights can be used to light up areas of your level where the light from the Sky can not reach.

How to create emissive materials

Let's create your first emissive material, go to the Content Browser > Click RMB > Select Material from the list > Name the material > double click LMB to open it. Now, in the material editor click RMB > Type in the search: VectorParameter and select it > change the color in the Details panel that is located in the left side of the editor > connect the first white node to the Base color input > connect the first white node to the Emissive color input > Save in the Toolbar panel. Congratulations! You have created your first Unreal Engine 4 emissive material. You can drag and drop the material on any mesh you choose from the viewport.

Make the emissive material more flexible

After you have created the emissive material, you can control how bright should be the light emitted, to achieve that you need to add two extra nodes between the VectorParameter and the Material inputs. In the material editor click RMB > Type in the search: Constant and select it > Type in the search: Multiply and select it > connect the Constant node with the B input from Multiply > connect the first white node of the VectorParameter with the A input from Multiply > connect the Multiply to the Emissive color input > Save in the Toolbar panel. Now, to control how bright should be your emissive material change the value of your Constant node in the details panel located on the left side of the Material editor, smaller values will emit a weak light, while larger values will emit a stronger light, the values can vary from 0 to n. Important! You should create material instances, this way you can modify the colors and the brightness of the material more faster and easier, also, you will provide a smaller install to users, since all the material instances are part of one material. By creating multiple materials instead of material instances you will waste time and have a larger install package.

How to create invisible meshes that can provide light to the environment

If you want to create an invisible mesh that is emitting light, you need to select a mesh, add an emissive material to the mesh, an make some important changes to the mesh in the Details panel, like:

- go to the Collision section, and next to the Collision Presets select OverlappAllDynamic (with this setting you will have a mesh that overlaps everything, for instance: projectiles, characters in your game, etc.)

- go to Lighting section, and in the Lightmass Settings check the box next to Use Emissive for Static Lighting (this setting will make our mesh an actor that is emitting light in the environment)

- go to Rendering, and check the box next to Actor Hidden In Game (this setting will make the actor invisible in game)

Congratulations! You have created an invisible meshes that is emitting light in the environment. You can set the location, rotation and scale as you wish. Important! If you do not see any results, go to Build in the Toolbar panel and select Build Lighting Only, now you should definitely see results.

How to make actors part of the Sky

To create a visible or invisible actor part of the Sky, you need to select the Sky Light actor, and in the Details panel under the Light section search for the Sky Distance Threshold (the value you put in this section will be the distance from which any geometry should be treated as part of the sky). Let's say you put a value of 5000, if you want a mesh to become part of the sky, change the location of the mesh on the Z axis to something above 5000 and that actor will be treated as part of the sky. Why is this important? Because, now if that actor is emitting light, that light will be taken by the Sky light actor and scattered across your level. Important! If you do not see any results, you need to select the Sky Light actor and in the Details panel look for Recapture Scene and press the button Recapture, also go to Build in the Toolbar editor and select Build Lighting Only, now you should definitely see results.

Interesting articles to read on Edvog.com
Unreal Engine 4 Beginner's Guide
Unreal Engine 4 Tutorials & How To's (With Pictures & Video)
Blender 3D Beginner's Guide
GIMP Beginner's Guide

About Edvog.com - Courses, How To's, Tutorials, Articles & Resources - Games, Music, Videos, Education, Information, Health, Medicine & Research

My name is Andrei Ionita, I am the creator and owner of edvog.com website, I am also the creator and owner of all of the products associated with it, such as: games, music, videos and more... I like to write articles about everything I find interesting in this world, most of the time I write educational articles, but you may also find articles without a main topic. The entire content found on this website is fact checked and original, when I post something, I try to double check all the information provided against all the reliable and trustworthy sources that I can find. On this website you may find content about medicine, the purpose of this type of content is simply informational and is not intended to be a substitute for professional medical advice, for questions you may have regarding your health, always seek the guidance of your doctor or other qualified health professional.

About entertainment and media - Beside, being a website owner and content writer, I'm also a game developer, music producer and video creator. I create, video games, music, animations, photos and more, this is why, from time to time, I will also post content about entertainment and media industry (a broad terminology, just to cover everything in the category). If you like platformer or runner games, you can check out the games made by me on Steam and on Google Play. If you like Relaxing, Ambient, Chill-out, Lounge, Electronic or Trap music you can check out my Youtube channel, Spotify profile, iTunes profile, Google Play Music profile, etc. Who knows? Maybe your next favorite game or song will be created by me :) If you want to support my work, you can play the games created by me, listen to my music and/or Make A PayPal Donation, whatever form of support you will choose, I thank you and wish you a nice day!

Edvog.com / Andrei Ionita on the internet

YoutubeGoogle PlaySteamAI Edvog on SpotifyAI Edvog on Google Play MusicAI Edvog on iTunesAI Edvog on SoundCloudSupport My Work Make A PayPal Donation

Comments