Bringing BIM to Life with Unreal Engine

Unreal Engine, developed by Epic Games, is one of the world's most open and advanced real-time 3D creation tools for photorealistic visuals and immersive experiences. It is not commonly known that there is an Unreal Engine Datasmith suite of tools and plugins available for most of the major desktop BIM tools like Revit, Navisworks, Archicad, and Sketchup. Unreal Engine also has support for IFC import, so it can enable OpenBIM workflows as well.

In this article, I will go through how I brought my BIM model into Unreal Engine. I will also show some examples of what you can do to make this BIM model more interactive and “playable” in Unreal Engine.

Importing BIM with Datasmith

I had my BIM as a structural IFC model, and it contained the three frame structures: foundations, columns and beams. The original model was created with Tekla Structures. I opened the IFC file with Navisworks and exported the model as a Datasmith file. The Datasmith file format is developed by Epic Games, and it provides Datasmith plugins for all major desktop BIM tools that you can download.

After that I started a new Unreal Engine project, and I used the “Games-Third Person” template for my new project.

Next, I created a new Basic level in my project. This contains a floor object and a lightning environment with sun, sky and clouds. The Basic level is a good starting point for bringing BIM into Unreal Engine.

I activated the Datasmith importer plugin in my Unreal Engine project and imported my BIM project into the Basic level I had created.


The import process was straightforward, and the loading time was very quick. After the import, I was happy to find that all object level BIM information was available in Unreal Engine as Datasmith metadata-properties.

Next, I tried to play the game, and I realized that I needed to add colliders to my BIM objects.

I managed to add colliders manually, but I needed to find some automatic way to add colliders to all BIM objects. I will get back to this issue later in this article.

Realistic PBR materials – Quixel Megascans

Unreal Engine is well-known for its PBR (Physically Based Rendering) materials. PBR materials are designed to accurately replicate the way that light interacts with different surfaces, which makes them ideal for use in 3D modeling and rendering applications. I decided to try the Quixel Megascans material library which is seamlessly integrated into Unreal Engine. This library contains over 10,000 individual assets, including materials, 3D models, and textures, and it is constantly expanding, with new assets being added regularly. Epic Games acquired Quixel in 2019, and since then, the Quixel Megascans library content has been available for free to all Unreal Engine users.

I wanted to add PBR materials to my BIM objects and I downloaded wood, concrete and steel materials from the Quixel Megascans library.

I then manually added the Quixel materials to a few BIM objects, making the BIM model start to appear more photorealistic.

BIM Import Process Automation – Visual Dataprep

Manually adding materials and colliders to all BIM objects would have been a very time-consuming and tedious task. Fortunately, there is an automatic way to do this. It involves the use of Unreal Engine’s Visual Dataprep to automate the BIM import process.

Visual Dataprep is a tool within Unreal Engine that allows you to process and manipulate large amounts of data in a visual, node-based interface. It is particularly useful for tasks such as cleaning up and organizing data, generating variations of existing content, and preparing assets for use in your game or simulation.

With the help of the Visual Dataprep editor, I was able to create recipes for automatic PBR material setup and automatic collider setup for all BIM objects.

The recipes can be tested inside the Visual Dataprep editor using the Execute command. You can then apply the Commit command to import the modified BIM objects in the current level.

Play the Game

Now that all the materials and colliders are in place and working correctly, the game can be played, allowing you to “run around” in a photorealistic BIM model.

It is also possible to add some additional functionality to this playable BIM model to make it more interactive. This is described in the following sections.

3D Assets, Animations, and Interactivity

A essential part of any Unreal Engine experience are the 3D assets, and Unreal Engine supports a wide variety of 3D asset formats including FBX, OBJ, and 3DS. These assets can be imported into the engine using the import feature within the editor.

Animations are used to bring characters and other 3D assets to life in a game or application. Unreal Engine animations can be created using the Animation Editor inside Unreal Engine, or you can import animations created with other tools.

Typically, in every experience there needs to be some interactivity, and Unreal Engine provides good tools for creating interactivity. Blueprints in Unreal Engine are a visual scripting system that allows developers to create complex gameplay mechanics and interactions without the need for traditional coding. Blueprints use a node-based interface that allow you to create logical connections between various elements of the Unreal Engine project.

In my example BIM model, I wanted to add a sledgehammer hit animation to a third person character, and for the interaction aspect, I wanted to add BIM object hiding functionality and an explosion effect. I downloaded the 3D sledgehammer asset from Sketchfab and the hit animation asset from Mixamo. For the hit interaction, I created a blueprint method with the help of visual scripting. This is how the final sledgehammer hit action looks like:  

Physics Simulation (Chaos Destruction)

Chaos in Unreal Engine refers to a set of physics and destruction tools that allow for the creation of realistic, dynamic, and highly-interactive simulations. The Chaos physics engine is designed to handle complex physical interactions, such as collision detection and fracturing, to create a more immersive experience in games, architectural visualizations, and other interactive media. With Chaos, you can create destructible environments, objects, and characters that react realistically to forces such as explosions, impacts, and environmental factors like gravity and wind.

The following animation shows the application of Chaos destruction applied to the facade elements of an IFC model. It was done by creating geometry collections for IFC objects and fracturing them by using the uniform method.

BIM/IFC Information into User Interface (Widgets)

Unreal Engine widgets are user interface elements that can be created using the UMG (Unreal Motion Graphics) system, which provides a visual interface for designing and laying out UI elements. UMG widgets are created using a combination of blueprint nodes and widgets in the Unreal Editor.

I used this feature to show the object level BIM information during the play mode, as shown below. It involved creating the widget blueprint and adding the functionality to read Datasmith metadata values of the BIM objects that are being pointed to in the user interface. It required some visual scripting, but the Unreal Engine documentation does a good job at providing instructions on how to read Datasmith metadata in blueprints.

Conclusion

I have been using BIM models over 20 years with tools like Tekla, Solibri, Archicad, Navisworks, Vico, iTwo, Tocoman, Synchro, Revit, Trimble Connect, Simplebim, and Dalux. I do not remember the last time I was this excited to learn something new related to BIM/VDC utilization tools — using my BIM model as a “playground” and adding PBR materials, animations, 3D assets, physics, chaos, widgets, blueprints, etc. Not only was it new, it was also exciting and fun! I appreciate that Epic Games, the company behind Unreal Engine, has developed plugins for BIM tools to allow BIM models to be brought life in Unreal Engine.

Thank you for reading my article and hopefully you got inspired to try out some of these topics yourself with Unreal Engine. I have created YouTube Tutorial videos for every step of this article. You can find my video Tutorials here: BIM tips and tricks YouTube channel 

About the Author

Janne Salin is a BIM/VDC Service Manager at YIT Construction in Finland. He has an MSc. Degree in Construction and Real Estate Management and is passionate about improving the usage of digital technologies in the construction industry. His BIM tutorial videos can be seen at BIM tips and tricks YouTube channel, and his LinkedIn profile can be found here.



AECbytes content should not be reproduced on any other website, blog, print publication, or newsletter without permission.

Related Articles

AEC at NVIDIA GTC 2022

This article captures the highlights of some of the AEC sessions at NVIDIA’s recent GTC conference, including those from AEC firms that are implementing its Omniverse real-time visualization and collaboration platform as well as from AEC technology vendors who have developed connectors for it.

Virtual Reality for Fun and Profit: Archicad to Twinmotion

In this article, Peter Twohy, founder and principal of 2e Architects in Maryland, shows how the use of Virtual Reality created with Twinmotion can dramatically increase client satisfaction, and how to integrate Twinmotion with the BIM workflow of Archicad.

RESIN Architecture: Firm Profile

RESIN Architecture, a design, planning, and visualization firm with projects across the western region and also in several midwestern and southern states in the United States, shares its perspective on AEC technology in this Firm Profile.

Quick Tips for Creating Realistic Visualizations in Enscape

This article by Melos Azemi, creator of the Youtube channel “Scale,” provides five professional trips for creating high-fidelity real-time renderings in Enscape that are the next best thing to reality.