Immersive Visualization Of Building Information Models

Transcription

Design Innovation Research CentreWorking Paper, Number 6Immersive Visualization of Building Information ModelsBen Dalton and Maxwell ParfittDIRC Working Paper 619 September 2013Version 1.0Please note that this means the document is being checked and modified and is subject tochange. Please do check back for later versions.Design Innovation Research Centre, University of Reading, on@reading.ac.ukPlease cite as:Dalton, B and Parfitt, M. (2013) Immersive Visualization of Building Information Models, Design InnovationResearch Centre working paper 6, [version number].Immersive Visualization of Building Information ModelsWP 6, v 1.01

Design Innovation Research CentreWorking Paper, Number 6Ben Dalton and Maxwell Parfitt, School of Construction Management and EngineeringUniversity of Reading, UK.AbstractThis working paper reports on work to develop and document workflows that can be used to prepare largemodels for real-time immersive viewing with high-end display solutions. As Building Information Modelling(BIM) becomes more widely used in practice, construction professionals want to visualize and interact withtheir models, without substantial model preparation work. The gaming engine Unity3D V4.2 is explored toproduce the virtual environment for visual display, and work identifies different 3D file formats that can beimported and exported. This paper compares 8 workflows that are suitable for visualising large models,from Autodesk, Bentley, Google Earth, Graphisoft, Nemetschek and Trimble products, in a 3D fullyimmersive CAVE. The working paper also discusses 7 key challenges, namely; intersecting vertices, dataheavy models, object nomenclature, duplication of texture-assignments, rectangular texture images,exporting two-sided materials, and inconsistent formatting. It concludes with recommendations forresearchers and professionals that want to view and interact with models on high-end display equipmentand visualisation systems when using the Unity3D game engine.Keywords: immersive environments, BIM, virtual reality, CAVE, workflows, Unity3DWP 6, v 1.02

Design Innovation Research CentreWorking Paper, Number 6Contents1Introduction . 42Method. 42.1Workflows . 42.2Equipment . 52.3Unity 3D . 53Findings . 73.1Workflows . 73.2Challenges of large models . 74Discussion and Conclusions . 95References . 9APPENDIX A: Using Unity . 101.Creating a new project . 102.Importing and utilising assets . 104.Creating a basic scene and previewing in game mode . 11APPENDIX B: Workflows . 121.Autodesk Navisworks Manage 2014 . 122.Autodesk Revit 2013 . 133.Bentley Microstation V8i . 154.Google Earth . 165.Graphisoft ArchiCAD 17 . 176.Nemetschek Vectorworks 2013 . 177.Trimble SketchUp Pro 2013 . 188.Trimble SketchUp 2013 . 19APPENDIX C: File conversion chart . 19WP 6, v 1.03

Design Innovation Research CentreWorking Paper, Number 61IntroductionThis working paper reports the output of a short study to develop new workflows to view builtenvironment models created using standard software packages in immersive visualization environments.The research develops and extends published workflows (e.g. Penn State, 2013), which give guidance toresearchers and students but shows this translation using small and moderately sized building models. Ourinterest is in developing stable workflows for use with datasets on the scale generated by majorconstruction and infrastructure projects. Workflows for translating data into packages for interactive realtime 3D display are important as construction clients and project teams need new ways to visualize andinteract with their data, whilst not incurring excessive latency in the conversion process.The contribution is to identify different software formats that can be imported and exported, comparisonof 8 workflows that are suitable for large models, and a discussion of 7 key challenges when working withmodels for visualisation. The next section provides an overview of the approach and methods used. Thefollowing section provides an overview of the findings and compares workflows, indicating more detailedinformation about Unity3D with the individual developed workflows located in the appendices. The paperconcludes with recommendations for researchers and professionals who would want to view and interactwith models, in real-time, prepared using simple and fast conversion methods.22.1MethodWorkflowsThe focus of this study is on developing workflows from file formats native to the prominent design andconstruction software packages: Autodesk Navisworks Manage 2014; Autodesk Revit 2013; BentleyMicroStation V8i; Graphisoft ArchiCAD 17; Nemetschek Vectorworks 2013; Trimble SketchUp Pro 2013;Trimble SketchUp 2013; and Tekla Structures 18.1. Emphasis was placed on developing short workflowswhich would benefit construction professionals and allow for the transfer of models into the CAVE withrelative ease.Over six weeks, trials were conducted with one collaborator’s model of a large railway infrastructureproject which contained over 14 million vertices. At the start the focus was on the workflow from AutodeskRevit to Unity using previously published workflows as a starting point for the translation activity; howeveras the infrastructure project model was provided in the Bentley DGN format this approach was quicklydropped in favour of using the native file formats. The models master file was first translated as a SKP fileinto SketchUp Pro as an intermediary format to then be exported into Unity as an FBX, but the exportprocess into SketchUp was found to take more than 2 days to export. The resulting SKP file was found to beover 600Mb and extremely slow to manipulate, so the same process was then trialled using the individualsubsidiary seed files which were referenced by the master DGN file, so that they could be recombined inUnity3D. Although this was a shorter process, only taking 9.5 hours, the task was significantly morecomplex as it required a lot of human interaction and the translated models were heavily tessellated bySketchUp. The exported model segments shared a common coordinate system which made the modelsimple to reconstruct within Unity3D, but the excessive tessellation of 5.7 million triangles caused theWP 6, v 1.04

Design Innovation Research CentreWorking Paper, Number 6model to generate high numbers of graphics draw calls, which meant that the best frame rate achievablewas 0.2 fps (frames per second), consuming 0.55GB RAM at a resolution of 1024 x 768 pixels in 2D. To tryand improve the visualisation efficiency, model mesh optimisation was tested within the Unity3D importoptions, but the increase in frame rate was only 0.1 fps.Existing approaches articulated in internet sources such as fora and video hosting websites were tested,however they were in need of further elaboration to accommodate more complex models. Aninteroperability table was created by noting the file format compatibilities for each piece of software.Using an exploratory approach and the information available as a footing, the models from ourcollaborators were subjected to the apparent workflows as indicated by the interoperability table, whilstmanipulating different variables within the software.2.2EquipmentThe CAVE system uses a Dell precision T5500 with a dual socket motherboard, with two Intel Xeon X5647CPU’s installed, running at 2.93GHz, totalling 16 logical processing cores. The system has 12GB DDR3 RAM(4 x 3 GB) and an NVIDIA Quadra Plex D2 which contains two Nvidia 4GB FX 5600 graphics cards and anNvidia frame sync card which is capable of driving four 120Hz active 3D displays at 1024x768 pixelresolution simultaneously.Despite the impressive computing power, the conversion of model data takes so long due to the Bentleyexport utility only being compiled to run under a 32-bit operating system, so is limited to utilisingapproximately 2.45GB of RAM and only utilises 2 of the processing cores simultaneously. If these limitationwere lifted through a new version of the export utility that can address the full RAM available and morethan 2 processing cores, then the system would export far faster. This limitation is present on allcomputers tested during the export process.2.3Unity 3DThe optimal platform for our models is the gaming engine, Unity 3D. Unity can be directly linked to MiddleVR, a program which enables the Unity models to operate on four screens simultaneously whilst utilisingUnity’s render engine for real-time rendering and navigation which permits the usage of motion-capturemediums such as head trackers and fly sticks. The cameras within Unity natively allow for frustum culling,and occlusion culling in Unity Pro; which is ideal for running large models in real-time. Although timeconsuming, the models can be programmed further in Unity to reach a desired level of interaction withrelative ease, such as: Adding physics to objects, e.g. opening and closing doors; creating sun paths;simulating explosions; and incorporating basic acoustics.WP 6, v 1.05

Design Innovation Research CentreWorking Paper, Number 6Unity also proves to be beneficial for workflows due to its file co-occurrence; once a file, such as an FBX, isloaded into a Unity scene and textures etc. have been assigned/mapped, any change to that FBX file in itsroot directory will automatically be updated in Unity with the texture maps still intact, hence you can easilyupdate a model in Unity by simply overwriting the FBX with the updated version.Figure 1: Screenshot of UnityDetails of how to create a new project, import and which assets, create and preview in game mode are inAppendix A.WP 6, v 1.06

Design Innovation Research CentreWorking Paper, Number 633.1FindingsWorkflowsThe workflows for conversion into Unity, shown in Figure 2, have all been trialed as in Appendix B. Thesewere tested with the model from a real infrastructure project, rather than with simplified test data.Figure 2: The main workflows from industry packages into Unity3.2Challenges of large modelsThere are a number of challenges associated with workflows for using large models. Seven of these are:1. Intersecting vertices – It is unrealistic to expect any BIM model to be absent of intersectingvertices, such as beams. However, they should be avoided/removed where possible as they tend toreduce run-time and contribute to the texture-translation issues from Revit.2. Data-heavy models - There is no easy and automatic way to simplify the geometries and reduce thepolygon counts. The model needs to be created with minimal complexity of objects and the correcttools to give the model a ‘lighter body’; the intention of using the models in real-time must existWP 6, v 1.07

Design Innovation Research CentreWorking Paper, Number 6from the start. Think of it like a car: A car with an aluminium body will be considerably lighter thanone with a steel body, and, if someone with a steel car wished to make their car lighter, they couldchange the body to aluminium although it would have been far easier to have had an aluminium carfrom the outset. In short, the models will often need to be re-drawn with simpler geometries for alighter body e.g. instead of creating solid information-intense objects such as cubes, you can createthe same cubes in a hollow and less information-intense manner by using six flat surfaces; themodel will be much lighter if it is originally created in this manner3. Object nomenclature - It is a good idea to name objects in a model in a unique, butcomprehendible manner (not just a series of numbers or “wall42”, for example) and assign texturessimilarly; this can make things a lot less complicated if there is a need to edit the model in Unity at alater stage.4. Duplication of texture-assignments - Where possible, assign textures in hierarchical clusters;ensure objects with the same textures share those textures, rather than ‘creating’ and assigning thetextures twice. This can significantly reduce draw calls, thus increasing performance. In certainsituations, merging meshes can have substantial performance benefits; however, in cases whereocclusion culling needs to be used, if part of the mesh is out of the occlusion area, the whole meshcan disappear.5. Rectangular texture images - Ensure that your textures are square and to the power of two, e.g.2048 x 2048. Unity supports all image formats; however, there have been some occasional issueswhen loading JPEGs.6. Exporting two-sided materials – Reversed faces are not visible in most visualization packages, thusthe modeller must bear in mind which faces will be exposed when immersed in the model andcreate it accordingly. However in the case that the models have already been created, the models’components will need to be exported with two-sided faces; this will double the number of polygonsand have a significant impact on the file size. This will only be an issue on large models wheremodel-simplification is of upmost importance. Many of the vendors do not provide the ‘export twosided faces’ option, but will instead do it automatically. Navisworks is as an exception to this; itneither provides an option, nor does it automatically export two-sided materials.7. Inconsistent formatting throughout the software vendors - Although it may seem from theinteroperability table (reference table) that different programs can be linked via certain formats, itis important to realise that there is no single best format for all of the workflows due to thesignificant variance in the files exported by different programs’, even when their format type is thesame; the exported files are only as good as the way in which the program exports them. Forexample, the FBX created by SketchUp varies significantly to an FBX created by Revit; Revit 2013encrypts its exported materials, making them unreadable by Unity, whereas SketchUp exports itsFBX files with a separate materials file that is readable by Unity. There is an absence of cohesionbetween the software vendors that is especially made apparent by the lack of interoperability whenusing the “collaborative” Industry Foundation Class (IFC) format which is written and interpretedWP 6, v 1.08

Design Innovation Research CentreWorking Paper, Number 6differently by each software vendor, resulting in hiccups such as distorted geometries and missingtextures when an IFC is read by non-native software4Discussion and ConclusionsThe contribution of this working paper is to document workflows that can be used to prepare large modelsfor real-time immersive viewing with high-end display solutions. This is particularly pertinent as theconstruction sector begins to use Building Information Modelling (BIM), which is now mandated for use inall UK public procurement by 2016. Immersive visualization facilities have been available for some time(Whyte, 2002), but there are new opportunities to use immersive facilities such as the ComputerAutomatic Virtual Environment (CAVE). Many of these are now being upgraded as hardware improves andbecomes cheaper, with experiments to use next generation software (e.g. Steptoe, 2013). In the Universityof Reading, as elsewhere, the CAVE has also been reconfigured to operate under the Windows operatingsystem, using Unity3D and MiddleVR. Research is on-going to use the CAVE for other built environmentvisualisation applications (e.g. Tutt & Harty, 2013).We had most success with model flows from Trimble SketchUp Pro and Bentley Microstation for rapidlyviewing and interacting with models on high-end display equipment and visualisation systems when usingthe Unity3D game engine. SketchUp Pro provides a good starting platform for workflows concerning highend visualisation, it; has a simple and intuitive user-interface, creates impressive results which can befurther enhanced by its wide selection of plug-ins, and has the ability to retrieve geospatial informationfrom Google Earth. However, for large complex models, Microstation facilitates an agile transferral withcomparatively less triangulation than SketchUp and enables the modeller to alter the stroke tolerance.The findings of this study can inform the set-up of future practical work.5ReferencesPenn State. (2013). Work Flows Retrieved 8 August, 2013, from http://bim.wikispaces.com/Work FlowsSteptoe, W. (2013). Using Unity and a Kinect in CAVE-like systems Retrieved 8 August, 2013, unity-and-a-kinect-in-cave-like-systemsTutt, D., & Harty, C. (2013). Journeys through the CAVE: The use of 3D immersive environments for client engagementpractices in hospital design. Paper presented at the ARCOM, Reading.Whyte, J. K. (2002). Virtual Reality and the Built Environment. Oxford: Architectural Press.WP 6, v 1.09

Design Innovation Research CentreWorking Paper, Number 6APPENDIX A: Using Unity1. Creating a new projectTo start a new project:File New Project Figure 3: The project wizard in UnityThe project wizard will appear where you can choose the project’s directory and which standard assets you wish toimport. In most cases, you will want to check: Character Controller; Light Flares; and Skyboxes.2. Importing and utilising assetsIf you have already created a project, but wish to import other standard assets, simply: Assets Import Package Select and import required package. Creating a project will create three folders within the project directory: Assets,Library, Project Settings.Once you have created a unity-ready model, you can then simply place the model into the project by either:Dragging the model and any textures folders across the desktop and dropping into the ‘Assets’ panel within Unity;or, placing the model and any texture folders into the ‘Assets’ folder of the project directory. Within Unity, theproject will automatically appear in the ‘Assets’ folder under the ‘Project’ tab.Figure 4: The Assets folder in UnityWP 6, v 1.010

Design Innovation Research CentreWorking Paper, Number 6If you select the model in the assets folder, the ‘Inspector’ tab will appear in which you can change the modelsettings. Here, you can add colliders and scale the model accordingly. Select ‘Apply’ to implement the changes.4. Creating a basic scene and previewing in game modeTo get a model into a scene, drag and drop the project under the ‘Hierarchy’ tab. If you wish to preview the model inreal-time within Unity, a first person character controller can then be dragged and dropped straight into the desiredlocation within the scene.To add a skybox to the scene: Edit Render Settings Select the point to the right of ‘Skybox Material’ search andselect the desired skybox.To add a sun to the scene: GameObject Create Other Directional Light. In Unity, the directional light provides aninfinitely constant flux of light, thus it can be positioned close to the model with the same effects. To make the sun alittle more convincing, you can add a sun flare by selecting the directional light in the ‘Hierarchy’ tab, select the pointnext to ‘Flare’ which appears in the ‘Inspector’ tab and then select the sun flare.Figure 5: The model in ‘game’ modeSimply press the play button to view your scene in the real-time ‘Game’ mode.WP 6, v 1.011

Design Innovation Research CentreWorking Paper, Number 6APPENDIX B: Workflows1. Autodesk Navisworks Manage 2014To export the FBX into Navisworks:Select the green ‘N’ in the top left corner Export FBXIn the FBX Options dialogue box, make sure ‘Lights’ and ‘Cameras’ are unchecked. Ensure to embed textures. Ifmodel is very large, you can try to limit the number of polygons.Figure 6: The FBX optionsUnfortunately, Navisworks does not export double-sided materials. This means, for instance, that you would only beable to see through a window in one direction. To mitigate this, ensure that the materials are rendered on the sidefrom which you will be looking at them.WP 6, v 1.012

Design Innovation Research CentreWorking Paper, Number 62. Autodesk Revit 2013WorkflowOpen up a 3D view of a project in Revit 2013 Click the ‘R’ in the top left corner Export FBX Choose a filedestination Open 3ds Max Click the green ‘3’ in the top left corner Import Select the exported FBX from Revit ‘OK’ to accept default settings Click ‘render production’ on the main toolbar (if you cannot see the toolbar, pressAlt 6) Under ‘render preset’ select ‘mental.ray.daylighting.high’ and select ‘load’ Click the green ‘3’ in the top leftcorner Export Ensure file type is FBX and save in the ‘Assets’ Directory of a Unity project Within the FBX exportoptions, ensure that ‘Embed Media’ is checked and accept the default export options Click ok to any warningsregarding the sun, sky, lighting and any cameras that may be on the project - there are less complications whenthese are configured in Unity.Figure 7: Screenshots in Revit and UnityLessons LearntTranslation from Revit was found to be the most problematic workflow. Previous to 2011, the FBX export would alsoproduce a FBM folder containing the texture properties, thus you could import straight from Revit into Unity.However, since 2011 Autodesk have changed their materials to the Protein 2.0 type, in which the textures are nowencrypted within an Autodesk library file in the FBM folder and cannot be interpreted by Unity 3D. Therefore, Revitneeds an additional intermediary step to transfer into Unity. 3ds Max 2014 is an Autodesk product capable ofreading the encrypted Autodesk Library materials and can then export FBX files with its textures embedded within itthat Unity can detect. However, 3ds Max will not export textures in areas where there is complex geometry, such asintersecting vertices.WP 6, v 1.013

Design Innovation Research CentreWorking Paper, Number 6The building’s geometries should import correctly, however, only some textures are translated where the geometryis complex. To resolve this, you can undertake some time-consuming processes: Simplify the geometries and verticesin 3ds Max to allow for a better transferal of textures; or, unwrap the UVs in 3ds Max and then map them in Unity.Using 3ds Max or some of its plug-ins, such as V-Ray, photorealistic renders can be achieved by rendering and bakingthe textures before importing into Unity. This can be a slow process.There will need to be further development on this workflow in order to establish more direct workflows.WP 6, v 1.014

Design Innovation Research CentreWorking Paper, Number 63. Bentley Microstation V8iPrimarily used for infrastructure design, projects created in Bentley Microstation V8i are usually large and intricate;there are usually many polygons and faces. I found that the FBX export was the best direct export into Unity; theexportation speed was high and there were seemingly no issues with the textures. The DAE export works well, butdoes not export textures.In any case, it is advisable to first compress the model (or piece of the model) within Bentley:File Compress DesignThis will eliminate cross-session data and useless information which has accumulated for various reasons. In mostcases, this only tends to have a slight impact on the size of the file but is worth doing.To export the file:File Export FBX The ‘FBX Export Settings’ window will appear. The stroke tolerance is usually at a default of 0.100m. You should varythe stroke tolerance depending on the size of the model. A larger stroke tolerance will reduce the rendering time,but will provide worse quality rendered surfaces, particularly noticeable on curved geometries. A smaller stroketolerance will increase the rendering time, but will provide better quality rendered surfaces. I have found the defaultof 0.100m to be too small in most cases. I have had success using a range of 0.500m to 1.500m withoutcompromising on quality too much, however,larger models will need to use a higher stroke tolerance. Also ensurethat the Y and Z axis are inverted so they will be situated on the correct axis within Unity.Figure 8: The FBX export settingsWP 6, v 1.015

Design Innovation Research CentreWorking Paper, Number 64. Google EarthSketchUp Pro enables users to capture geospatial information and geo locate a model by using its Google Earthplugin. To export from Sketchup into Unity, the terrain and the buildings need to be exported separately in differentformats. First, within a unity project, create a new folder within ‘Assets’: Right-click ‘Assets’ folder under project tab Create FolderExport the terrain as an FBX by selecting the terrain and following the FBX export process for SketchUp Pro,however, ensure that “export only current selection” is checked and DO NOT export it straight into an assets folderof a Unity project. Once the FBX has been exported, there should be a folder within the FBX’s directory with thesame name as the FBX. This folder should contain the Google Earth image of your geo location.Drag and drop the Google Earth image into the new folder that was created in Unity. It is only then that you canimport the FBX into Unity. If this is not followed, the texture will not map itself to the mesh; the mesh will be blank.The buildings downloaded from Trimble must be then separately exported as a Collada file (DAE). Follow theSketchUp export process.Figure 9: Buildings and terrain in UnityOnce the buildings and the geo location are in Unity, they can be dragged into the hierarchy and should fit togetheras in SketchUp. As mentioned in the SketchUp workflow, the Collada exports will default to using inches as the units,therefore the Collada files will have to be set to a scale of 0.0254. Also ensure that the FBX geo location is at a scaleof 1.WP 6, v 1.016

Design Innovation Research CentreWorking Paper, Number 65. Graphisoft ArchiCAD 17Although fairly slow, the best workflow from ArchiCAD is through SketchUp. Make sure that the model is in a 3Dview (press Ctrl F5), and then select File Save as Select SketchUp file from the ‘Save as type’ drop-down box Follow the SketchUp workflow for exporting a Collada .dae file. This workflow pulls through all of the textures andgeometries correctly into Unity.If you do not have SketchUp, you can export from ArchiCAD as a .3ds file and import that into Autodesk 3ds Max.From there it is best to export an FBX; the DAE exporter in 3ds Max does not export the textures as well as the FBXexporter does.6. Nemetschek Vectorworks 2013From Vectorworks, the only successful workflow directly into Unity has been by exporting a Cinema 4D (C4D) file. Todo so:View the model in a 3D view File Export Export Cinema 4D (3D only)Export the model directly into the asse

from Autodesk, Bentley, Google Earth, Graphisoft, Nemetschek and Trimble products, in a 3D fully immersive CAVE. The working paper also discusses 7 key challenges, namely; intersecting vertices, data-heavy models, object nomenclature, duplication of texture-assignments, rectangular texture images,