Adding Emissions to Custom Textures in Unity using Krita.
Objective: show the Reader how to create an Emission Map from a Base Map using Krita, then apply it to your Scene for a dramatic effect.
As I work my way through the GameDevHQ’s Guide to Beautiful Games in Unity course, I’ve been learning a lot about Texture Maps and how they can be modified to taste in order to customize the look and feel of the game objects in your Scene. In this article, I will show you how to take an existing Base Map, and pull the information from it required to generate a new Emission Map to apply to your game objects.
Now what are Emission Maps? Emission maps are “used to describe how much bloom/glow should be emitted from parts of a sprite/texture. Emission maps are grayscale: black means no emission for that pixel, white means full intensity emission”.
My goal is to take the texture map for these Scifi test tubes in my scene, and create an emission map to add a toxic greenish glow.
The different maps are applied to the materials. So in our example, the Scifi_Testtube_03 game object has a specific material assigned to it in the Materials sub folder, and the source textures for this material’s map are kept in the tex sub folder.
The test tube already has a Base, Metallic, and Normal Map. The Emission has been left unchecked and has no Emission Map assigned. Let’s work on changing that…
The texture we need is the low_DefaultMaterial_AlbedoTransparency. The next step will be to locate this file on your hard drive. To do this, right-click on the png file and select Reveal in Finder (for a Mac) of Find in Explorer (for Windows). This will bring up a window showing exactly where the png in question lives.
Now the course I’m following demonstrated these steps using Adobe Photoshop, and suggested you could do the same with GIMP. Being rather unfamiliar with those particular software programs, I set out to find an alternative. I opted to use Krita, which is a professional free and open source painting program.
Start Krita, and with the finder window open, simply select and drag the low_DefaultMaterial_AlbedoTransparency.png into the Krita new project window as per the example below. This will open the texture map onto a layer and you’re now ready to start making modifications.
In Krita, select the Contiguous Selection Tool and select the areas of the texture map which represent the “glass” of the test tube game object. Doing so will generate a new Selection Mask in your layers. Turn off the Background layer, right-click on the Selection Mask layer and create a New Layer from Visible. You will now have a third layer named Visible. Now turn off your first Selection Mask layer.
Going back to the Visible layer, select the large area in red, switch to the Fill Tool, and fill the area in black. You will see second Selection Mask layer getting generated, but just ignore it and keep working on the Visible layer. Then via the menu bar go to Select > Invert Selection to swap the areas selected, change your color palette to white, and fill those remaining areas. Remember from the definition: black means no emission for that pixel, white means full intensity emission!
The final step is to Save As… back into the original folder, ensuring it remains a png file, and amending the file name to label it as an emission texture. In my example, I saved the file as:
low_DefaultMaterial_AlbedoTransparency_Emission.png
At this point, you should now have a new file in your tex folder along with those original texture maps. We’re almost there…
The last step is to apply this new texture map as a Emission Map. Back into Unity, select the Scifi_Testtube_03 material and look at the Inspector. Turning on the Emission (check the box on the right) will make the entire game object light up. That’s not what we want. Take your new emission texture, click and drag it into the small square to the left of Emission Map to apply it, and then adjust the HDR settings to adjust the color and “glow”.
The results speak for themselves. Using the original texture and manipulate it to create an emission map can be done relatively easily. Having game objects glow can be very cool and can drastically change the mood of your game. I hope this demonstration using Krita was useful for those on a shoestring who may not readily have access to more powerful editing software. As always, thanks for reading :)