First I load up Rhino, and make the model itself in it. After all the triangles are in place, I have to separate them depending on the texture alignment they'll use... so I basically divide the triangles in 10-20 layers, depending on the ship, and export this layered file to Truespace.
In Truespace I choose the correct texture alignment for each of the layers, and save the model with some placeholder textures... Then, in Photoshop, I draw the textures themselves, and save them on top of the placeholder files. At this point, if I open the file in Truespace again, it already looks the way it will look in the game.
Now I open the model in 3d exploration, save it in .cob format, so I can group all of those layers together again (the whole ship must be a single object in WCP/SO). The exception are capships: for capships, I just group each component to a separate layer, so the .cob file ends up having 3 or 4 layers instead of a single layer. Once this is done, I save each layer to a separate .peo file. So now it's time to import these .peo files into the engine, finally.
First, I convert all the textures: reduce them to 256 colors and save them as .mat files. Now, I convert each component. Open the .peo in peoviewer, export it to ModelC, open ModelC, scale the model, save the collision detection file, and compile to iff. Open the iff up in Hardpoint editor and Collision sphere editor, set up the hardpoints and collision radius, save, exit. Then I repeat these last steps for any other components the ship has.
Finally, in WCPPas, I create the ship file, which is just a script with the ship stats, and "assembly instructions"
- things like telling the game which hardpoints to attach turrets to, which hardpoints to attach subcomponents to (by giving the filenames of each component's iff file), and which iff file to use as the main hull. From the third paragraph down, it's a very tedious process