3.95 out of 5
65 reviews on Udemy

Building an Architectural Walkthrough Using Unity

Walk around in your own architectural design with the Unity Game Authoring system
Packt Publishing
492 students enrolled
English [Auto]
Export CAD and BIM models into a format that Unity can use
Optimize the geometry and import settings for clean and reliable results
Adjust the materials to add bump maps and transparent or reflective effects
Add a Sun light with shadows and ensure even lighting
Improve interior lighting with additional lights
Bake the lighting onto the model with Lightmapping
Add a character to freely walk around your model
Use animations to apply interactive features such as opening doors
Build a complete standalone application that can be shared online
Gain control over your model with Unity scripts

Starting from 3D models in common architectural software, we will discuss the workflow to load the models into Unity and even incorporate model changes. The building model will be refined, with better materials and lighting, so it looks attractive to the visitor. With a few basic scripts, we add the necessary interactivity and finally export it into an application you can share.

This video tutorial shows an efficient and easy approach to apply an architectural 3D model into your project for quick and reliable results.

About the Author

Stefan Boeykens is an architect-engineer from Leuven (Belgium). After graduation, he was involved in architectural practice for about 4 years, before returning to the KU Leuven for his PhD in 2007 on the integration of Building Information Modeling (BIM) in the design process. He worked on a variety of research and education projects, ranging from CAD and BIM to metadata for architectural archives and cost simulations. His main research interests are BIM, 3D modeling and visualization, digital historical reconstruction, parametric design, programming, and interoperability between a variety of software tools, with a special focus on openBIM.

Importing Architectural Models in Unity

Introduction and Workflow Overview

What this course entails

From SketchUp to Unity

Unity cannot directly import SketchUp files. Export the model to compatible 3D formats for Unity.

From ArchiCAD to Unity (Step 1)

ArchiCAD does not support FBX or Collada. Instead of using 3D obj formats, we rely on model exchange through Cinema 4D.

From ArchiCAD to Unity (Step 2)

Unity integrates directly with Cinema 4D.

Updating Models

Once you established a model import, Unity retains its import settings and will reload the model when the file is updated automatically.

Improving Performance

Architectural models tend to be large and complex. Splitting the model into separate files and applying culling and batching will improve performance.

Navigating an Architectural Model

Adding a First-person Controller

Creating an interactive navigation system can be quite elaborate. Luckily, Unity provides two common setups: a First Person and a Third Person controller.

Preventing Running Through Walls

3D objects are usually not aware of other's geometry in the scene. Colliders are used to detect the objects passing through them.

Adding a Third-person Controller

Depending on the context, you have to choose between a First and a Third Person view point. Unity provides both of them as examples.

Loading a Different 3D Character

Using the default construction worker is not suitable in typical architectural visualization situations. You can use the Unity Asset Store to load or buy new characters and animations.

Adding a Mini-map

To assist the user with navigation, you can add additional cameras that can be used as a subset of the screen.

Improving Materials with Shaders and Textures

Textured Materials with Bump and Specular Mapping

The default materials imported from CAD/BIM can be dull. We can improve them a lot by using multiple textures.

Using a CubeMap for Sky and Clouds

A plain-colored background helps with the orientation a bit. By adding an environment texture, we can see the sky and clouds all around us.

Using a Better Glass Shader

Though we can create a transparent material with the default shaders, it is dull and does not give the impression of a reflection. When we use a special shader, we receive a pseudo reflection.

Procedural Materials Using Substances

Texture materials can use up a lot of memory and are not easy to adjust quickly. Procedural textures can generate textures from a recipe and can be edited.

Cutout Textures Using Alpha Maps

Some objects have holes and cutouts, which can take lots of geometry to model. We can increase the performance using simple geometry and cutout shaders.

Adding Lights and Shadows

Lighting Types

Without lights, your project is dull and dark. There are four different light types available to brighten up any scene.

Adding a Sun with Shadows

There is no sun object in Unity, but we will mimic the light effects of the sun using a directional light. Moreover, it can also cast real-time shadows.

Interior Lights Using Point and Spot Lights

Exterior, direct lighting is fairly easy, but interior scenes can be dull and flat, initially. Use several lights with fairly low brightness to even out interior lighting.

Lightmapping (Preparation)

Real-time lights are very demanding and have lower performance. With Lightmapping, we can pre-calculate lighting as an additional texture layer on objects.

Lightmapping (Calculation)

Calculating lighting in advance can take lots of rendering time and texture memory. Start with conservative settings.

Animating Objects and Lighting

Understanding Animation in Unity

Unity has several possibilities to define animation. Apart from scripting, there are two animation systems available, Legacy and Mecanim.

Creating a Rotating Cube

Animation in Unity is stored in animation clips. We need to create the clips and attach them to the right object.

Keyframing an Opening Door

Gameobjects only rotate around their own pivot point. To rotate them around a different point, we can use an object hierarchy.

Opening and Moving an Elevator

For full control over animation, we require scripting, and we can get quite far with the keyframe animation alone.

Setting Up a SunStudy Animation

An animated sun study uses a combination of different rotations and also needs to shift color. Almost any object property in Unity can be animated.

Scripting to Add Interactivity

Creating Your First Script

Out of the box, Unity is quite complete. However, to add specific functionalities in a project, you require scripting.

Editing a Script in Monodevelop

To write scripts, you need a good code editor. Unity includes Monodevelop, which is an integrated development environment.

Triggering the Rotation of GameObject

Scripts often contain events that need to occur at a specific moment or situation. We react to a Trigger Event to capture the player approaching.

Switching a Material with a Script

Materials are assigned to the Renderer component. With scripting, you can replace them with another material.

Adding a GUI to the Material Switcher

Shortcuts only make sense on the desktop and Webplayer. Adding a GUI button is consistent on all platforms.

Expanding the Scripts

Hiding and Showing Objects

Sometimes you want to hide or show the parts of your model, or you might want to switch between different design alternatives. You can enable and disable the Mesh Renderer component of Gameobjects using a script.

Switching between Cameras

Sometimes you want to present the user with a particular viewpoint: from above or from an alternative angle. We will move our main camera between different present camera positions.

Resetting the Player

When you fall from the world or want to quickly step back to where you began, you can move the player.

Picking Objects

If we want to request more information about a particular object, we need to highlight or select it first. Picking objects uses a cast ray in the scene to pick objects.

Displaying Object Information

When we highlight an object, we want to see some information in a pop-up window. We will request information from a custom component and display it in a GUI window.

Presenting the Final Walkthrough

Bringing Everything Together – The Build Settings

The Unity Editor is an authoring environment, which gives a preview of your game for testing. However, to share your result with the world, you need to compile it in an actual game or app.

Building the Result and Play

Once you have chosen the desired platform and player settings, you can build your game.

Building for other Platforms – Example iOS

Depending on your Unity license and operating system, you have multiple platforms at your disposal.

Compiling and Running the iOS App

Unity supports iOS, but you need a Mac that runs XCode and an iOS SDK Developer license.

Adding a Mobile Controller

Unity has the provision of being controlled by the Unity Remote App which can be run from your IPhone.

Some Final Refinements

While a running app can be all you need, some minor improvements are often required.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4 out of 5
65 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


3 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion