Lumen is a dynamic global illumination and reflection system that provides highly accurate lighting and reflections in a real-time rendering environment.
This page describes how to use Lumen in Twinmotion and provides best practices in order to achieve the best possible results.
For more information about Lumen, refer to Lumen Global Illumination Overview.
Prerequisites
Before you enable Lumen in Twinmotion, use the following settings in the Preferences panel:
-
In the Settings tab, navigate to Graphic hardware support, then make sure DirectX 12 is selected. By default, it is selected if it is supported by the Graphics Processing Unit (GPU) of your computer (Windows only)..
-
In the Quality tab, select the High or Ultra quality setting.
Enabling Lumen
By default, Twinmotion uses Standard global illumination. To switch to Lumen global illumination, follow the steps below:
-
In the Footer, click Properties to open the Properties panel.
-
Under Ambience, click the Render tab, then click the Real time button.
-
Under Global illumination, click the Lumen button.
Visualizing Mesh Conflicts
To visually inspect Lumen Surface Cache coverage and troubleshoot Lumen-related issues, select the Visualize mesh conflicts check box.
When you visualize mesh conflicts, the yellow and magenta highlighted areas in the scene represent surfaces (parts of the meshes) that were culled by Lumen and will not benefit from Lumen global illumination.
-
Yellow areas are either too small, too big, or too far away. This does not necessarily mean they are invalid for Lumen, as you can control these parameters using the Scene detail and View distance settings.
-
Magenta areas are too complex to be completely covered by mesh cards. These areas will not bounce light and will appear black in reflections.
The image below shows the yellow and magenta areas culled by Lumen.
Importing Large Scenes
In general, we recommend you import geometry files of large architectural scenes using real-world scale.
When you import geometry into Twinmotion, you can set the Unit conversion value, which controls the scale at which models are imported. For large architectural scenes, this value can have an impact on how accurately Lumen generates mesh cards.
Most geometry files contain unit information in their metadata about the scale of the geometry. If the unit information in a large architectural scene is set up correctly at real-world scale and you choose Auto as the Unit conversion value to import the file into Twinmotion, Lumen generates the mesh cards on large surfaces correctly.
However, if most of the large areas in the scene are highlighted in yellow when you visualize mesh conflicts, it might mean that the unit scale is incorrect in the imported file, and Lumen has determined that the meshes are too small to generate mesh cards for them.
For example, the image below shows a geometry file imported into Twinmotion using Auto as the Unit conversion value. The model was imported using the units in the metadata of the file, but because the unit scale is incorrect, Lumen thinks that the meshes are too small and has not generated any mesh cards.
You can correct this by reimporting the file using a Unit conversion value of 100.0 (100%), and then scaling the 3D model back down to 1.0 (1%) in Twinmotion. The image below shows the same file as above. The mesh cards are correctly generated as the file was imported at a larger scale into Twinmotion and then scaled down.
Importing Geometry at a Larger Scale
To import or reimport a geometry file at a larger scale and scale it down in Twinmotion, follow the steps below:
-
In the Import window, deselect the Unit conversion checkbox and enter a value of 100.0 (100%).
-
Once the geometry is imported, select the geometry at the container level in the Scene graph.
-
Open the XYZ panel, and scale the geometry back down to 1.0 (1%).
Render Settings
For information on the settings you can define for Lumen global illumination, refer to Lumen in Ambience Settings.
Best Practices for Using Lumen in Twinmotion
The following table summarizes the recommended best practices for using Lumen in Twinmotion and what you should avoid doing to obtain the best results.
Lumen requires more GPU, GPU Random Access Memory (RAM), and Central Processing Unit (CPU) resources than Standard global illumination. This can lead to slow frame rates and slow navigation in the Viewport. To counter this, we recommend that you monitor the following parameters in the Statistics panel:
-
If the GPU RAM value is close to 100 %, reduce the complexity of the geometry and textures in the scene.
-
If the GPU value is close to 100 %, reduce the visual effects in the scene and lower the Quality settings.
For more information on scene statistics, refer to Statistics and GPU RAM Diagnostics.
Item | Best Practices | Not Recommended |
---|---|---|
Mesh Structure | Separate the geometry of your 3D models into multiple instanced meshes before importing them into Twinmotion. | Avoid using large single mesh structures. |
Surface Size and Emissive Properties | Lumen performs best on large surfaces that have low emissive properties. | Avoid using small elements that have bright emissive properties. |
Rough versus Glossy Materials | Use materials with rough surfaces when possible. | Avoid using scenes covered in glossy surfaces. |
SketchUp Pro Files | Convert SketchUp Pro (.skp ) files to the Datasmith (.udatasmith ) format before importing them into Twinmotion. |
Avoid importing native SketchUp Pro (.skp ) files. |
Collapse Mode | Select the Keep hierarchy collapse mode when importing files. | Avoid selecting the Collapse by material or Collapse all collapse modes when importing files. |
Mesh Structure
Importing an entire 3D model into Twinmotion — such as an entire room with a floor and several walls — as a single contiguous mesh is not expected to work with Lumen. Before importing, we recommend you separate the geometry in your 3D model into several separate meshes in your design application.
The following images show how Lumen handles global illumination on the same structure when it is composed of one single mesh as opposed to multiple meshes.
The first image below shows the floor and walls of the structure on the left combined into one single mesh and the floor and walls of the structure on the right separated into several detached meshes.
When Visualize mesh conflicts is enabled, as in the image below, the magenta areas on the single-mesh structure show the surfaces not taken into consideration by Lumen. The structure composed of multiple meshes on the right does not have any magenta areas, which means Lumen has taken all the surfaces into consideration.
You can verify which surfaces are taken into account by Lumen by selecting the Visualize mesh conflicts checkbox under Ambience > Render > Global illumination > Lumen.
The image below shows the lighting results on both structures when enabling Lumen. Because the structure on the left is a single mesh, Lumen does not provide global illumination to all surfaces. However, Lumen accurately provides global illumination on all the surfaces of the multiple-mesh structure on the right.
Surface Size and Emissive Properties
With Lumen, emissive materials have an impact on indirect lighting and generate specular and diffuse bounces. This means you can apply an emissive material to an object, such as a cube, and use it to light a scene.
Unfortunately this is not a robust solution and fails when the surface is too bright relative to the size of the object, and can cause noise artifacts to appear in the scene. To counter this, we recommend using the lights in the Twinmotion Library (Library > Lights) as the primary illumination sources in your scenes.
The image below shows a scene that includes a small object on which an emissive material was applied. This is not recommended as it creates unwanted noise artifacts in other areas of the scene.
When the small emissive object is removed, as in the image below, global illumination is rendered correctly without any noise artifacts.
Rough Versus Glossy Materials
Lumen works best on materials that have a Roughness value of at least 40%. Materials with a Roughness value below this are more resource-intensive, as Lumen needs to trace extra rays to provide reflections.
In the image below, the floor has a very glossy surface which results in a lot of reflection artifacts.
The image below shows the same scene as above, but the surface of the floor has an appropriate roughness value for Lumen, making the reflection artifacts subdued.
SketchUp Pro Files
Twinmotion supports the import of native SketchUp Pro (.skp
) files. However, these types of files have two-sided geometry that do not translate well in Lumen scenes; the global illumination provided by Lumen appears overly dark and noisy.
For the best results, we recommend converting SketchUp Pro files to the Datasmith (.udatasmith) format before importing them into Twinmotion. To do this, download and install the Datasmith Exporter plugin for SketchUp Pro, and then convert your file to the Datasmith format using the Datasmith Exporter toolbar in SketchUp Pro.
For more information on how to create Datasmith files, refer to Datasmith File Import Workflow.
The scene below shows a native SketchUp Pro file imported into Twinmotion. Because the file was not converted to the Datasmith format, the image is darker than expected. When Visualize mesh conflicts is selected, several surfaces are not taken into account by Lumen.
When the SketchUp Pro file is converted to the Datasmith format, as in the scene below, the mesh cards are properly generated; the light coming from the window can bounce off the surfaces, properly lighting the room. When Visualize mesh conflicts is selected, there are only minor mesh conflicts that appear.
Collapse Mode
When you bring files into Twinmotion using the Collapse by material option, all objects that use the same material import as one single mesh. When you use the Collapse all option, all objects import as one single mesh. Both of these options limit the amount of Cards that Lumen can generate, and unwanted artifacts such as light bleeding may appear in the scene.
We strongly recommend you select the Keep hierarchy collapse mode when importing files into Twinmotion. This preserves the same geometry hierarchy that is used in your source file and keeps all objects separate, increasing the Surface cache coverage and ensuring the Cards are properly generated.
Keep Hierarchy
The scene below was imported into Twinmotion using the Keep hierarchy collapse mode. Lumen global illumination is correct, and when visualizing mesh conflicts, most of the Cards are generated; the only mesh conflicts that appear are related to small and thin geometry.
Collapse by Material and Collapse All
In comparison to the scene above, the two scenes below were imported using the Collapse by material and Collapse all modes.
-
The scene imported using Collapse by material shows no glaring issues with global illumination, but overall is darker than when using the Keep hierarchy collapse mode. When Visualize mesh conflicts is selected, the results can appear acceptable for such a small scene. However, certain areas of the desk do not have proper coverage. This type of issue can get exponentially worse in larger, more complex models.
-
The scene imported using Collapse all shows serious light bleeding artifacts. When the Visualize mesh conflicts option is selected, most of the surfaces are magenta, which means that virtually no Cards have been generated.