By Kenneth Field, Esri Research Cartographer
In part 1 of this blog entry, you learned about some of the design considerations for creating a large-scale 3D map and prepared your 2D building data in ArcMap. In part 2, you will use ArcScene to create 3D representations of your building data and also transfer your data to Google SketchUp for further model building. Part 3 will use the models to create a 3D map using an isometric projection and show you how to symbolize features.
2. Extruding Buildings in ArcScene
Once you have added a height attribute to your building footprint feature class, it’s time to switch to ArcScene. ArcScene is similar to ArcMap in many ways, but the crucial difference is you can visualize features in 3D by providing height information from feature geometry, feature attributes, layer properties, or a defined 3D surface (such as a digital elevation model, or DEM). You’ll do this using the height data added as an attribute.
In ArcScene, add your building footprint feature class to the table of contents. Because you’re now working in a 3D environment, you have additional ways of interacting with your data that allow you to rotate and tilt the view as well as operate the usual pan and zoom functions (figure 1).
Figure 1. ArcScene Navigation Tools
Now you can use the height information to extrude the building footprints. Right-click the building feature class in the table of contents and select Properties. In the Layer Properties dialog box (figure 2), click the Extrusion tab, check the Extrude features in layer box, and then select the field that contains your height attribute as an Extrusion value (in the example below, this is [height]). Then toggle the Apply extrusion by drop-down box, select adding it to each feature’s base height, and click OK.
Figure 2. Using Layer Properties to Extrude Data in ArcScene
Your 2D building footprints will now be extruded to the height of each building to create 3D representations for each building (figure 3).
Figure 3. 3D Extruded Buildings in ArcScene
3. Converting Data
The next stage converts your 3D building footprints into a true 3D dataset by creating multipatch geometry, which models the exterior shell representation for 3D objects (see the Esri white paper for full details of the Multipatch Geometry Type).
Multipatch geometry defines a collection of triangular faces, much like a Triangulated Irregular Network (TIN) data model. Collectively, the triangular faces create 3D features. To create multipatch geometry from your 2D extruded features in ArcScene, you will use the Layer 3D to Feature Class tool and select Buildings as the Input Feature Layer and a suitable name for the Output Feature Class (figure 4).
Figure 4. Layer 3D to Feature Class Tool
A new multipatch feature class of the data is added to the scene in ArcScene (figure 5).
Figure 5. 3D Buildings in ArcScene as a Multipatch Feature Class
To render the building models with textures and imagery to create a realistic building model, you now need to transfer your buildings from ArcScene to a third-party 3D design package. There are many you might use including CityEngine, 3DS Max, or SketchUp.
Google’s SketchUp is used here, since it provides the basic tools to apply textured and photo-realistic rendering to the multipatch building blocks you’ve created in ArcScene. Because SketchUp doesn’t natively support the multipatch data format, you will need to convert it into an interoperable format—in this case, the Collaborative Design Activity (COLLADA) format. COLLADA is one of a number of very useful data formats that is interoperable with a range of third- party 3D design software and is perfect for moving data between ArcScene and SketchUp.
Using the Multipatch To COLLADA tool, export your multipatch feature class to a collection of COLLADA files. Figure 6 shows the multipatch dataset as the Input Multipatch Features; you will specify an Output Collada Folder, which will store your collection of COLLADA files. When you specify a Field Name, your COLLADA files will be named according to the ObjectID (or whatever attribute you specify). In the example shown, a separate COLLADA file will be created for each separate feature in the multipatch dataset. The building with ObjectID 1 will be called KU_multipatch_1.dae, and so on.
Figure 6. Multipatch To Collada Tool
If you select particular buildings in the dataset using the Select Features tool prior to running the Multipatch To Collada tool, only those will be exported. If you export the whole dataset, each building will be exported and will have its own COLLADA file. You’re now ready to apply some rendering in SketchUp.
4. Rendering 3D COLLADA Models in SketchUp
The COLLADA (.dae) file(s) you created can now be imported to SketchUp. Once the file opens, you should select all (CTRL+A) and then explode the features (Edit > Component > Explode). This releases the separate faces of the 3D model so you can work with them individually.
Each building can be edited and modeled to render the facades and detail you want using SketchUp’s design tools. There are numerous tutorials available to help you render 3D models using SketchUp. You can use the textures available in SketchUp to apply surface types to the buildings and modify the shape of roof features and other smaller building characteristics. You can also apply photo-realistic renderings using photographs you may have taken when you completed a site survey. If you plan on using photographs, attempt to make them as orthographic as possible (i.e., take them perpendicular to the feature) and as small as possible in terms of file size and pattern repetition (because you can use a small piece of photo-realistic rendering and tile it across a building face). Simpler patterns and fills and limiting the use of photographic rendering will result in smaller file sizes and improved redraw speeds when you finish the model. However, photographs can be used to add signage to your building models to add realism. Figure 7 illustrates one of the buildings from the university campus, showing it before any rendering (figure 7a) and after rendering has been applied using SketchUp (figure 7b).
Figure 7a. Rendering a COLLADA Model in SketchUp (before)
Figure 7b. Rendering a COLLADA Model in SketchUp (after)
Once you have finished rendering your model, you can save it as a SketchUp (.skp) file so you can go back and make modifications easily at a later date, but in order to move it back into ArcScene, you once again use the COLLADA data format. In SketchUp, export your model to a COLLADA file (.dae).
5. Placing Rendered 3D Models in ArcScene
Once you’ve rendered your 3D models in SketchUp and exported them as COLLADA (.dae) files, you’re ready to bring them back into ArcScene, taking advantage of some of the new 3D editing capabilities available in ArcGIS 10.
Begin a 3D edit session using the 3D Editor toolbar. 3D editing works in exactly the same way as 2D editing except that it is designed for the 3D environment by considering the z-value (height) of the geometry in addition to the x- and y- values.
Using the Edit Placement tool on the 3D Editor toolbar, select the building you wish to edit (figure 8). Your selection should match precisely the COLLADA model from SketchUp that you intend to import. Once your building is selected, you’ll see its faces highlighted; select Replace With Model on the 3D Editor drop-down menu.
Figure 8. 3D Editing and Model Selection in ArcScene
Navigate to the COLLADA (.dae) file for your building and open it. The model you exported from SketchUp will now automatically replace the basic ArcGIS multipatch feature, since the spatial reference has been maintained throughout the various data conversions you’ve performed (figure 9).
Figure 9. Replacement of a Mutipatch Feature with a Rendered Model in ArcScene
This demonstrates how simple it is to move data between your GIS environment and 3D design software (like SketchUp) so you can add realistic renderings to your 3D building. Once you’ve added all the 3D models to ArcScene, save your edits and exit the 3D edit session. Your new 3D models will replace the basic multipatch features in the geodatabase.
This part of the blog entry showed you how to convert your 2D data to 3D in ArcScene and then use conversion tools to get the data into SketchUp for rendering. Finally, you brought the models back into ArcScene and replaced the basic multipatch features. The final part of the blog entry will show you how to position the models in ArcScene and work with 3D symbols and drawing to create the finished 3D map.