**Tutorial** Creating custom .surs via the .sur splicer
The first thing to do is to put together the .sur for the ship. How you go about doing this is up to you, but the general rule is that each piece must be convex. Additionally, the .cmp exporter (which you will be using later) is limited to 18 groups, so consider that the absolute maximum number of pieces that you can use. Also, I find that it helps to start from the basic MS3D objects (boxes, spheres, etc). Pieces may overlap as much as you wish. The names of the pieces at this stage do not have any significance, as you will be renaming them all anyway with the .sur splicer.
Step 1
Next, export each piece as a separate .sur file. Be sure to use the "Shrink Wrapped" option for the shield.
Step 2
Now, put together the file that will tell the .sur splicer what to splice together. The part names you choose here do have significance, as they will need to match with the names you use in the .cmp a bit later. The format is as follows:
<output .sur file>
<output cons_fix file> - this one will be explained later
<approximate radius of ship> - you are better off being too large than too small
<inertia_x> <inertia_y> <inertia_z> - the inertia values of the ship (larger = greater resistance to collisions)
<partial .sur file> <name of part>
<partial .sur file> <name of part>
...
Step 3
Once you've got that set up, it's time to run the .sur splicer. Put the file above plus all of your partial .sur files into the sur splicer's directory, and then run the splicer.
Step 4
The splicer will output two files, as specified in the input file. The .sur file is done; now all you need to do is prepare your ship's .cmp file.
Step 5
To get the .cmp file ready, import it into MS3D as normal.
Step 6
Next, add a bunch of dummy parts; the number of pieces in the .cmp file should equal the number of pieces in the .sur file, so you need to add (number of parts in .sur file - 1) dummy parts. However, there is no problem with adding more if you want. The names you use are significant in that they should not match with the names of any other any other groups in any other ships. This is nothing new; you should never have two ships with groups that have the same names. In this example, I would need to make sure that there were no ships with groups named ISD1 or zomgbayz1 through 13 (so be sure to adopt a naming convention that avoids overlaps).
Step 7
Now it's time to export the model as a new .cmp file. In this example, the actual ISD model has five parts to it (ISD1 and Group2 through Group5); each of the dummy parts has just one part.
Step 8
Next up is some manual editing of the .cmp file. Open it up in utf_edit and change the Object Names to equal the names of the parts you used when splicing the .sur file.
Step 9
While you have the .cmp file open, import the cons_fix file produced by the sur splicer into the Cons.Fix node. This sets the dummy parts as children of the Root component, which is what you want (if you don't do this, the dummy parts will be ignored, as will the parts of the .sur assosciated with them). Be sure to save the .cmp file when you're done.
Step 10
Lastly, it's time to check your work. Open the .cmp file in HardCMP and display the .sur file (press 'S'; you will need to open the .sur file from the file menu first). Ideally the .sur file will match the actual surface of the ship very closely. Next, try adding a hardpoint and check the "Attached to:" dropdown list. You should see a list containing Root plus all of the dummy parts you added; if you don't, you probably didn't import the cons_fix file that the sur splicer produced.
Step 11
As an addendum, there is no reason why the parts you add need to be dummy parts. If you want, you can create the .cmp and .sur files such that you end up with breakable components, though you will need to set up the CollisionGroup entries for your ship in shiparch.ini to make this work.