Building an Architectural Walkthrough Using Unity
- Description
- Curriculum
- FAQ
- Reviews
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.
-
1Introduction and Workflow Overview
What this course entails
-
2From SketchUp to Unity
Unity cannot directly import SketchUp files. Export the model to compatible 3D formats for Unity.
-
3From 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.
-
4From ArchiCAD to Unity (Step 2)
Unity integrates directly with Cinema 4D.
-
5Updating Models
Once you established a model import, Unity retains its import settings and will reload the model when the file is updated automatically.
-
6Improving Performance
Architectural models tend to be large and complex. Splitting the model into separate files and applying culling and batching will improve performance.
-
7Adding 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.
-
8Preventing 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.
-
9Adding 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.
-
10Loading 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.
-
11Adding a Mini-map
To assist the user with navigation, you can add additional cameras that can be used as a subset of the screen.
-
12Textured 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.
-
13Using 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.
-
14Using 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.
-
15Procedural 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.
-
16Cutout 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.
-
17Lighting Types
Without lights, your project is dull and dark. There are four different light types available to brighten up any scene.
-
18Adding 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.
-
19Interior 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.
-
20Lightmapping (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.
-
21Lightmapping (Calculation)
Calculating lighting in advance can take lots of rendering time and texture memory. Start with conservative settings.
-
22Understanding Animation in Unity
Unity has several possibilities to define animation. Apart from scripting, there are two animation systems available, Legacy and Mecanim.
-
23Creating a Rotating Cube
Animation in Unity is stored in animation clips. We need to create the clips and attach them to the right object.
-
24Keyframing an Opening Door
Gameobjects only rotate around their own pivot point. To rotate them around a different point, we can use an object hierarchy.
-
25Opening and Moving an Elevator
For full control over animation, we require scripting, and we can get quite far with the keyframe animation alone.
-
26Setting 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.
-
27Creating Your First Script
Out of the box, Unity is quite complete. However, to add specific functionalities in a project, you require scripting.
-
28Editing a Script in Monodevelop
To write scripts, you need a good code editor. Unity includes Monodevelop, which is an integrated development environment.
-
29Triggering 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.
-
30Switching a Material with a Script
Materials are assigned to the Renderer component. With scripting, you can replace them with another material.
-
31Adding a GUI to the Material Switcher
Shortcuts only make sense on the desktop and Webplayer. Adding a GUI button is consistent on all platforms.
-
32Hiding 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.
-
33Switching 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.
-
34Resetting the Player
When you fall from the world or want to quickly step back to where you began, you can move the player.
-
35Picking 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.
-
36Displaying 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.
Social Network