Here's a method of creating accurate textures that I came up with. I'm sure it isn't unique, since I'm using ideas I gathered from many sources, but the process is fairly good for accuracy.
I'll be creating a texture background for the top of the saucer on my
Regal class. The first thing to know is that having your ship divided into several parts (saucer top and bottom, engineering hull left and right, warp nacelles and pylons, etc.) is essential for this to work correctly.
1. Select only the top of the saucer. You can work each part of the ship just the same way, depending on where the camera goes in the next few steps. Make a copy of the part you are working with and label it something different. Hide all other parts.
2. In the Top view, create a Free Camera that looks down. If you create it IN the Top view, it will automatically be pointed that direction.
3. Rotate the camera by 90 degrees clockwise (or counter-clockwise) so you can see the saucer longways across the width of the viewport. For circular saucers, this won't matter as much. But keep in mind that the way this view is rotated is how your saucer will look on the texture. So choose wisely. The camera needs to be located above the saucer along the center of the X axis.
4. Under "Parameters" for the Free Camera, click the box labled "Orthographic Projection". This will flatten the view so that things are not warped when you are trying to trace contours or whatnot.
5. Decrease the "Lens mm" setting for the camera until you start seeing the extents of the saucer. The trick here is to get the saucer centered in the camera by moving it along the Y axis and then changing the mm setting on the lens until the sides almost are out of the frame.
6. Select the saucer top. In the Modifier List, select "Lattice". This will actually delete all of the current polys for that model part and wrap a set of polys around each edge, as defined by the settings for the Lattice.
7. The settings for the Lattice are pretty much up to you, but I tend to use the ones in the image. They might need to change depending on the actual size of the ship you are creating. Smaller ships will need to use smaller radii for the struts.
8. Go back into the Modifier List and select "Edit Mesh". Go into sub-object poly mode and start selecting lines on the saucer that aren't actually useful. You can see in the image that I'm selecting the lines that run down the center of the saucer and run out towards the edges. Since they aren't actually lines that would be visible on the saucer, I can delete them and make the image less crowded.
9. Now its time to render! Start by opening the render dialogue box (F10 is the default key setting). This is where you can start to choose which size texture you want to be using. For this, I'm using 2048x2048 textures, so I set 2048 for the width and 1024 for the height. This means that half my texture will be the top of the saucer, and the other half can be the bottom, or perhaps details, or even some other part of the ship. This part is strictly up to the user, but I would suggest keeping the sizes in the normal range (512, 1024 or 2048).
10. Go ahead and render an image. For me, the first render was off a bit. The edges were cut off a little, so I had to change the mm setting on the camera to fit it just right. Not a very big deal, but make sure you get all the edges in the right spot with room to spare.
The render of this image is now useful as the background template on any texture you are creating. And since it is a true orthographic image, there is no warping or stretching to any spot. You can draw freely on it, and it will match exactly as long as you have mapped it correctly. There are a myriad of uses beyond just as a background image, if you leave the camera where it is. You can come back later, having added parts or polys, and simply re-render the same image, place it over the background image you currently have and now you are ready to redraw.
Hope this has helped you. I have found it invaluable as a tool for modifying textures and setting them precisely.