Howto:Multi-channel lightmap: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 133: Line 133:


If not then with only the greyscale lightmap layer that you want to convert to the the first rgb color channel (r) selected, click on the Channel tab. De-select green and blue channels. All that you should have selected is the red and alpha channels. Save visible to new layer. This new layer is now the red channel layer (the first channel) of what will be your four channel lightmap. Repeat this process for the greyscale image (lightmap) that is going to represent the green channel and again for the one that will represent the blue channel.
If not then with only the greyscale lightmap layer that you want to convert to the the first rgb color channel (r) selected, click on the Channel tab. De-select green and blue channels. All that you should have selected is the red and alpha channels. Save visible to new layer. This new layer is now the red channel layer (the first channel) of what will be your four channel lightmap. Repeat this process for the greyscale image (lightmap) that is going to represent the green channel and again for the one that will represent the blue channel.
When finished with this step you should have three different original lightmaps, each in their own color channel (rgb).


[[File:Tutorial 05.jpg|400px|Changing greyscale to one color channel]]
[[File:Tutorial 05.jpg|400px|Changing greyscale to one color channel]]
Line 138: Line 139:


For the alpha channel, duplicate the greayscale layer that you want to convert to the alpha channel.
For the alpha channel, duplicate the greayscale layer that you want to convert to the alpha channel.
[[File:Tutorial 06.jpg|thumb|Duplicate greyscale for alpha conversion]]


[[File:Tutorial 06.jpg|800px|Duplicate greyscale for alpha conversion]]


[[File:Tutorial 07.jpg|thumb|Convert greyscale to alpha (color to alpha)]]
 
Select color to alpha.
 
[[File:Tutorial 07.jpg|600px|Convert greyscale to alpha (color to alpha)]]
 
 
Chance the color selector to black by clicking on it and choosing r = 0, g = 0, b = 0, apply.


[[File:Tutorial 08.jpg|thumb|Color to alpha details]]
[[File:Tutorial 08.jpg|thumb|Color to alpha details]]
Next you can apply some Gaussian blur to each of the channels you have now created (rgba)


[[File:Tutorial 09.jpg|thumb|Applying Gaussian blur]]
[[File:Tutorial 09.jpg|thumb|Applying Gaussian blur]]
The next step combines the channels back into one image that will be the final lightmap used by the shader in FlightGear.
With the images in order by r, g, b, a Using the dropdown below the Channel/Path/Layer tabs, put the red and green layer to additive. Leave the b layer to normal. make sure they are the only layers active. The last layer (blue) will show to have all three channels combined. select that layer and copy it to a new layer or use the "Layer" menu choice "To new layer".
Were almost finished, The next step adds the alpha channel to the 3 channel rgb layer you just created.


[[File:Tutorial 10.jpg|thumb|Combing color channels by addition]]
[[File:Tutorial 10.jpg|thumb|Combing color channels by addition]]

Revision as of 21:05, 20 August 2016

Multi-channel Lightmap

This documentation is intended to be a step by step guide to produce lightmaps for FlightGear using Blender and Gimp. It is not intended to be a comprehensive tutorial on the use of Blender or Gimp, just enough to get the job done. Anyone with expert skill in either Blender or Gimp is more than welcome to add to this guide with more details, techniques and tricks.

Start by setting up your lighting scheme in Blender. Create the light sources you want to map (bake) in your blend. You can have up to 4 lightmaps per multi-channel light map in FlightGear. Each of those four lightmaps can be a single light source or a combination of light sources. In other words, you could potentially have 2 lights on the left combined into one lightmap and two on the right into another lightmap, leaving 2 channels open for 2 more lightmaps of any configuration.


This is what your cockpit or subject will look like when looking at it in the Material Viewport if using only the normal white light.

Lighting Scheme


You can set up your lights to mimic the 3 color channels used in the shader and thus bake three different light sources into three different channels in one bake session if you wish. This would eliminate some steps in Gimp during the next part of the process, but for the purpose of this tutorial, we'll take the longer approach so you can see how it is possible to work with images and their channels. This is what you might expect to see if you do a light source per color channel (rgb).

Setting up colored light sources


Using Blender, it would be wise to work from a copy of your original blend file to use for the lightmap creation so as not to disturb the original. Because of the nature of the lightmap effect and the way it is applied using shaders, it is required to have all the objects to be influenced by the same lightmap also mapped to the same texture. Tip: Other blends that use a different coordinate space must be converted to the same coordinate space as the final blend that you are creating the lightmap from and also be mapped to the same texture sheet if you want to apply a single lightmap to all those object. This obviously can be a real challenge if using generic instruments.

Selecting object to map in the blend


Using the UV-Image Editor screen in Blender, create a new image that is the same size as the texture sheet being used. Here is where you may have a problem if you have set up your blend to have multiple texture sheets. I happen to have only one texture sheet for the entire blend (by design). These things need to be well thought out, in advance, for ease in setting up the effects later on in the creation process. This is what the map will bake to and be the source of the final lightmap.

Create an image to bake to


Uncheck the texture being applied to the objects.

Uncheck applied texture

Settings for the bake







In the "World" tab select the effects you want Blender to add to the lightmap. Tip: Use only indirect lighting. Let FlightGears shaders take care of the rest. I had good results with the following indirect lighting settings...

  1. 1) Factor .7
  2. 2) Passes 3
  3. 3) Error .25

I set "Correction" to 1.0, but it may only be use if Ambient Occlusion is also checked.


Start the bake













Your now ready to bake. You can either join all the object into one and do a single bake or you can uncheck the "Clear" box in the Bake section and do multiple bake runs over the same image using different selected objects in the edit mode one at a time. With the complexity of the Shuttle Cockpit, I found it easiest to join all the object into a single object and bake only once per light source.

  1. 1) Make sure your object is selected and in edit mode.
  2. 2) Make sure you have only the light source or sources you want in this lightmap active.
  3. 3) In the bake information (Render Tab) make sure you have a reasonable "overlap". Read up in Blender docs for that info. I used 2 and it appears to have been a decent setting for my texture sheet resolution.
  4. 4) Make sure you have selected the image you created in the UV-image editor.














Hit the bake button. When the baking is finished, if everything went OK, you should have a baked map that looks something like this.

Final baked lightmap in Blender


Or if you used colored lights it will look like this.

Multi channel bake


Some of the following Gimp steps will not be necessary if you used the colored lights approach as you will already have the three color channels combined. Also I like to have backup in case I mess something up so I usually make copies of the original bakes to work with VS using the original. Therefor throughout these steps I am copying or creating new layers as I break the channels apart and when I re-combine them. It's not a necessary step. Unless otherwise noted I am usually working with only one layer selected at a time. Later on when your combining them that isn't necessarily true. But then you have to be sure to only have the layers your working with active or it will corrupt the results. Especially during the channel combining steps where you are "adding" layers together.


Import the "baked" Blender lightmaps into Gimp. If you baked a three color channel lightmap you can proceed to the section on converting the greyscale to alpha.

Import as layer baked greyscale lightmaps made in Blender


If not then with only the greyscale lightmap layer that you want to convert to the the first rgb color channel (r) selected, click on the Channel tab. De-select green and blue channels. All that you should have selected is the red and alpha channels. Save visible to new layer. This new layer is now the red channel layer (the first channel) of what will be your four channel lightmap. Repeat this process for the greyscale image (lightmap) that is going to represent the green channel and again for the one that will represent the blue channel. When finished with this step you should have three different original lightmaps, each in their own color channel (rgb).

Changing greyscale to one color channel


For the alpha channel, duplicate the greayscale layer that you want to convert to the alpha channel.

Duplicate greyscale for alpha conversion


Select color to alpha.

Convert greyscale to alpha (color to alpha)


Chance the color selector to black by clicking on it and choosing r = 0, g = 0, b = 0, apply.

Color to alpha details


Next you can apply some Gaussian blur to each of the channels you have now created (rgba)

Applying Gaussian blur


The next step combines the channels back into one image that will be the final lightmap used by the shader in FlightGear. With the images in order by r, g, b, a Using the dropdown below the Channel/Path/Layer tabs, put the red and green layer to additive. Leave the b layer to normal. make sure they are the only layers active. The last layer (blue) will show to have all three channels combined. select that layer and copy it to a new layer or use the "Layer" menu choice "To new layer". Were almost finished, The next step adds the alpha channel to the 3 channel rgb layer you just created.

Combing color channels by addition
Copying results to new layer
Add layer mask for alpha channel
Add layer mask details
Copy the alpha layer
Selecting the mask, make it active
Paste the copied alpha layer
Anchor the pasted alpha layer to the mask
The finished four channel lightmap with included alpha channel mask (rgba)
Close up visual of final four channel lightmap ready for export to FlightGear
Verifying the four channels (showing the red channel)
Verifying the four channels (showing all channels)
Verifying the four channels (showing the alpha channel)