Scenery tool-kit: part 1

I did mention in an earlier post that there are a lot of reasons why I'd redo an airport, including physical changes to the real airport, improvements in the simulator itself, user perception of what makes a quality airport, and access to better resources. With Wellington, the main reason was a huge increase in the quality of resources needed to build it, but there are other things which make the job easier, and more satisfying.

I'll cover a couple of these here, in the first Godzone/Development scenery design tutorial. These tutorials follow in the tradition of the old Godzone tutorials, but will be a bit less structured, and kind of random...

All images here are thumbnails, you can click on them to see the full-sized image, which is recommended!

When I first worked on Real NZ Wellington back in 2006, the resources were very basic -- just a LINZ aerial image of the greater Wellington area, really. To add to this, I took a couple of helicopter flights, one over the airport and one over the central city, and took plenty of photographs. I used these photos to create building and runway textures, but also to have an overview of what needed to be built for the sim. So most building models were textured from a combination of aerial photos and ground-level photos taken around the airport and city.

What I didn't have back then was a reliable way to determine the actual size and shape of a building, so I guessed, simply by looking at the photos I took from the air. Here's one of the photos which I used to build The Warehouse, which borders the airport.

A helicopter is a valuable tool for scenery design...

A helicopter is a valuable tool for scenery design...

Building this originally drove me balmy. It's particularly annoying that this big ugly shed is so close to the airport, otherwise it could be replaced with a simple autogen box. But the buildings at the top of this photo actually sit on the western tarmac, so it is always going to be a major feature. Size and shape were just a guess, and the roof required a lot more vertices than most buildings, and vertices were a performance problem in FS2004.

As I plan to rebuild everything for the new Real NZ NZWN, I need to revisit this monstrosity. I am in fact using the same photos, I don't imagine that The Warehouse has changed much since then, but I do have the benefit of a lovely 10 cm/pixel geo-referenced aerial image. So now the size and shape is not that much of an issue, I just need to use the aerial image to create a background image in GMAX, and size it properly. Still, there's no easy way to do this without a lot of fiddly work, and I like to keep things simple.

This shows the Warehouse area at a quarter size of the original aerial image.

This shows the Warehouse area at a quarter size of the original aerial image. (The full-sized version, not the thumbnail, so click on it!

But there is one way to get a correctly-sized building footprint into GMAX, using a technique which didn't exist back in 2006. It relies on another GIS data-file, this time the Wellington City Building Footprints, and a handy tool called scenProc. ScenProc is a new beta tool from Arno at, designed to convert GIS data into autogen for the sim. However it does one other thing, which is undocumented at the moment, because it is unfinished. But it is very useful here.

Normally, scenProc takes a GIS data file of building or vegetation footprints, and makes autogen 'annotations' which place these footprints as simple autogen. However Arno is working on a way to convert building footprints into actual 3D models, which are automatically geo-referenced, so scenProc will start with a data file (Shapefile format), and output BGLs which can just be popped into a scenery folder to make them appear.

This is limited at the moment, as it used a simple colour material rather than a texture, and it's tricky to vary the height of buildings, but it does show the sort of thing we can look forward to using in the future.

Rather than simple autogen, imagine auto-creation of 3D models which match the size and shape of the real buildings.

Rather than simple autogen, imagine auto-creation of 3D models which match the size and shape of the real buildings.

One use for this feature at the moment, though, is the ability to create a 3D object which can be dropped into GMAX, showing the exact size and shape of a building. I've used this for a few buildings around Wellington -- the Railway Station was an ideal candidate -- and I'll use it for the Warehouse building.

Here's the Warehouse as it appears in the GIS footprint shapefile:


The Warehouse is the shaded footprint.

The Warehouse is the shaded footprint.

I start by exporting the section which includes the Warehouse to a shapefile. Then I use scenProc's undocumented CREATE3DBUILDINGS feature, which takes a few seconds.


This creates a BGL file, which would normally go into FSX, but I just want to open it in ModelConverterX, another must-have tool from Arno, and export the Warehouse building in a format which GMAX can read -- 3DS.



Now with some buildings I could just tweak it a bit, texture it and it's finished, but here I need a bit more control, so I'll use the model as a template. The imported model is really two objects, the walls and the roof, so I'll delete the walls and just drop the roof down to the ground.  I then trace the shape as a line. Normally I'd just create a line, and click each corner to add a vertex, but I do want to add a few more vertices to make things easier down the track. To do this, I need to see the actual aerial photo, so I'll texture the roof at this point. This also allows me to rotate the footprint to something more manageable -- in this case, aligning it on the roof-lines.


I'll leave the textured roof as a background image, so I'll just 'freeze' it in place. Now I have a line which exactly represents the footprint of the building. Normally most buildings are just one object, but in this case I'll keep the walls and roof separate, as they don't really have much in common, except for the shape. So first, I'll created the walls using the 'loft' tool. I create a rectangle in Side view, the width and height of the wall I need, and then select the footprint line, 'Loft' it using the rectangle as the Loft Shape, then lower the Shape Steps and Path Steps to zero, as I want the minimum vertices in the final wall.

Now I end up with the wall, all it needs is to vary the height by extrudiing some sections, to match reality, then texturing it. Here it is partially finished.


Now the roof. This is basically 12 sections with ridges. So I'll start with a box with 24 width segments, so I can raise up every second edge to build the ridges. So first I convert it to Editable Poly, select every second edge and raise them up. This introduces some unwanted smoothing, so I just select the polys and clear the smoothing.


Now I need to 'trim' the roof object to fit inside the walls. I already have the footprint line which I used to loft the walls, so I'll use this to cut the roof. The under-appreciated 'ShapeMerge' is useful here, I just ShapeMerge the roof object with the footprint line, selecting 'cookie cutter' and 'invert', to remove everything outside the walls.

This only leaves the roof in this object, which is fine for what we want. Now I just texture it and it's done.

There are just a few extra bits to add to the roof, but that's a lot simpler than trying to align vertices, or use boolean cuts, which introduce more vertices than we need.

So there we go, a building which is exactly the right size and shape, ready to be exported to FSX, without the need for fiddly measurements, which can lead to errors, and without much actual modelling steps. I still need to finish the texturing, but that's the fun bit.

Having a good tool-kit is going to make things a lot easier, even though there's more to learn, because it may include the ideal tool to streamline a process. There is no one-tool-does-it-all solution, but things have come a long way since the old days, when we had to try and understand the very cryptic SDK tools from Microsoft. I recommend as any developer's second home.

Leave a Reply