Ground Polygon modeling in Blender

From FSDeveloper Wiki
Revision as of 14:24, 24 October 2020 by BASys (talk | contribs) (Categorised as - Blender & content related)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



This tutorial will guide through a possible way of modeling a Ground polygon using Blender.

Background Image

MCX coordinate converter.jpg
Blender Dimensions.jpg

Although Blender has an extra feature for background images I can't really recommend it because it is almost impossible to accurately scale the image and impossible to adjust the proportions. In this example we will use a plane instead which we will texture with the background image.


Download aerial imagery in SBuilderX covering the area of interest, in most cases the whole airport. You can compile it so you have an in-sim reference once everything is exported


Go to the SBuilderX root folder and then navigate to Tools\Work Here you will find two equally named files: one bitmap and a txt file. It is recommended to copy both to a location in your project directories.


Start Blender and set up the scene like this: delete the default cube change the type of the existing lamp to “hemi” so things will be more than just black open the “N” menu and look for the “shading” panel. Set it from “Multitexture” to “GLSL”. Set the display mode to “Textured”

Now having the scene set up the real work can start. Add a plane and give it a material. Add a texture and link it to the bitmap. Hit “U” to unwrap and select “project from view (Bounds)”. Make sure you are in top down view when doing that. Now reference the texture to the created UV map. To make your life easier later on go to edit mode and move the plane one meter along the X-axis and one meter along the Y-axis. Now the lower left corner should be in the scene's origin.


The Background image still has the wrong scale. This is where the txt file becomes interesting, because it contains the coordinates of the image's boundaries. Open ModelConverterX and select the Coordinate Converter under “Special Tools”. Entering the coordinates calculates the X and Y dimensions of the imagery. Go back to Blender and find the “Dimensions” box with the plane selected. Copy the “Flat earth X/Y” values from the Coordinate Converter into the X/Y dimensions in Blender. Be careful not to copy minuses (-) or the plane will be flipped!!

Now that the plane is ready I recommend to set it to non selectable in the outliner


Basic Surface Modeling

add a new plane and give it the dimensions of the main runway. There is a lot of online resources to get these from. As for the runway heading: Because Headings are left handed angles while Blender needs right handed ones you have to subtract the heading from 360°. Enter the resulting value under rotation → Z. Move the runway in place and adjust the rotation and scale if necessary. Apply the scale, but not the rotation. It is the best to add any new object at the same rotation as the runway now has. Now go to edit mode and start modeling the taxiways and aprons out of the runway by adding loop cuts and extruding. Maintain a basic shape for now and postpone curvy corners until the edge work is done.


Edges

Once the basic surface is done copy all of the taxi and runway edges and separate them to a new object. Extruding them vertically (Z-axis) is necessary for the next step. Recalculate the normals!

Curved corners now have a vertical edge which you can bevel (edge mode, ctrl+B) dragging the mouse will increase/decrease the size/offset of the bevel. Turning the mouse wheel will change the number of segments. I found 32+ segments are good for a 90° angle.

To get the desired width of the edge polygon add a solidify modifier. Make sure to tick “Even Thickness”. Play with the offset and thickness until satisfied. Then hit apply. Go to side view and delete the lower polygons of the mesh to have a 2D edge polygon. Drag it back down if necessary.


Texturing

Blender surface unwrap.JPG
Blender taxiline unwrap.JPG

The surface is best mapped using the “project from view” method. To control the UV map's scale select two vertices which are as far apart as you want the size of the texture tiles to be. Press the numpad period button to zoom in to them. Press 'A' twice to select everything and do the unwrap. If you do any additional modeling later you have to redo that. If you are unlikely to remember which vertices you used to zoom in you can make a vertex group of them.

For the edges you should first add the material and set up the edge texture. For mapping you have to separate the object by loose parts (P). The best mapping method for edges is “Follow active quads” You may have to adjust the UV map by rotating or scaling.


Adjust surface

Now that the edges are done you can adjust the corners of the surface.

For this step it is recommended to reopen the edge texture in your image editing program and create a mask (new layer) indicating where the texture's alpha is 100% opaque (make it white) and where it is not (make it transparent). Hide the texture layer and reexport the image.

Go to Blender and hit the refresh button in the texture panel. Now the edges are textured with the mask.

Now you can adjust the corners of the surface mesh by vertex belveling and moving them around. Make sure that all geometry is beneath the white line and nothing sneaks out on either side.

Once you finished remap the surface as described above.

Now go back to the image program and reexport the original edge texture. Refresh the texture in Blender and you have your high quality airport base.


Lines and markings

Taxi lines are first modeled as a single vertex row, similar to what you get when copying the edges to a new object.

The rest is almost the same like you do to the edges. Make sure the parts are split at crossings and other division points. Do the same for taxi edge lines and anything else that includes any bends.


Exporting

Select everything that shall be exported. You may want to export markings to different files than the concrete/asphalt base. And of course you don't want to have the background image exported.

Reliable output formats up to my experience are either Collada or the FSX format using the Blender2FSX toolset. In both cases make sure to only export the selection.

When converting the Ground Polygon using the Ground Polygon Wizard take care of the following: tick “slice polygons”, untick “goup polygons” having the south west corner of the background image at the model's origin copy the “South” and “West” values from the txt file into the wizard's placement lines. If you want to ensure P3D compatibility only use layers from 16 to 32 so everything receives shadows.