More often than not, we're fortunate enough to have pretty good orthographic reference images when modeling big spaceships from things like Star Trek and Star Wars. Granted, they're sometimes highly inaccurate, but they at least can provide a good place to start from. Blender makes it pretty easy to place these reference images into the orthographic 3D views to work with while you model.

Gathering Reference

We use the Norway-class from Star Trek: First Contact for this particular exercise. A quick Google search turned up the image below, which contains all five orthographic views of the model -- perfect!

Side note: Normally, I'll go through and vet a number of different orthographic images, both official and fan-made, and compare them with the studio model or screenshots to see which one looks "the best." If the assembled collection of images don't line up, sometimes it's necesasry to fix them. For the purposes of this tutorial, though, I'm just going to assume that these are good.

Our first order of business is to split these out into five separate images, correctly oriented for the way we intend to model them. As a matter of preference, I like to model the ship oriented to the coordinate system of the program, so for Blender +Y is the front, -Y is the back, and so on. From the orthos we have, we can see that side is already correctly oriented, the front and back don't realy matter since we're dealing with a symmetrical object, but we'll need to reorient the top and bottom.

Ss a completely optional step, I like to remove the background so I can have transparent reference images, rather than seeing a full white rectangle for the whole image. When you save images in a format that supports transparency, such as PNG, Blender will interpret the transparency correctly and render it in the viewport. To do this, it's generally sufficient to use the Magic Wand tool in Photoshop with a Tolerance of around 10 and both Anti-alias and Contiguous enabled.

Here are the distinct images after being separated out, correctly oriented, and with the background removed. Note that all of the images are precisely cropped to the very edge of the pixel data in the image. This plays an important role later when scaling the images in Blender. As a matter of preference, any partially-transparent pixels may or may not get considered part of the crop data. This tends to be a judgment call.

Proper Scaling

Next, we need to do a little research. How big is this ship?

I'm not one to content myself with just fishing up the easiest publicized dimensions and using them. Assuming I've properly vetted and fixed my reference images, they should all be proportional with one another (even if they have different overall pixel dimensions) and the various pieces of the ship should all line up. As such, their internal aspect ratios should be correct for determining any two of the ship's three dimensions. I just need one.

The length given for the Norway class in the Star Trek: Deep Space Nine Technical Manual is 364.77 meters. However, this book is known to have a number of questionable figures, especially as they pertain to the ships in the appendix. So, we need something more. Fortunately, Memory Alpha provides! In their Norway class article, there's a screenshot featuring a size comparison chart of several ships -- one of which is the Norway!

All of the ships in that particular comparison graphic have known, canon lengths. The refit Constitution class is exactly 1,000 feet. The length of the Galaxy class is 642.5 meters. Using these two as a benchmark, we can figure out the pixel scale used in this particular image (within a certain margin of error) and use it to validate or refute the figure in the DS9TM.

First, we need to make sure this plate is square. We're viewing it at a bit of an angle, but Photoshop provides an easy way to reshape the image to remove this perspective distortion in the form of the Edit > Transform > Distort tool. Using the Polygonal Lasso Tool, I selected a box using the corners of the rectangular LCARS bars as anchor points and then distorted it into shape. Once that's done, I took the top orthographic image and placed that into the image, scaled to match the position of the Norway's various elements. Normally, this wouldn't be necessary, but there's a person's head obscuring the front of the ship and making somewhat ambiguous exactly where that point lies. Adding this step removes ambiguity.

Now it's time to do some math. In our image, I gave all of the measurements a margin of error of two pixels in either direction. That means that Galaxy could be anywhere from 80 to 84 pixels long in this image.

Galaxy: 642.5 m ÷ 80 px = 8.0 m / px 642.5 m ÷ 82 px = 7.8 m / px (Measured) 642.5 m ÷ 84 px = 7.6 m / px Constitution Refit: 1000' × 0.3048 m / ft ÷ 40 px = 7.6 m / px 1000' × 0.3048 m / ft ÷ 42 px = 7.3 m / px (Measured) 1000' × 0.3048 m / ft ÷ 44 px = 6.9 m / px

The margin of error in our measurements obviously shows here, but the lower limit measurement for the Constitution Refit and the upper limit measurement for the Galaxy have matching scales, so we can use that as a starting point. We take this calculated scale and use it to derive measurements for the Norway.

Norway, Matching Measurements: 42 px × 7.6 m / px = 319.2 m 44 px × 7.6 m / px = 334.4 m (Measured) 46 px × 7.6 m / px = 349.6 m Norway, Extreme Measurements (Up): 42 px × 8.0 m / px = 336 m 44 px × 8.0 m / px = 352 m 46 px × 8.0 m / px = 368 m Norway, Extreme Measurements (Down): 42 px × 6.9 m / px = 289.8 m 44 px × 6.9 m / px = 303.6 m 46 px × 6.9 m / px = 317.4 m

Only the largest, most extreme measurement gets us within range of the published 364.77 meter figure. The graphic instead pretty heavily implies a length of 328.9±39.1 meters, with the most likely length clustering around 334.4±15.2 meters.

Depending on how meticulous you're feeling, you can either keep looking for additional reference points — windows often indicate a deck layout, which can in turn provide some context for the ship's overall height; shared external features like escape pod hatches can be assumed to be consistent across different classes; etc. — or call it a day. For the purpose of this tutorial, we'll proceed with the 334.4 meter length.

From our top view, which is the view I usually treat as authoritative, we can use its pixel dimensions to derive the ship's overall width. Since the image is 683 pixels tall, this gives us a scale 2.042 px / m. We divide the 439 pixel width by this scale and get a ship width of 215 m. Next, we need to figure out the overall height. I generally continue with the length as authoritative, since the width we calculated is already several steps removed from our source measurements. That means using the side image. Here, we have an image that is 687 pixels wide, giving us a scale of 2.054 px / m. We divide the 97 pixel height by this scale to get a ship height of 47.22 meters.

So, we've determined — from this one source, at least — that the Norway is 334.4 meters long, 215 meters wide, and 47.22 meters tall.

Side note: There are a number of reasons to question the veracity of these numbers. As I touched on above, given the wide disparity this one calculation produced, I would definitely spend some time looking at things like windows and deck layout to try to get a sense of how plausible this calculation really was. Since we're really here to put background images in Blender, though, I'll leave it be.

Placing the Images

Now that we have five cropped, transparent-background PNGs for each orthographic view of our ship, it's time to bring them into Blender. The very first thing I like to do is create a box in the middle of the world that has the exact dimensions we calculated for the ship. So, reset your Cursor to the middle of the world (Shift S, r), then add a Box (Add > Mesh > Cube). In the Add Cube panel (should appear beneath your Tools panel on the left side of your 3D View), set the radius to one half of the smallest dimension, or 23.61 meters in our case. Leave the rest of the controls the same. Name this Cube _Ref.Box, or something similar.

Circled in green above, you'll see the Dimensions of the object (if you don't have the Properties panel, hit n in the 3D View to open it). Punch in the remaining values here to properly scale Reference Box to the match the ship's bounding box. Once you've done this, you'll note that the object's Scale values have changed. We can reset this by Applying the Scale transform to the object (Ctrl A, s). It's also useful to change the object's Maximum draw type to Wire and disable both Selection and Render Visibility at this time. You should end up with the following.

With our reference box in place, we can now start adding our images. In the Properties panel, you'll see a little rollout for Background Images. Open that and enable the checkbox. When you open the rollout, you'll see a button that says Add Image. Go ahead and click that. This puts the very first of your background images into the scene, but there's no actual image assigned to it yet. Go ahead and click Open and pick your top reference image. This will place a very small image, defaulting to 5 meters, into your current (orthographic) viewport and reveal a host of new settings.

For the most part, you don't need to change but two of them. First, the Axis setting should be set to the proper view for this particular image (Top, in our case). Next, the Size setting needs to be adjusted. However, this setting can be a little misleading! This setting is the minimum measurement in the current view, so you need to use the width rather than the length to make it fit the reference box. Further, it's a radius measurement, meaning you need to cut that value in half. In this case, that means we want a value of 107.5 (215 ÷ 2).

Repeat the above process for the remaining views, selecting the correct Axis and Size as appropriate for each view and using the Reference Box as a guide. Once you're done, you're ready to begin modeling!