How to add lights/illumination to MSFS scenery

Another way to combine these techniques is to export Blender light objects as parts and place them in large quantities within the MSFS SDK.
Installation of various development tools
To create add-on content for Microsoft Flight Simulator, first install various tools on your computer. Please refer to the page below.Naming the package and creating the project
Think about the package name of the scenery you want to create. MSFS SDK has strict package naming rules. Think about a correct package name that follows the rules.Once you have decided on the package name, create an empty project.
Please refer to the page below.
Adding lights/illumination to scenery with MSFS SDK
By using the MSFS SDK, you can easily add light objects that are provided as standard in MSFS to your scenery.




You will then find the light objects that come standard with MSFS. The two most popular lights are "Light_Cold" and "Light_Warm". "Light_Cold" is a white light (daylight color). "Light_Warm" is a light with a slight orange tint (incandescent color).
There are many other light objects available. Try them out!
After selecting a light object, click the [Add] button at the bottom left of the screen.


However, this will also include light objects that are not included as standard in MSFS (other users may not have them) and objects that are not lights at all. Be careful when selecting objects from this list.


Next, drag the green square next to the coordinate axis to move the light only on the horizontal plane. Repeat adjusting the altitude and moving the light on the horizontal plane to place the light where you want it.
Now all you have to do is repeat the steps above to set up your lights. Click the [Save Scenery] button on the Scenery Editor screen from time to time to save the scenery as you work.

Please note that simply placing a light in MSFS will not render the light source itself (a light bulb or fluorescent light). It will only brighten the area around the light source. To make the light source itself visible, you will need to create the light source as a 3D model and set the "emission" material. However, since Google Maps scenery is usually viewed from high in the sky, you can still enjoy it even if you cannot see the light source itself.


The brightness of the light is adjusted by the distance from the scenery object. In this example, two "Light_Cold" lights are placed on each side of the skyscraper (Act Tower).
Where light objects are stored
The light information added to the scenery using the steps above will be added and saved in the "objects.xml" file under the "PackageSources\scene" folder.
Adding lights/illumination to scenery and editing meshes with Blender
By using the free 3D modeling software : Blender and the "glTF-Blender-IO-MSFS" exporter plugin, you can add lights/illuminations to the objects created in Blender and MSFS scenery generated by the Google Earth Decoder, and edit its mesh. You can add four types of lights prepared in Blender: spotlight, point light, sun, and area light. You can also freely set the color and brightness. You can also add blinking lights.However, if you want to edit a scenery generated by Google Earth Decoder, you cannot process the entire scenery at once. You need to add lights and edit meshes for each tile and LOD. As this is a very time-consuming process, it is recommended that you only process landmarks that stand out in the scenery.
Note: The "glTF-Blender-IO-MSFS" exporter plugin must be used with Blender versions 3.3 or 3.6.

You can then process and export the meshes for each LOD to transform the scenery.
Be sure to optimize the scenery data before importing into Blender. If you process the scenery in Blender, an error will occur when optimizing it with Google Earth Decoder Optimization Tools (GEDOT).











You can change the type of light by clicking the [Point], [Sun], [Spot], or [Area] at the top. You can select the light color by clicking the "Color" column. You can select the brightness of the light in the "Power" column. Street lights of around 20~30W, store lighting of around 50W, red flashing lights on top of buildings (Aviation Obstruction Lights) of around 30W, and spotlights used to light up landmarks of around 300W would be a good choice I think.
When exporting to MSFS, the lights appear brighter than they do in Blender.


If the light you want to edit is not selected, select it from the drop-down list at the top of the properties screen.

Checking the "Has symmetry" box will make the light symmetrical. A light cone will be generated on the opposite side of the light's direction. This is effective for spot lights. However, I have not yet been able to confirm the effect.
If you check the "Day/Night cycle" box, the light will only be turned on at night.
The other parameters are for blinking and rotating lights. See the table below.
Keyword | description |
---|---|
Flash frequency (Number of flashes) |
The number of times the light will "blink" per minute.
For example, if you specify 6 here, the light will turn on once every 10 seconds (= 60 sec / 6 times).
If you set this to 0, the light will not blink (it will remain on).
Flash frequency = 60 / Blink interval(sec) |
Flash duration (Lighting time) | The duration of one flash (in seconds). This parameter has no effect when "Flash frequency" is 0. |
Flash phase (Lighting start time) | This is the time (in seconds) from when the model is generated in the simulator until the first flash occurs. This parameter is used to flash multiple lights in the same *.gltf synchronously or asynchronously. This parameter has no effect when "Flash frequency" is 0. |
rotation speed | The number of revolutions per minute of the light. This value only has meaning if the light angle is less than 360° (spotlight). |
For more information about these parameters, see the following pages of the MSFS SDK documentation.


Every time you place a new light, don't forget to set its color and brightness, as well as the properties for the MSFS exporter.
Make the lights a child of a mesh object
The light setup is now complete, but if you export the object in this state, the light will not turn on in the MSFS game. All lights placed in Blender must be children of any mesh object.
For objects with LODs, copy the light to all LODs and make it a child of one of the mesh objects in each LOD. Even for objects that don't have LODs, make all placed lights a child of one of the mesh objects in your 3D model.

First, copy the collection containing the light to the collection for each LOD. Select the collection containing the original light and select "Copy" from the right-click menu.




Do this for all LODs.

However, to export lights, you need to set some options. Open the "Settings" screen of the "glTF-Blender-IO-MSFS" exporter plugin.
The texture should already exist in the project. There is no need to output a new one this time, so create a dummy output folder and specify it in the "Textures" column.
Also, check the "Punctual Lights" box in the "Include"-"Data" section.

On the other hand, uncheck all collections that store the original lights so that they are not output.
And finally click the "Export" button at the bottom.

Also, if you open the ".gltf" file in a text editor and search for the string "ASOBO_macro_light", you will see that the parameters of the added light are reflected.

Please note that simply placing a light in Blender will not render the light source itself (a light bulb or fluorescent light). It will only brighten the area around the light source. To make the light source itself visible, you will need to create the light source as a 3D model and set the "emission" material. However, since Google Maps scenery is usually viewed from high in the sky, you can still enjoy it even if you cannot see the light source itself.

The castle on the left of the screen (Hamamatsu Castle) is lit up from four directions with white spotlights.
I placed several yellow point light sources as street lights on the castle grounds.
In the square at the bottom center of the screen, I placed one white point light source to illuminate the entire area, and five yellow point light sources in front of the surrounding buildings.
There is also a point light source in the small building to the left of the parking lot at the back (Starbucks Coffee Hamamatsu Castle Park Branch).
In addition, red flashing lights (Aviation Obstruction Lights) were blinking on the four corners of the top of the high-rise building (hotel) behind them.
Where light objects are stored
The light information added to the scenery in the above steps will be saved as text data in the "[tile name]_LODnn.gltf" file under the "PackageSources\[scenery name]-modelLib" folder. You can find the light object by searching for "ASOBO_macro_light". You can modify the parameters of a light object using a text editor.
Place the light objects created in Blender in the MSFS scenery
Lights created in Blender can be placed in the MSFS scenery as parts, just like buildings and other objects. It is useful to create parts for lights of various colors, blinking lights, spotlights, etc. that are not provided in the MSFS SDK.
I created three different output levels for the point light source; 30W, 100W, and 1000W, so that they could be used depending on the location where they were installed.
Then, within the same mesh as the sphere, I placed a large cube measuring 200x200x400m about 300m below the origin. By creating a huge cube in a part that does not appear on the ground's surface, I was able to make light objects appear in the game even from a certain distance.




For information on how to use the exporter plug-in and how to place objects in the MSFS scenery, please see the page How to use glTF-Blender-IO-MSFS to export and import 3D data between Blender and MSFS



As you can see in the image on the right, the window color at night works best if you set it to a very dark color.
