<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hard-light.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=VA</id>
	<title>FreeSpace Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hard-light.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=VA"/>
	<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php/Special:Contributions/VA"/>
	<updated>2026-11-15T10:24:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=33731</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=33731"/>
		<updated>2011-03-10T07:54:30Z</updated>

		<summary type="html">&lt;p&gt;VA: Oops.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important Links &amp;amp; Video Tutorials:==&lt;br /&gt;
[[Blender]]&amp;lt;br&amp;gt;[[POF Constructor Suite 2]]&amp;lt;br&amp;gt;[[POF to Blender Conversions]]&amp;lt;br&amp;gt;[[Collada Importer]]&amp;lt;br&amp;gt;&lt;br /&gt;
Rga_Noris has started creating video tutorials on the Blender -&amp;gt; POF conversion process which explains it step by step: [http://www.hard-light.net/forums/index.php?topic=75005.0 Thread link]&lt;br /&gt;
&lt;br /&gt;
==Getting a Collada-capable PCS2 version:==&lt;br /&gt;
# [http://www.cse.unsw.edu.au/~samm/pcs2.7z Download the main PCS2 installer package] Install this first so you have the correct DLLs in place in your PCS2 directory.&lt;br /&gt;
# [http://www.cse.unsw.edu.au/~samm/dlls.7z Dependency 1: The libcollada DLL file] Place this in your PCS2 directory.&lt;br /&gt;
# [http://scoobydoo.freespacemods.net/Completed/Misc/pcs2.exe The DAE capable PCS2 EXE itself] Place this in your PCS2 directory, backing up the previous one if you like. (Old link, Optional)&lt;br /&gt;
# [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en Dependency 2: The Microsoft VC2008 SP1 Runtime] You might already have this installed from some other program, but if not you&#039;ll need this installed too. (Old link, Optional)&lt;br /&gt;
&lt;br /&gt;
==Recommended Blender DAE Import Settings:==&lt;br /&gt;
In Blender, once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE) and it is advisable to use the following options:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the DAE file into PCS.&lt;br /&gt;
&lt;br /&gt;
==Importing the DAE into PCS2:==&lt;br /&gt;
Open PCS2, and then go to File-&amp;gt;Open and locate your ready-to-open DAE file. Depending on the complexity of your model this could take a fraction of a second to a minute or so. Also remember that once this import is complete, you will still need to save the POF file somewhere, and it is during this part of the process that most errors occur. It is strongly advised that you do not begin adding POF data to a converted model until after it has successfully saved as POF first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Important Note for those who imported an existing FS2 model via DAE:===&lt;br /&gt;
Unfortunately due to a bug in the import script in Blender, imported DAE models are always imported into a new scene, but during DAE export only the first scene is looked in. The fix is an easy one - see [[POF to Blender Conversions#Correcting for the Blender DAE Importer&#039;s slight bug:]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. However, you can set Blender&#039;s Collada exporter to do this for you on exporting - that way, you can keep your blendfile in quads.&amp;lt;br&amp;gt;&lt;br /&gt;
If you do want to triangulate something manually, use Ctrl+T to triangulate selected.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
With the bottom-most button &amp;quot;Apply modifiers&amp;quot;, you can apply all modifiers on exporting - if you&#039;re on an older version of Blender, you have to do this by hand, or you&#039;ll end up with half your model or something. Do consider updating in that case.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; ).  &lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one Empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
   |  |&lt;br /&gt;
   |  |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-firepoints01&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
   |    |  |-firepoint2&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-path07              (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-Path07-01&lt;br /&gt;
   |    |  |-Path07-02&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-properties01&lt;br /&gt;
   |       |&lt;br /&gt;
   |       |-$fov=180&lt;br /&gt;
   |       |-$name=laser_turret&lt;br /&gt;
   |       |-$special=subsystem&lt;br /&gt;
   |&lt;br /&gt;
   |-turret02&lt;br /&gt;
      |&lt;br /&gt;
      |-helper02              (NOTE: The number after &#039;helper&#039; is really just there for your own organisation)&lt;br /&gt;
        |                     (ie. helper02 is for turret02)&lt;br /&gt;
        |-firepoints02&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1.001   (NOTE: the .001 part is just there to keep each object name unique in Blender)   &lt;br /&gt;
        |  |-firepoint2.001   (The importer will disregard everything after the &#039;.&#039; so don&#039;t worry about it)&lt;br /&gt;
        |&lt;br /&gt;
        |-path08              (NOTE: Each turret will require it&#039;s own approach path, but these can be generated in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path08-01&lt;br /&gt;
        |  |-Path08-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties02&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180.001&lt;br /&gt;
           |-$name=laser_turret.001&lt;br /&gt;
           |-$special=subsystem.001&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here, but the NAME is important because the Collada importer in PCS2 will know to ignore it and not put it on the texture list for the ship), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Note: The following image was taken when the key phrase was &#039;insg&#039; rather than &#039;insig&#039; as it is now. Use &#039;insig&#039; not &#039;insg&#039;!)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
===Esarai&#039;s Solution to Unapplyable Empties===&lt;br /&gt;
Occasionally, Blender experiences a glitch where its program-defined &#039;Empty Object&#039; cannot be applied.  Applying an object is done by pressing ctrl+a.  It makes the current scale of the object 1 on all axises, and sets its rotation to 0 on all axises.  Occasionally, Blender fails to set the rotation to 0 and the scale to 1 after pressing ctrl+a, causing those values to be carried into the dae file.  PCS2 treats the current orientation of an object as it&#039;s original orientation, and then applies any rotation or scaling data to the object, causing all objects to be scaled and rotated twice as much as they should be.  If you notice this occurring with empty objects, you must ensure you are modeling all parts of your ship at the dimensions and rotations they are supposed to appear with in-game (this can be problematic for ships greater than 3 km in length as Blender will have trouble occluding faces not visible in the 3D view, making selecting the appropriate face difficult).  These issues can be avoided by creating a stand-in for the empty objects.  To do this, create a new mesh object.  What kind of object does not matter.  Create it and delete all geometry data within the object (enter editmode, select all vertices, and delete them.  The object will appear as a pink dot now).  This object, while not technically an &amp;quot;empty object,&amp;quot; can function as one, and can always be applied. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just as an example:  Say you were to rotate a cuboid turret 45 degrees about the z-axis, select the whole turret setup and associated helper hierarchy and press &#039;ctrl+a&#039; to apply it.  You&#039;ll know you are encountering this glitch if the turret now has zero angle rotation on all axises and the scale has been reset to 1, but the helper Empties still have non-one scale and/or non-zero rotation values.  In PCS2, these values will be applied to the helpers, and your turret firepoints may end up several kilometers from the weapon barrels.  &amp;lt;br&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=33730</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=33730"/>
		<updated>2011-03-10T07:51:49Z</updated>

		<summary type="html">&lt;p&gt;VA: Link to Rga&amp;#039;s video tutorial thread. Hopefully these will eventually explain everything this document does! :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important Links:==&lt;br /&gt;
[[POF to Blender Conversions]], [[Blender]], [[POF Constructor Suite 2]], [[Collada Importer]]&lt;br /&gt;
Rga_Noris has started creating video tutorials on the Blender -&amp;gt; POF conversion process which explains it step by step: [http://www.hard-light.net/forums/index.php?topic=75005.0 Thread link]&lt;br /&gt;
&lt;br /&gt;
==Getting a Collada-capable PCS2 version:==&lt;br /&gt;
# [http://www.cse.unsw.edu.au/~samm/pcs2.7z Download the main PCS2 installer package] Install this first so you have the correct DLLs in place in your PCS2 directory.&lt;br /&gt;
# [http://www.cse.unsw.edu.au/~samm/dlls.7z Dependency 1: The libcollada DLL file] Place this in your PCS2 directory.&lt;br /&gt;
# [http://scoobydoo.freespacemods.net/Completed/Misc/pcs2.exe The DAE capable PCS2 EXE itself] Place this in your PCS2 directory, backing up the previous one if you like. (Old link, Optional)&lt;br /&gt;
# [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en Dependency 2: The Microsoft VC2008 SP1 Runtime] You might already have this installed from some other program, but if not you&#039;ll need this installed too. (Old link, Optional)&lt;br /&gt;
&lt;br /&gt;
==Recommended Blender DAE Import Settings:==&lt;br /&gt;
In Blender, once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE) and it is advisable to use the following options:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the DAE file into PCS.&lt;br /&gt;
&lt;br /&gt;
==Importing the DAE into PCS2:==&lt;br /&gt;
Open PCS2, and then go to File-&amp;gt;Open and locate your ready-to-open DAE file. Depending on the complexity of your model this could take a fraction of a second to a minute or so. Also remember that once this import is complete, you will still need to save the POF file somewhere, and it is during this part of the process that most errors occur. It is strongly advised that you do not begin adding POF data to a converted model until after it has successfully saved as POF first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Important Note for those who imported an existing FS2 model via DAE:===&lt;br /&gt;
Unfortunately due to a bug in the import script in Blender, imported DAE models are always imported into a new scene, but during DAE export only the first scene is looked in. The fix is an easy one - see [[POF to Blender Conversions#Correcting for the Blender DAE Importer&#039;s slight bug:]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. However, you can set Blender&#039;s Collada exporter to do this for you on exporting - that way, you can keep your blendfile in quads.&amp;lt;br&amp;gt;&lt;br /&gt;
If you do want to triangulate something manually, use Ctrl+T to triangulate selected.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
With the bottom-most button &amp;quot;Apply modifiers&amp;quot;, you can apply all modifiers on exporting - if you&#039;re on an older version of Blender, you have to do this by hand, or you&#039;ll end up with half your model or something. Do consider updating in that case.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; ).  &lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one Empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
   |  |&lt;br /&gt;
   |  |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-firepoints01&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
   |    |  |-firepoint2&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-path07              (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-Path07-01&lt;br /&gt;
   |    |  |-Path07-02&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-properties01&lt;br /&gt;
   |       |&lt;br /&gt;
   |       |-$fov=180&lt;br /&gt;
   |       |-$name=laser_turret&lt;br /&gt;
   |       |-$special=subsystem&lt;br /&gt;
   |&lt;br /&gt;
   |-turret02&lt;br /&gt;
      |&lt;br /&gt;
      |-helper02              (NOTE: The number after &#039;helper&#039; is really just there for your own organisation)&lt;br /&gt;
        |                     (ie. helper02 is for turret02)&lt;br /&gt;
        |-firepoints02&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1.001   (NOTE: the .001 part is just there to keep each object name unique in Blender)   &lt;br /&gt;
        |  |-firepoint2.001   (The importer will disregard everything after the &#039;.&#039; so don&#039;t worry about it)&lt;br /&gt;
        |&lt;br /&gt;
        |-path08              (NOTE: Each turret will require it&#039;s own approach path, but these can be generated in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path08-01&lt;br /&gt;
        |  |-Path08-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties02&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180.001&lt;br /&gt;
           |-$name=laser_turret.001&lt;br /&gt;
           |-$special=subsystem.001&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here, but the NAME is important because the Collada importer in PCS2 will know to ignore it and not put it on the texture list for the ship), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Note: The following image was taken when the key phrase was &#039;insg&#039; rather than &#039;insig&#039; as it is now. Use &#039;insig&#039; not &#039;insg&#039;!)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
===Esarai&#039;s Solution to Unapplyable Empties===&lt;br /&gt;
Occasionally, Blender experiences a glitch where its program-defined &#039;Empty Object&#039; cannot be applied.  Applying an object is done by pressing ctrl+a.  It makes the current scale of the object 1 on all axises, and sets its rotation to 0 on all axises.  Occasionally, Blender fails to set the rotation to 0 and the scale to 1 after pressing ctrl+a, causing those values to be carried into the dae file.  PCS2 treats the current orientation of an object as it&#039;s original orientation, and then applies any rotation or scaling data to the object, causing all objects to be scaled and rotated twice as much as they should be.  If you notice this occurring with empty objects, you must ensure you are modeling all parts of your ship at the dimensions and rotations they are supposed to appear with in-game (this can be problematic for ships greater than 3 km in length as Blender will have trouble occluding faces not visible in the 3D view, making selecting the appropriate face difficult).  These issues can be avoided by creating a stand-in for the empty objects.  To do this, create a new mesh object.  What kind of object does not matter.  Create it and delete all geometry data within the object (enter editmode, select all vertices, and delete them.  The object will appear as a pink dot now).  This object, while not technically an &amp;quot;empty object,&amp;quot; can function as one, and can always be applied. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just as an example:  Say you were to rotate a cuboid turret 45 degrees about the z-axis, select the whole turret setup and associated helper hierarchy and press &#039;ctrl+a&#039; to apply it.  You&#039;ll know you are encountering this glitch if the turret now has zero angle rotation on all axises and the scale has been reset to 1, but the helper Empties still have non-one scale and/or non-zero rotation values.  In PCS2, these values will be applied to the helpers, and your turret firepoints may end up several kilometers from the weapon barrels.  &amp;lt;br&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=33515</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=33515"/>
		<updated>2011-02-17T16:26:48Z</updated>

		<summary type="html">&lt;p&gt;VA: /* Insignia: */ Note on pic.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important Wiki Page Links:==&lt;br /&gt;
[[POF to Blender Conversions]], [[Blender]], [[POF Constructor Suite 2]], [[Collada Importer]]&lt;br /&gt;
&lt;br /&gt;
==Getting a Collada-capable PCS2 version:==&lt;br /&gt;
# [http://www.cse.unsw.edu.au/~samm/pcs2.7z download The main PCS2 installer package] Install this first so you have the correct DLLs in place in your PCS2 directory.&lt;br /&gt;
# [http://www.cse.unsw.edu.au/~samm/dlls.7z Dependency 1: The libcollada DLL file] Place this in your PCS2 directory.&lt;br /&gt;
# [http://scoobydoo.freespacemods.net/Completed/Misc/pcs2.exe The DAE capable PCS2 EXE itself] Place this in your PCS2 directory, backing up the previous one if you like. (Old link, Optional)&lt;br /&gt;
# [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en Dependency 2: The Microsoft VC2008 SP1 Runtime] You might already have this installed from some other program, but if not you&#039;ll need this installed too. (Old link, Optional)&lt;br /&gt;
&lt;br /&gt;
==Recommended Blender DAE Import Settings:==&lt;br /&gt;
In Blender, once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE) and it is advisable to use the following options:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the DAE file into PCS.&lt;br /&gt;
&lt;br /&gt;
==Importing the DAE into PCS2:==&lt;br /&gt;
Open PCS2, and then go to File-&amp;gt;Open and locate your ready-to-open DAE file. Depending on the complexity of your model this could take a fraction of a second to a minute or so. Also remember that once this import is complete, you will still need to save the POF file somewhere, and it is during this part of the process that most errors occur. It is strongly advised that you do not begin adding POF data to a converted model until after it has successfully saved as POF first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Important Note for those who imported an existing FS2 model via DAE:===&lt;br /&gt;
Unfortunately due to a bug in the import script in Blender, imported DAE models are always imported into a new scene, but during DAE export only the first scene is looked in. The fix is an easy one - see [[POF to Blender Conversions#Correcting for the Blender DAE Importer&#039;s slight bug:]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; ).  &lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one Empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
   |  |&lt;br /&gt;
   |  |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-firepoints01&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
   |    |  |-firepoint2&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-path07              (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-Path07-01&lt;br /&gt;
   |    |  |-Path07-02&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-properties01&lt;br /&gt;
   |       |&lt;br /&gt;
   |       |-$fov=180&lt;br /&gt;
   |       |-$name=laser_turret&lt;br /&gt;
   |       |-$special=subsystem&lt;br /&gt;
   |&lt;br /&gt;
   |-turret02&lt;br /&gt;
      |&lt;br /&gt;
      |-helper02              (NOTE: The number after &#039;helper&#039; is really just there for your own organisation)&lt;br /&gt;
        |                     (ie. helper02 is for turret02)&lt;br /&gt;
        |-firepoints02&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1.001   (NOTE: the .001 part is just there to keep each object name unique in Blender)   &lt;br /&gt;
        |  |-firepoint2.001   (The importer will disregard everything after the &#039;.&#039; so don&#039;t worry about it)&lt;br /&gt;
        |&lt;br /&gt;
        |-path08              (NOTE: Each turret will require it&#039;s own approach path, but these can be generated in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path08-01&lt;br /&gt;
        |  |-Path08-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties02&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180.001&lt;br /&gt;
           |-$name=laser_turret.001&lt;br /&gt;
           |-$special=subsystem.001&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here, but the NAME is important because the Collada importer in PCS2 will know to ignore it and not put it on the texture list for the ship), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Note: The following image was taken when the key phrase was &#039;insg&#039; rather than &#039;insig&#039; as it is now. Use &#039;insig&#039; not &#039;insg&#039;!)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
===Esarai&#039;s Solution to Unapplyable Empties===&lt;br /&gt;
Occasionally, Blender experiences a glitch where its program-defined &#039;Empty Object&#039; cannot be applied.  Applying an object is done by pressing ctrl+a.  It makes the current scale of the object 1 on all axises, and sets its rotation to 0 on all axises.  Occasionally, Blender fails to set the rotation to 0 and the scale to 1 after pressing ctrl+a, causing those values to be carried into the dae file.  PCS2 treats the current orientation of an object as it&#039;s original orientation, and then applies any rotation or scaling data to the object, causing all objects to be scaled and rotated twice as much as they should be.  If you notice this occurring with empty objects, you must ensure you are modeling all parts of your ship at the dimensions and rotations they are supposed to appear with in-game (this can be problematic for ships greater than 3 km in length as Blender will have trouble occluding faces not visible in the 3D view, making selecting the appropriate face difficult).  These issues can be avoided by creating a stand-in for the empty objects.  To do this, create a new mesh object.  What kind of object does not matter.  Create it and delete all geometry data within the object (enter editmode, select all vertices, and delete them.  The object will appear as a pink dot now).  This object, while not technically an &amp;quot;empty object,&amp;quot; can function as one, and can always be applied. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just as an example:  Say you were to rotate a cuboid turret 45 degrees about the z-axis, select the whole turret setup and associated helper hierarchy and press &#039;ctrl+a&#039; to apply it.  You&#039;ll know you are encountering this glitch if the turret now has zero angle rotation on all axises and the scale has been reset to 1, but the helper Empties still have non-one scale and/or non-zero rotation values.  In PCS2, these values will be applied to the helpers, and your turret firepoints may end up several kilometers from the weapon barrels.  &amp;lt;br&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Subsystem&amp;diff=33499</id>
		<title>Subsystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Subsystem&amp;diff=33499"/>
		<updated>2011-02-14T08:09:06Z</updated>

		<summary type="html">&lt;p&gt;VA: /* $Flags: */  - added new &amp;quot;no aggregate&amp;quot; flag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Fileversion|6921}}&lt;br /&gt;
&lt;br /&gt;
*All subsystems ship can have must be defined in ships model file (.pof).&lt;br /&gt;
&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*[[Animation_Code|Animation Code]] can be applied to the subsystems that consist of submodels, like multi-part turrets.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==$Subsystem:==&lt;br /&gt;
*The name of the subsystem as defined in .pof file, % of ship&#039;s total hitpoints the subsystem has and rotation time (360 degrees) for multi-part turrets. Note: Assinging zero to the %-hitpoint entry causes the subsystem to be without hitpoints, like fighterbays on some capital ships.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, name of the subsystem followed by the subsystem hitpoints as % of ships hitpoints and seconds per 360 degree turn. Subsystem name must be the same as described in model file (.pof).&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Entries can be left empty in which case game uses default values}}&lt;br /&gt;
**Example: communications, 5, 0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Alt Subsystem Name:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the alternate name for the subsystem. This name is shown for example in the targeting window when subsystem is targeted.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Option to use pipe character &#039;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&#039; to force line breaks into the alt subsystem name}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Alt Damage Popup Subsystem Name:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the alternate name for the subsystem when it is displayed on the &#039;&#039;&#039;damaged systems&#039;&#039;&#039; popup.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Armor Type:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
* &#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;. Defines armor type used for the subsystem. If subsystem armor type is not defined ships armor type is used instead.&lt;br /&gt;
* Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Default PBanks:===&lt;br /&gt;
*Defines default primary weapon for the turret&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
**Example: ( &#039;&#039;&amp;quot;Subach HL-7&amp;quot;&#039;&#039; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$PBank Capacity:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines ammunition capacity of turrets ballistic primary weapon.&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; )}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Default SBanks:===&lt;br /&gt;
*Defines default secondary weapon for the turret&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$SBank Capacity:===&lt;br /&gt;
*Defines ammunition capacity of turrets secondary weapon.&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Engine Wash:===&lt;br /&gt;
*All engines may use information concerning the engine wash. Engine washes are usually used only with larger vessels.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name as defined in Engine Wash section in [[ships.tbl]]&lt;br /&gt;
**Example: &#039;&#039;Default1000&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$AliveSnd:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Specifies a sound to play from the subsystem while it is not destroyed.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$DeadSnd:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Specifies a sound to play from the subsystem while it is destroyed.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$RotationSnd:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Does nothing for now&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Turret Base RotationSnd:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the sound which is played when the turrets base rotates&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Turret Gun RotationSnd:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the sound which is played when the turrets guns change their elevation&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Turret BaseSnd Volume:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the multiplier for the sound volume for turret base rotations&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Turret GunSnd Volume:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the multiplier for the sound volume for turret guns change their elevation&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$AWACS:===&lt;br /&gt;
*Sets this subsystem&#039;s effective AWACS range. (AWACS reveals stealthed ships, cuts through nebula fog.)&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, the maximum range of the AWACS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Maximum Barrel Elevation:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the maximum barrel elevation for the turret&lt;br /&gt;
*Basically &#039;inverse FOV&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, from 0 to 90}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Turret Base FOV:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the FOV of the turret&#039;s base.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, from 0 to 359}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Turret Reset Delay:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the time after losing the target before the turret begins to reset itself&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, in milliseconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Turret Optimum Range:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the optimum range for the turret&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Turret Direction Preference:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the turrets preference to keep targeting targets based how far the turret should turn instead of nearest target&lt;br /&gt;
*The higher the value the higher the preference to keep targeting targets close to previous targets direction&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, from 0 to 100, 0 disables the preference setup}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Target Priority:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the target priorities, and their order for the turret&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String list&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$ROF:===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Defines the modifier applied to the turret rate of fire (ROF).&lt;br /&gt;
&lt;br /&gt;
====+Use firingpoints====&lt;br /&gt;
*Modifies (multiplies) the rate of fire by the number of firingpoints the turret has.&lt;br /&gt;
&lt;br /&gt;
====+Multiplier:====&lt;br /&gt;
*Checked only if &#039;&#039;+Use firingpoints&#039;&#039; has not been defined&lt;br /&gt;
*If set to larger than 0 the value acts as multiplier&lt;br /&gt;
*If set to 1.0 the feature is disabled&lt;br /&gt;
*If set to equal to or smaller than 0 it as if &#039;&#039;+Use firingpoints&#039;&#039; option would have been enabled&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Can be used to sets additional subsystem related properties&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot; &amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
*List of available flags:&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;untargetable&amp;quot;====&lt;br /&gt;
*Subsystem cannot be targeted&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;carry no damage&amp;quot;====&lt;br /&gt;
*Damage caused to the subsystem will not carry over to the parent ship&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;use multiple guns&amp;quot;====&lt;br /&gt;
*Enables the turret to fire all equipped weapons, picking a not-in-use firing point at each trigger. Not to be confused with &#039;Salvo mode&#039;.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;fire down normals&amp;quot;====&lt;br /&gt;
*Forces the turret to fire along the turret normals - regardless of the swarm setting.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;check hull&amp;quot;====&lt;br /&gt;
*Forces the firing turret to check against the parent model if valid line of sight exists between the firingpoint and the target.}}&lt;br /&gt;
&lt;br /&gt;
{{Table3611|&lt;br /&gt;
====&amp;quot;fixed firingpoints&amp;quot;====&lt;br /&gt;
*Forces the firing turret to retain the firingpoints of their weapons. Maximum number of weapons is the same as maximum number of weapons in turret (3 primary, 4 secondary)&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;salvo mode&amp;quot;====&lt;br /&gt;
*Forces the firing turret to use only the first weapon defined for it but fires it simultaneously from all the firing points. Not to be confused with &#039;use multiple guns&#039;&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;no subsystem targeting&amp;quot;====&lt;br /&gt;
*Prevents the firing turret from targeting targets subsystems - instead forces the turret to fire randomly at the targets hull.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;fire on target&amp;quot;====&lt;br /&gt;
*Prevents the turret from firing unless the turret barrels (firingpoints) and targets are aligned.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;reset when idle&amp;quot;====&lt;br /&gt;
*Forces the turret to reset to its initial position if it has no targets.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;carry shockwave&amp;quot;====&lt;br /&gt;
*Forces the turret to carry damage caused by shockwaves to the hull regardless of other flags.}}&lt;br /&gt;
&lt;br /&gt;
{{Table3613|&lt;br /&gt;
====&amp;quot;allow landing&amp;quot;====&lt;br /&gt;
*Defines the subsystem as something on which player can attempt to land on&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;target requires fov&amp;quot;====&lt;br /&gt;
*Prevents turret from accidentally selecting target out of it field of view (fov) when acquiring targets&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;fov edge checks&amp;quot;====&lt;br /&gt;
*If the predicted target point of the turret falls outside of the field of view this flag but according to ship radius and dot product the target should still be partially visible then this flag attempts to turn the turret to the edge of the FOV closest to the targeted position and allow it to fire along that direction.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;no replace&amp;quot;====&lt;br /&gt;
*Tells game not to use the replacement submodel (-destroyed) when the subsystem loses all of it&#039;s hitpoints.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;no live debris&amp;quot;====&lt;br /&gt;
*Prevents the subsystem from releasing live debris pieces when destroyed&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;ignore if dead&amp;quot;====&lt;br /&gt;
*When subsystem has been destroyed prevents homing weapons from attempting to hit the now destroyed submodel and instead tells them to home on the main hull of the target&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;allow vanishing&amp;quot;====&lt;br /&gt;
*Allow subsystem to be destroyed from the ship without sound or graphical effects&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;damage as hull&amp;quot;====&lt;br /&gt;
*Treats subsystem as if it were hull when applying damage.  &lt;br /&gt;
&lt;br /&gt;
====&amp;quot;starts locked&amp;quot;====&lt;br /&gt;
*Turret starts locked and won&#039;t shoot until you use a turret-free or turret-free-all SEXP on it.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;no aggregate&amp;quot;====&lt;br /&gt;
*Freespace keeps track of a ships overall functionality (such as if a ship is sensorless, disarmed or disabled) via a total hitpoint count of the associated subsystems. For example if a ship has three engines with 100HP each, the &#039;engines&#039; count will be at 300HP. Shooting at any of the subsystems with the keyword &#039;engine&#039; in them will decrement this total, and when it is at 0 then the ship becomes disabled.&lt;br /&gt;
*This flag tells FS to ignore the associated subsystem and not count it towards those totals. For example, if a ship had three 100HP engines with one set to &#039;no aggregate&#039; then the &#039;engines&#039; count will be 200HP. Shooting the &#039;no aggregate&#039; engine will not decrement the &#039;engines&#039; count, and so in other words the status of this engine is irrelevant to whether or not the ship is disabled. In the same way when applied to a turret, the turret&#039;s status is irrelevant to whether the ship is  disarmed or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===[[Animation Code]]===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Option for animating the submodels}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Case Specific Entries==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Turret===&lt;br /&gt;
*All turrets require information concerning the weapon mounted to the turret. The entry can be either &#039;&#039;&#039;$Default PBanks&#039;&#039;&#039; for turret primaries (including beams) or &#039;&#039;&#039;$Default SBanks&#039;&#039;&#039; for turret secondaries&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*[[Animation_Code#Setting_Turret_Angle|Animation Code]] can be used with multi-part turrets.&lt;br /&gt;
*Multiple defined weapons will all fire but the targetting is handled by the first weapon in the list. &#039;&#039;&#039;Multiple beams are not possible&#039;&#039;&#039;. All weapons alternate between the firingpoints of the turret so turrets do not need to have more than one weapon defined no matter how many barrels or firingpoints they have.}}&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Subsystem: turret01, 1.0, 1.0&lt;br /&gt;
$Default PBanks: ( &amp;quot;Terran Turret&amp;quot; )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Engine===&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Subsystem: engine01, 5.0, 0.0&lt;br /&gt;
$Engine Wash: Default1000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=29438</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=29438"/>
		<updated>2010-06-02T11:14:24Z</updated>

		<summary type="html">&lt;p&gt;VA: Possibly temporarily moved the note about empties down to the bottom due to confusion. Will PM Esarai for clarification!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important Wiki Page Links:==&lt;br /&gt;
[[POF to Blender Conversions]], [[Blender]], [[POF Constructor Suite 2]], [[Collada Importer]]&lt;br /&gt;
&lt;br /&gt;
==Getting a Collada-capable PCS2 version:==&lt;br /&gt;
# [http://sourceforge.net/projects/alliance/files/POF%20Constructor%20Suite/2.0.3/PCS2_2.0.3_2008-05-15.exe/download The main PCS2 installer package] Install this first so you have the correct DLLs in place in your PCS2 directory.&lt;br /&gt;
# [http://scoobydoo.freespacemods.net/Completed/Misc/pcs2.exe The DAE capable PCS2 EXE itself] Place this in your PCS2 directory, backing up the previous one if you like.&lt;br /&gt;
# [http://the158th.hard-light.net/spicious/libcollada14dom21.7z Dependency 1: The libcollada DLL file] Place this in your PCS2 directory.&lt;br /&gt;
# [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en Dependency 2: The Microsoft VC2008 SP1 Runtime] You might already have this installed from some other program, but if not you&#039;ll need this installed too.&lt;br /&gt;
&lt;br /&gt;
==Recommended Blender DAE Import Settings:==&lt;br /&gt;
In Blender, once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE) and it is advisable to use the following options:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the DAE file into PCS.&lt;br /&gt;
&lt;br /&gt;
==Importing the DAE into PCS2:==&lt;br /&gt;
Open PCS2, and then go to File-&amp;gt;Open and locate your ready-to-open DAE file. Depending on the complexity of your model this could take a fraction of a second to a minute or so. Also remember that once this import is complete, you will still need to save the POF file somewhere, and it is during this part of the process that most errors occur. It is strongly advised that you do not begin adding POF data to a converted model until after it has successfully saved as POF first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Important Note for those who imported an existing FS2 model via DAE:===&lt;br /&gt;
Unfortunately due to a bug in the import script in Blender, imported DAE models are always imported into a new scene, but during DAE export only the first scene is looked in. The fix is an easy one - see [[POF to Blender Conversions#Correcting for the Blender DAE Importer&#039;s slight bug:]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; ).  &lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one Empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
   |  |&lt;br /&gt;
   |  |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-firepoints01&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
   |    |  |-firepoint2&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-path07              (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-Path07-01&lt;br /&gt;
   |    |  |-Path07-02&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-properties01&lt;br /&gt;
   |       |&lt;br /&gt;
   |       |-$fov=180&lt;br /&gt;
   |       |-$name=laser_turret&lt;br /&gt;
   |       |-$special=subsystem&lt;br /&gt;
   |&lt;br /&gt;
   |-turret02&lt;br /&gt;
      |&lt;br /&gt;
      |-helper02              (NOTE: The number after &#039;helper&#039; is really just there for your own organisation)&lt;br /&gt;
        |                     (ie. helper02 is for turret02)&lt;br /&gt;
        |-firepoints02&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1.001   (NOTE: the .001 part is just there to keep each object name unique in Blender)   &lt;br /&gt;
        |  |-firepoint2.001   (The importer will disregard everything after the &#039;.&#039; so don&#039;t worry about it)&lt;br /&gt;
        |&lt;br /&gt;
        |-path08              (NOTE: Each turret will require it&#039;s own approach path, but these can be generated in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path08-01&lt;br /&gt;
        |  |-Path08-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties02&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180.001&lt;br /&gt;
           |-$name=laser_turret.001&lt;br /&gt;
           |-$special=subsystem.001&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here, but the NAME is important because the Collada importer in PCS2 will know to ignore it and not put it on the texture list for the ship), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
===Esarai&#039;s technique regarding empties===&lt;br /&gt;
Do note that the Empty object cannot have any data applied to it.  This means that if you are to rotate or scale it, you will not be able to &#039;apply&#039; those changes, and that scale value will be carried into the dae and pof files, causing very strange distortions of your firepoints.  If you do use Empties, you must ensure your model is at 1:1 scale ratio with in-game appearance, or that you are going to model at that scale.  If you find that working on smaller scales and then scaling the entire model up is easier (and avoids the strange geometry drawing errors blender experiences with models several km long), a better alternative is to create a new plane, enter edit mode, select all vertices and delete them.  This creates an object that will function like an Empty, but can be &amp;quot;applied,&amp;quot; allowing you to commit scale and rotation changes without having to realign all the normals appropriately, and will allow you to scale and apply the entire model, helpers included.&lt;br /&gt;
&lt;br /&gt;
Just as an example:  Say you were to rotate a cuboid turret 45 degrees off of forward, select the whole turret setup and associated helper hierarchy and press &#039;ctrl+a&#039; to apply it.  You&#039;ll notice that the turret now has zero angle rotation on all axises and the scale has been reset to 1, but the helper Empties still have their scale and rotation values.  In PCS, we will see these values applied to the helpers, and your turret firepoints may end up several kilometers from the weapon barrels.  This can be avoided if you use no-geometry mesh objects as described above.&amp;lt;br&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=24264</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=24264"/>
		<updated>2009-08-01T11:49:25Z</updated>

		<summary type="html">&lt;p&gt;VA: More specific link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important Wiki Page Links:==&lt;br /&gt;
[[POF to Blender Conversions]], [[Blender]], [[POF Constructor Suite 2]], [[Collada Importer]]&lt;br /&gt;
&lt;br /&gt;
==Getting a Collada-capable PCS2 version:==&lt;br /&gt;
# [http://sourceforge.net/projects/alliance/files/POF%20Constructor%20Suite/2.0.3/PCS2_2.0.3_2008-05-15.exe/download The main PCS2 installer package] Install this first so you have the correct DLLs in place in your PCS2 directory.&lt;br /&gt;
# [http://scoobydoo.freespacemods.net/Completed/Misc/pcs2.exe The DAE capable PCS2 EXE itself] Place this in your PCS2 directory, backing up the previous one if you like.&lt;br /&gt;
# [http://the158th.hard-light.net/spicious/libcollada14dom21.7z Dependency 1: The libcollada DLL file] Place this in your PCS2 directory.&lt;br /&gt;
# [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en Dependency 2: The Microsoft VC2008 SP1 Runtime] You might already have this installed from some other program, but if not you&#039;ll need this installed too.&lt;br /&gt;
&lt;br /&gt;
==Recommended Blender DAE Import Settings:==&lt;br /&gt;
In Blender, once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE) and it is advisable to use the following options:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the DAE file into PCS.&lt;br /&gt;
&lt;br /&gt;
==Importing the DAE into PCS2:==&lt;br /&gt;
Open PCS2, and then go to File-&amp;gt;Open and locate your ready-to-open DAE file. Depending on the complexity of your model this could take a fraction of a second to a minute or so. Also remember that once this import is complete, you will still need to save the POF file somewhere, and it is during this part of the process that most errors occur. It is strongly advised that you do not begin adding POF data to a converted model until after it has successfully saved as POF first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Important Note for those who imported an existing FS2 model via DAE:===&lt;br /&gt;
Unfortunately due to a bug in the import script in Blender, imported DAE models are always imported into a new scene, but during DAE export only the first scene is looked in. The fix is an easy one - see [[POF to Blender Conversions#Correcting for the Blender DAE Importer&#039;s slight bug:]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
   |  |&lt;br /&gt;
   |  |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-firepoints01&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
   |    |  |-firepoint2&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-path07              (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-Path07-01&lt;br /&gt;
   |    |  |-Path07-02&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-properties01&lt;br /&gt;
   |       |&lt;br /&gt;
   |       |-$fov=180&lt;br /&gt;
   |       |-$name=laser_turret&lt;br /&gt;
   |       |-$special=subsystem&lt;br /&gt;
   |&lt;br /&gt;
   |-turret02&lt;br /&gt;
      |&lt;br /&gt;
      |-helper02              (NOTE: The number after &#039;helper&#039; is really just there for your own organisation)&lt;br /&gt;
        |                     (ie. helper02 is for turret02)&lt;br /&gt;
        |-firepoints02&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1.001   (NOTE: the .001 part is just there to keep each object name unique in Blender)   &lt;br /&gt;
        |  |-firepoint2.001   (The importer will disregard everything after the &#039;.&#039; so don&#039;t worry about it)&lt;br /&gt;
        |&lt;br /&gt;
        |-path08              (NOTE: Each turret will require it&#039;s own approach path, but these can be generated in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path08-01&lt;br /&gt;
        |  |-Path08-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties02&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180.001&lt;br /&gt;
           |-$name=laser_turret.001&lt;br /&gt;
           |-$special=subsystem.001&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here, but the NAME is important because the Collada importer in PCS2 will know to ignore it and not put it on the texture list for the ship), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=POF_to_Blender_Conversions&amp;diff=24263</id>
		<title>POF to Blender Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=POF_to_Blender_Conversions&amp;diff=24263"/>
		<updated>2009-08-01T11:46:56Z</updated>

		<summary type="html">&lt;p&gt;VA: The counterpart to the Blender to POF conversions!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important Wiki Page Links:==&lt;br /&gt;
[[Blender to POF Conversions]], [[Blender]], [[POF Constructor Suite 2]], [[Collada Importer]]&lt;br /&gt;
&lt;br /&gt;
==Getting a Collada-capable PCS2 version:==&lt;br /&gt;
# [http://sourceforge.net/projects/alliance/files/POF%20Constructor%20Suite/2.0.3/PCS2_2.0.3_2008-05-15.exe/download The main PCS2 installer package] Install this first so you have the correct DLLs in place in your PCS2 directory.&lt;br /&gt;
# [http://scoobydoo.freespacemods.net/Completed/Misc/pcs2.exe The DAE capable PCS2 EXE itself] Place this in your PCS2 directory, backing up the previous one if you like.&lt;br /&gt;
# [http://the158th.hard-light.net/spicious/libcollada14dom21.7z Dependency 1: The libcollada DLL file] Place this in your PCS2 directory.&lt;br /&gt;
# [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en Dependency 2: The Microsoft VC2008 SP1 Runtime] You might already have this installed from some other program, but if not you&#039;ll need this installed too.&lt;br /&gt;
&lt;br /&gt;
==Exporting the DAE out of PCS2:==&lt;br /&gt;
Open PCS2, and then go to File -&amp;gt; Open and locate the POF file you want to convert to DAE and open up in Blender. Once it has opened successfully, save it by going to File -&amp;gt; Save and change the file type to DAE. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
By default PCS2 will save your DAE with &#039;helpers&#039; (Empties as Blender knows them by) that represent almost all the POF data. Unfortunately Blender has a lot of trouble with long helper names (such as subobject properties) being truncated. This limits the usefulness of importing the POF data in the first place, and it is usually much simpler not to export this data and either import it from the old version of the POF once you convert it back, or rebuild it entirely in PCS2.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To tell PCS2 to export DAEs without any helpers, go to Options -&amp;gt; Preferences and UNCHECK &amp;quot;Export helpers to DAE&amp;quot;. If you just want everything except the troublesome subobject properties, CHECK &amp;quot;Export helpers to DAE&amp;quot; and UNCHECK &amp;quot;Export properties as helpers&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Incidentally you do not need to worry about mirroring any DAE axes if you noticed those three checkboxes to the right of the aforementioned ones. Those are to correct for other DAE importers in other 3d applications, but Blender should get these axes the right way round.&lt;br /&gt;
&lt;br /&gt;
==Recommended Blender DAE Import Settings:==&lt;br /&gt;
In Blender, to import an existing DAE, go to File -&amp;gt; Import -&amp;gt; Collada 1.4(DAE) and it is advisable to use the following options:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaImporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Correcting for the Blender DAE Importer&#039;s slight bug:==&lt;br /&gt;
There is a small bug in the DAE import script in Blender where it tends to create at least one extra scene besides the original scene no matter what your importer settings are. (And some settings other than the previously recommended ones currently cause the import to fail)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To switch between active scenes use this dropdown menu:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSceneDropdownMenu.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Usually after a DAE import it will look like this:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSceneFixes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;So in more detail:&lt;br /&gt;
# Select &amp;quot;Scene&amp;quot; from the dropdown menu. Your scene will probably switch back to the default Blender scene with the cube, camera and lamp.&lt;br /&gt;
# Press the black X on the right hand side of the Scene dropdown list and confirm to delete it.&lt;br /&gt;
# Do the same for &amp;quot;Scene.001&amp;quot;&lt;br /&gt;
# KEEP &amp;quot;Scene001&amp;quot; as this is the scene with your imported model in it. I like to rename it back to &amp;quot;Scene&amp;quot; just in case but I don&#039;t think this is nessecary.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE: If you ever find you have components of ship spread over multiple scenes, selecting the wayward objects and pressing Ctrl + L -&amp;gt; Make link to scene -&amp;gt; selecting the desired destination scene will allow you to reunite them with the rest of your ship.&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=24262</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=24262"/>
		<updated>2009-08-01T11:05:25Z</updated>

		<summary type="html">&lt;p&gt;VA: Common Links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important Wiki Page Links:==&lt;br /&gt;
[[POF to Blender Conversions]], [[Blender]], [[POF Constructor Suite 2]], [[Collada Importer]]&lt;br /&gt;
&lt;br /&gt;
==Getting a Collada-capable PCS2 version:==&lt;br /&gt;
# [http://sourceforge.net/projects/alliance/files/POF%20Constructor%20Suite/2.0.3/PCS2_2.0.3_2008-05-15.exe/download The main PCS2 installer package] Install this first so you have the correct DLLs in place in your PCS2 directory.&lt;br /&gt;
# [http://scoobydoo.freespacemods.net/Completed/Misc/pcs2.exe The DAE capable PCS2 EXE itself] Place this in your PCS2 directory, backing up the previous one if you like.&lt;br /&gt;
# [http://the158th.hard-light.net/spicious/libcollada14dom21.7z Dependency 1: The libcollada DLL file] Place this in your PCS2 directory.&lt;br /&gt;
# [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en Dependency 2: The Microsoft VC2008 SP1 Runtime] You might already have this installed from some other program, but if not you&#039;ll need this installed too.&lt;br /&gt;
&lt;br /&gt;
==Recommended Blender DAE Import Settings:==&lt;br /&gt;
In Blender, once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE) and it is advisable to use the following options:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the DAE file into PCS.&lt;br /&gt;
&lt;br /&gt;
==Importing the DAE into PCS2:==&lt;br /&gt;
Open PCS2, and then go to File-&amp;gt;Open and locate your ready-to-open DAE file. Depending on the complexity of your model this could take a fraction of a second to a minute or so. Also remember that once this import is complete, you will still need to save the POF file somewhere, and it is during this part of the process that most errors occur. It is strongly advised that you do not begin adding POF data to a converted model until after it has successfully saved as POF first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Important Note for those who imported an existing FS2 model via DAE:===&lt;br /&gt;
Unfortunately due to a bug in the import script in Blender, imported DAE models are always imported into a new scene, but during DAE export only the first scene is looked in. The fix is an easy one - see [[POF to Blender Conversions]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
   |  |&lt;br /&gt;
   |  |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-firepoints01&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
   |    |  |-firepoint2&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-path07              (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-Path07-01&lt;br /&gt;
   |    |  |-Path07-02&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-properties01&lt;br /&gt;
   |       |&lt;br /&gt;
   |       |-$fov=180&lt;br /&gt;
   |       |-$name=laser_turret&lt;br /&gt;
   |       |-$special=subsystem&lt;br /&gt;
   |&lt;br /&gt;
   |-turret02&lt;br /&gt;
      |&lt;br /&gt;
      |-helper02              (NOTE: The number after &#039;helper&#039; is really just there for your own organisation)&lt;br /&gt;
        |                     (ie. helper02 is for turret02)&lt;br /&gt;
        |-firepoints02&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1.001   (NOTE: the .001 part is just there to keep each object name unique in Blender)   &lt;br /&gt;
        |  |-firepoint2.001   (The importer will disregard everything after the &#039;.&#039; so don&#039;t worry about it)&lt;br /&gt;
        |&lt;br /&gt;
        |-path08              (NOTE: Each turret will require it&#039;s own approach path, but these can be generated in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path08-01&lt;br /&gt;
        |  |-Path08-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties02&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180.001&lt;br /&gt;
           |-$name=laser_turret.001&lt;br /&gt;
           |-$special=subsystem.001&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here, but the NAME is important because the Collada importer in PCS2 will know to ignore it and not put it on the texture list for the ship), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderSceneFixes.jpg&amp;diff=24261</id>
		<title>File:BlenderSceneFixes.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderSceneFixes.jpg&amp;diff=24261"/>
		<updated>2009-08-01T10:50:05Z</updated>

		<summary type="html">&lt;p&gt;VA: Demonstrates the steps needed to correct the scene list bug caused by importing a DAE into Blender.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Demonstrates the steps needed to correct the scene list bug caused by importing a DAE into Blender.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderSceneDropdownMenu.jpg&amp;diff=24260</id>
		<title>File:BlenderSceneDropdownMenu.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderSceneDropdownMenu.jpg&amp;diff=24260"/>
		<updated>2009-08-01T10:48:51Z</updated>

		<summary type="html">&lt;p&gt;VA: Shows the location of the scene dropdown menu in Blender.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows the location of the scene dropdown menu in Blender.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderColladaImporterSettings.jpg&amp;diff=24259</id>
		<title>File:BlenderColladaImporterSettings.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderColladaImporterSettings.jpg&amp;diff=24259"/>
		<updated>2009-08-01T08:05:16Z</updated>

		<summary type="html">&lt;p&gt;VA: The recommended import settings when opening up a DAE file in Blender&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The recommended import settings when opening up a DAE file in Blender&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=24254</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=24254"/>
		<updated>2009-07-31T00:24:57Z</updated>

		<summary type="html">&lt;p&gt;VA: Added section on how to GET a collada capable PCS2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting a Collada capable PCS2 version:==&lt;br /&gt;
# [http://sourceforge.net/projects/alliance/files/POF%20Constructor%20Suite/2.0.3/PCS2_2.0.3_2008-05-15.exe/download The main PCS2 installer package] Install this first so you have the correct DLLs in place in your PCS2 directory.&lt;br /&gt;
# [http://scoobydoo.freespacemods.net/Completed/Misc/pcs2.exe The DAE capable PCS2 EXE itself] Place this in your PCS2 directory, backing up the previous one if you like.&lt;br /&gt;
# [http://the158th.hard-light.net/spicious/libcollada14dom21.7z Dependency 1: The libcollada DLL file] Place this in your PCS2 directory.&lt;br /&gt;
# [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en Dependency 2: The Microsoft VC2008 SP1 Runtime] You might already have this installed from some other program, but if not you&#039;ll need this installed too.&lt;br /&gt;
&lt;br /&gt;
==Recommended Blender Export Settings:==&lt;br /&gt;
In Blender, once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE) and it is advisable to use the following options:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the DAE file into PCS.&lt;br /&gt;
&lt;br /&gt;
==Importing the DAE into PCS2:==&lt;br /&gt;
Open PCS2, and then go to File-&amp;gt;Open and locate your ready-to-open DAE file. Depending on the complexity of your model this could take a fraction of a second to a minute or so. Also remember that once this import is complete, you will still need to save the POF file somewhere, and it is during this part of the process that most errors occur. It is strongly advised that you do not begin adding POF data to a converted model until after it has successfully saved as POF first.&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
   |  |&lt;br /&gt;
   |  |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-firepoints01&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
   |    |  |-firepoint2&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-path07              (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-Path07-01&lt;br /&gt;
   |    |  |-Path07-02&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-properties01&lt;br /&gt;
   |       |&lt;br /&gt;
   |       |-$fov=180&lt;br /&gt;
   |       |-$name=laser_turret&lt;br /&gt;
   |       |-$special=subsystem&lt;br /&gt;
   |&lt;br /&gt;
   |-turret02&lt;br /&gt;
      |&lt;br /&gt;
      |-helper02              (NOTE: The number after &#039;helper&#039; is really just there for your own organisation)&lt;br /&gt;
        |                     (ie. helper02 is for turret02)&lt;br /&gt;
        |-firepoints02&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1.001   (NOTE: the .001 part is just there to keep each object name unique in Blender)   &lt;br /&gt;
        |  |-firepoint2.001   (The importer will disregard everything after the &#039;.&#039; so don&#039;t worry about it)&lt;br /&gt;
        |&lt;br /&gt;
        |-path08              (NOTE: Each turret will require it&#039;s own approach path, but these can be generated in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path08-01&lt;br /&gt;
        |  |-Path08-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties02&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180.001&lt;br /&gt;
           |-$name=laser_turret.001&lt;br /&gt;
           |-$special=subsystem.001&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here, but the NAME is important because the Collada importer in PCS2 will know to ignore it and not put it on the texture list for the ship), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=23977</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=23977"/>
		<updated>2009-07-11T13:05:39Z</updated>

		<summary type="html">&lt;p&gt;VA: /* Single-part Turrets: */  illustrated the .XXX thing with a second turret in the example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recommended Export Settings:==&lt;br /&gt;
Once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the .dae file into PCS.&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
   |  |&lt;br /&gt;
   |  |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-firepoints01&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
   |    |  |-firepoint2&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-path07              (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
   |    |  |&lt;br /&gt;
   |    |  |-Path07-01&lt;br /&gt;
   |    |  |-Path07-02&lt;br /&gt;
   |    |&lt;br /&gt;
   |    |-properties01&lt;br /&gt;
   |       |&lt;br /&gt;
   |       |-$fov=180&lt;br /&gt;
   |       |-$name=laser_turret&lt;br /&gt;
   |       |-$special=subsystem&lt;br /&gt;
   |&lt;br /&gt;
   |-turret02&lt;br /&gt;
      |&lt;br /&gt;
      |-helper02              (NOTE: The number after &#039;helper&#039; is really just there for your own organisation)&lt;br /&gt;
        |                     (ie. helper02 is for turret02)&lt;br /&gt;
        |-firepoints02&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1.001   (NOTE: the .001 part is just there to keep each object name unique in Blender)   &lt;br /&gt;
        |  |-firepoint2.001   (The importer will disregard everything after the &#039;.&#039; so don&#039;t worry about it)&lt;br /&gt;
        |&lt;br /&gt;
        |-path08              (NOTE: Each turret will require it&#039;s own approach path, but these can be generated in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path08-01&lt;br /&gt;
        |  |-Path08-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties02&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180.001&lt;br /&gt;
           |-$name=laser_turret.001&lt;br /&gt;
           |-$special=subsystem.001&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here, but the NAME is important because the Collada importer in PCS2 will know to ignore it and not put it on the texture list for the ship), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=23976</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=23976"/>
		<updated>2009-07-11T12:49:29Z</updated>

		<summary type="html">&lt;p&gt;VA: /* Insignia: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recommended Export Settings:==&lt;br /&gt;
Once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the .dae file into PCS.&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
      |&lt;br /&gt;
      |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
        |&lt;br /&gt;
        |-firepoints01&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
        |  |-firepoint2&lt;br /&gt;
        |&lt;br /&gt;
        |-path07          (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path07-01&lt;br /&gt;
        |  |-Path07-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties01&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180&lt;br /&gt;
           |-$name=laser_turret&lt;br /&gt;
           |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here, but the NAME is important because the Collada importer in PCS2 will know to ignore it and not put it on the texture list for the ship), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=23975</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=23975"/>
		<updated>2009-07-11T12:47:45Z</updated>

		<summary type="html">&lt;p&gt;VA: /* Insignia: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recommended Export Settings:==&lt;br /&gt;
Once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that selecting the option &amp;quot;Only Export Selected&amp;quot; will cause the Collada exporter to drop all hierarchy information. This will cause extreme pain when importing the .dae file into PCS.&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that when making a ship with more than one turret in Blender, you will need more than one empty object named &amp;quot;firepoint01.&amp;quot;  Because of how blender handles duplicate objects, it is impossible for it to have two objects with the same name, and as such pastes a .xxx (object.001, object.002, and so on) on the end of the object name to keep them separate.  This additional tag is nothing to be worried about, as the system will disregard anything past the &#039;.&#039; .&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
      |&lt;br /&gt;
      |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
        |&lt;br /&gt;
        |-firepoints01&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
        |  |-firepoint2&lt;br /&gt;
        |&lt;br /&gt;
        |-path07          (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path07-01&lt;br /&gt;
        |  |-Path07-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties01&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180&lt;br /&gt;
           |-$name=laser_turret&lt;br /&gt;
           |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As the XX indicates, you can create insignia that will appear on LODs too, which is a good idea or else in-game your insignia will suddenly vanish when the ship moves away and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender&amp;diff=22792</id>
		<title>Blender</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender&amp;diff=22792"/>
		<updated>2009-05-15T04:21:18Z</updated>

		<summary type="html">&lt;p&gt;VA: Updatified&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Blender&#039;&#039;&#039; is a free, open source 3D modelling program that has been in continual development for the past several years. Though not as commonly used in the community as 3D Studio Max and Caligari [[trueSpace]], Blender does have a solid support base on the net and has been used successfully to create many models in FS2, including many of the HTL upgrades of Volition models.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With PCS2 ([[POF_Constructor_Suite_2]]) and the Collada supporting version ([[Collada_Importer#How_to_Get_Collada_Support]]), Blender has become a one-stop tool for creating FS2 models. (Ignoring whatever 2D application you use for creating textures!) For information about how to set up your model for conversion via DAE, see: [[Blender_to_POF_Conversions]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blender is available for most common operating systems, such as Microsoft Windows, MacOS, Linux, FreeBSD and even Pocket PC. Even though Blender is free, it is arguably as powerful as many commercial 3D software tools, given certain restrictions.&lt;br /&gt;
&lt;br /&gt;
==Mini-Tutorial-Feature-Guide-Thing!==&lt;br /&gt;
&lt;br /&gt;
Ok, what I&#039;ll do here is write up an overall guide on how things work with blender. I won&#039;t handle all the ins and outs of getting a model textured and into FS just yet - that&#039;s a much bigger job. Just stick with learning to build ship meshes for now. &lt;br /&gt;
&lt;br /&gt;
===Interface Stuff===&lt;br /&gt;
&lt;br /&gt;
Right, when you start up Blender, you&#039;ll see your start screen with the 3d window being the big main one, and another window with a control panel along the bottom. This can be completely customised to suit whatever viewing needs you have. For example, I have a dual screen setup, and I use my left monitor as ONLY a 3d window, and my right hand screen with my control panel down the bottom and usually the UV mapping window above that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The active window is whichever one the cursor is hovering over - so you can&#039;t for example rotate the 3d view unless your cursor is over that window.&amp;lt;br&amp;gt;&lt;br /&gt;
You can scale these windows however you want, and can merge or split them by hovering your mouse over the boarder between them and middle-clicking. You can change what each windows function is by clicking the square drop down icon in the top/bottom left of each window.&amp;lt;br&amp;gt;&lt;br /&gt;
Have a quick play with that to see how it works.&lt;br /&gt;
&lt;br /&gt;
====View controls====&lt;br /&gt;
You can use the mouse, num-pad or a combination of both. The arrow keys on the num-pad (8, 4, 6 and 2) will snap rotate the view in that direction in set increments. The numbers 7, 1 and 3 will snap the view to top, front and side respectively, and if you want to view from the other side (ie, from the bottom, back or other side), hold ctrl while pressing the number. (Eg, to view from the bottom, you&#039;d hold ctrl and press 7)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The mouse pretty much just uses the middle mouse button and scroll to control the view. To rotate, just middle click somewhere in the 3d window and drag it around. Holding shift before middle click will pan the view, and ctrl will zoom (though it&#039;s easier to use the scroll wheel here).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The final two things to note about views are that blender can display your model from a perspective viewpoint or an orthogonal one. Num-pad 5 toggles this setting, and the &amp;quot;.&amp;quot; key will centre and zoom the view on whatever it is you&#039;ve got selected (works with whole objects, verts, and just about anything else)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Modes====&lt;br /&gt;
&lt;br /&gt;
Onto the editing part - Blender has a couple of different 3d window modes to it. Object mode is the default one - and it will allow you to select your various objects in the scene. To edit something in edit mode, you&#039;ll first need to have it selected (pink) in object mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find the rest of the modes by clicking the &#039;Object Mode&#039; dropdown box which is towards the middle of the 3d window&#039;s control bar (not the control panel). Of these, edit mode is the only one you should worry about at this stage - and you should also note that to quickly get in and out of edit mode, just press tab.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Editing Stuff===&lt;br /&gt;
&lt;br /&gt;
====Selections====&lt;br /&gt;
&lt;br /&gt;
Ok, Edit mode mainly works on whatever you&#039;ve selected. Normally, this will be vertices because the wire-frame mesh editing is one of blenders strongest points, but it can quite easily be faces or edges too. To change what type of thing you want to select, you&#039;ll find the verts, edges and face select modes towards the right of the 3d windows control bar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s just use verts for now, and we&#039;ll only fiddle with the default cube in the scene to demonstrate some of the other functions.&amp;lt;br&amp;gt;&lt;br /&gt;
You can select verts/edges/faces in a number of ways, but the most common ones are to 1) press b and click+drag a box around it, 2) hold shift and right click next to all the bits you want (they&#039;ll turn yellow when selected), or if you want to select a number of verts that are attached by edges to each other, 3) right click one vert, hold ctrl and tap the num-pad + key, and this will add any verts to the scene that are directly connected to the ones you&#039;ve already got selected.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another handy thing is the a key. It will toggle whether all or no verts are selected. If you&#039;ve got none selected, it will select all of them. If you&#039;ve got some selected, it will deselect them.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Editing Functions====&lt;br /&gt;
&lt;br /&gt;
Ok, once you&#039;ve made your selection (just select the 4 verts that make up one side of the cube for now), you can do just about anything with it. The main things you&#039;ll need to know about here though are the Grab, Rotate, Scale and Extrude functions. (each one is activated by tapping the associated first letter of the words.)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, tap g to grab our selection, and begin moving it around with your mouse. Something to keep in mind here is that when doing it like this, blender will ONLY edit things according to the plane at which the selection is viewed. In other words and in this case, your camera will affect the &#039;plane&#039; along which your selected object can be moved. Eg, if you press g while in top view, you&#039;ll only be able to move the object along the &#039;ground&#039; plane.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On to what you can do while you&#039;ve got your object grabbed - there&#039;s a lot. To cancel the move, you can right click at any time and it will snap back to it&#039;s original position.&amp;lt;br&amp;gt;&lt;br /&gt;
*To snap it between pre-set grid increments, hold Ctrl.&lt;br /&gt;
*To perform tiny free movements, hold shift.&lt;br /&gt;
*To perform tiny snap movements, hold shift and Ctrl.&lt;br /&gt;
*&amp;gt;&amp;gt;(most importantly)&amp;gt;&amp;gt;To constrain it so it will only move along any one axis, just tap the axis letter (once for the global axis, twice for local, thrice to de-constrain it).&lt;br /&gt;
*To move around one pixel at a time, tap the arrow keys.&lt;br /&gt;
&lt;br /&gt;
You can do a couple of other things too, but you won&#039;t need them for now. &lt;br /&gt;
Now - most of the above controls work when in Scale (s) and Rotate (r) too - so it gives you whatever degree of control over your selection that you want.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Extrude (e) is a bit different - it will basically, duplicate your selection, but attach it by edges to the original ones. You should note though that this is context sensitive. What this means is that if you only have one vert selected and press e, it will extrude only that vert, no questions asked. However, if blender detects an edge between two verts, or a face between 3 or 4, it will pop up a little menu when you press e. This will allow you to extrude the piece in exactly the way you wanted - ie, as a face, edges or individual verts. Have a play with this on the cube to see what it does.&amp;lt;br&amp;gt;&lt;br /&gt;
The extrude button basically allows you to grow your ships out of whatever you start with, so it&#039;s a very important one.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Editing Menus====&lt;br /&gt;
&lt;br /&gt;
If you ever get confused, need to find a shortcut or something, press the space bar when over the 3d window. It will pop up a menu that is able to access most of blenders editing functions (the remaining lot are in the &#039;Weird&#039; w menu), and it will list the shortcuts for each one too.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also through this menu you can access the add menu, where you can add more primitive shapes at your blender-cursors location. (The blender cursor is that black crosshair with the red and white striped circle through it. You place it by left-clicking somewhere, and centre it by pressing Shift+c) Keep in mind that any objects you create through this menu will be aligned with your view plane again, so it can sometimes get ugly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And finally, to delete your selection, press x, and it will give you an option for exactly what it is about your selection you want deleted.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[http://www.blender.org/ Official Blender site containing current version downloads.]&lt;br /&gt;
*[http://wiki.blender.org/index.php/Doc:Manual A useful wiki-based guide detailing the commands and controls for Blender]&lt;br /&gt;
*[http://www.blender.org/education-help/video-tutorials/ Video tutorials for getting started.]&lt;br /&gt;
*[http://filmmakeriq.com/general/featured/555-blender-tutorials.html 555 different Blender tutorials from all over the net]&lt;br /&gt;
*[http://www.hard-light.net/forums/index.php/topic,61061.msg1241903.html#msg1241903 Water roughly explains UV mapping in Blender]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=22791</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=22791"/>
		<updated>2009-05-15T03:57:49Z</updated>

		<summary type="html">&lt;p&gt;VA: /* Recommended Export Settings: */  How to ACTUALLY perform the export&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recommended Export Settings:==&lt;br /&gt;
Once you are ready to export, go to File -&amp;gt; Export -&amp;gt; Collada 1.4(DAE)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
      |&lt;br /&gt;
      |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
        |&lt;br /&gt;
        |-firepoints01&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
        |  |-firepoint2&lt;br /&gt;
        |&lt;br /&gt;
        |-path07          (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path07-01&lt;br /&gt;
        |  |-Path07-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties01&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180&lt;br /&gt;
           |-$name=laser_turret&lt;br /&gt;
           |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As you may be able to tell, you can create insignia that will appear on LODs too which is a good idea to do or else it will suddenly vanish when the ship moves out a way and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=22790</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=22790"/>
		<updated>2009-05-15T03:40:41Z</updated>

		<summary type="html">&lt;p&gt;VA: /* Textures: */ Formats noted.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recommended Export Settings:==&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format-wise, FS can accept TGA, PCX, JPG and DDS. However it is VERY highly recommended (almost a requirement) that you use DDS formats for final releases due to their efficiency. For more information about textures and their usage, see [[Texturing#Texture Types]]&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
      |&lt;br /&gt;
      |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
        |&lt;br /&gt;
        |-firepoints01&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
        |  |-firepoint2&lt;br /&gt;
        |&lt;br /&gt;
        |-path07          (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path07-01&lt;br /&gt;
        |  |-Path07-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties01&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180&lt;br /&gt;
           |-$name=laser_turret&lt;br /&gt;
           |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As you may be able to tell, you can create insignia that will appear on LODs too which is a good idea to do or else it will suddenly vanish when the ship moves out a way and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=22789</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=22789"/>
		<updated>2009-05-15T03:34:04Z</updated>

		<summary type="html">&lt;p&gt;VA: Went through and added loads of piccies. Should be easier to follow now. :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recommended Export Settings:==&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderColladaExporterSettings.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General requirements for the Blender scene:==&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShipDimensions.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderApplyScaleOrientation.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTriangulatingSelectedFaces.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid:&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that occupy the same plane in 3d space, as this will cause bad Z-fighting in-game&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorSamePlane.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that exactly overlap onto each other&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorCoCentricFaces.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Faces that are formed between 3 verts in a row (ie, 0 area faces)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorHoles.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderErrorShatteredGeometry.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:SelectNonManifold.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&amp;lt;br&amp;gt;&lt;br /&gt;
A quick point here on the usage of the mirror modifier:&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMirrorModifierSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
Basically the modifier will create a mirrored copy of your selected object, and will mirror it about that objects centre on the axes you select.&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups1.jpg]]&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups2.jpg]]&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&amp;lt;br&amp;gt;[[Image:BlenderSmoothgroups3.jpg]]&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTextureSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderLODs.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderTransparencySetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderDebrisSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderSinglePartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
      |&lt;br /&gt;
      |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
        |&lt;br /&gt;
        |-firepoints01&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
        |  |-firepoint2&lt;br /&gt;
        |&lt;br /&gt;
        |-path07          (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path07-01&lt;br /&gt;
        |  |-Path07-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties01&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180&lt;br /&gt;
           |-$name=laser_turret&lt;br /&gt;
           |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretAxes.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderMultiPartTurretSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderShieldSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As you may be able to tell, you can create insignia that will appear on LODs too which is a good idea to do or else it will suddenly vanish when the ship moves out a way and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:BlenderInsigniaSetup.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderShipOrientation.jpg&amp;diff=22788</id>
		<title>File:BlenderShipOrientation.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderShipOrientation.jpg&amp;diff=22788"/>
		<updated>2009-05-15T03:06:37Z</updated>

		<summary type="html">&lt;p&gt;VA: A guide on how to align your ship from the top-down blender view.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A guide on how to align your ship from the top-down blender view.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderColladaExporterSettings.jpg&amp;diff=22787</id>
		<title>File:BlenderColladaExporterSettings.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderColladaExporterSettings.jpg&amp;diff=22787"/>
		<updated>2009-05-15T03:05:50Z</updated>

		<summary type="html">&lt;p&gt;VA: Recommended export settings for DAE models.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Recommended export settings for DAE models.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderShipDimensions.jpg&amp;diff=22786</id>
		<title>File:BlenderShipDimensions.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderShipDimensions.jpg&amp;diff=22786"/>
		<updated>2009-05-15T03:05:00Z</updated>

		<summary type="html">&lt;p&gt;VA: A guide on which dimensions are which. 1 Blender unit = 1 FS metre.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A guide on which dimensions are which. 1 Blender unit = 1 FS metre.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderShieldSetup.jpg&amp;diff=22785</id>
		<title>File:BlenderShieldSetup.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderShieldSetup.jpg&amp;diff=22785"/>
		<updated>2009-05-15T03:04:10Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up shields.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up shields.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderApplyScaleOrientation.jpg&amp;diff=22784</id>
		<title>File:BlenderApplyScaleOrientation.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderApplyScaleOrientation.jpg&amp;diff=22784"/>
		<updated>2009-05-15T03:03:39Z</updated>

		<summary type="html">&lt;p&gt;VA: How to apply scale and orientation for selected objects to avoid problems during conversion.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to apply scale and orientation for selected objects to avoid problems during conversion.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderSinglePartTurretSetup.jpg&amp;diff=22783</id>
		<title>File:BlenderSinglePartTurretSetup.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderSinglePartTurretSetup.jpg&amp;diff=22783"/>
		<updated>2009-05-15T03:02:46Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up single-part turrets with firepoints.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up single-part turrets with firepoints.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderMultiPartTurretSetup.jpg&amp;diff=22782</id>
		<title>File:BlenderMultiPartTurretSetup.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderMultiPartTurretSetup.jpg&amp;diff=22782"/>
		<updated>2009-05-15T03:02:17Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up multi-part (rotating) turrets with firepoints.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up multi-part (rotating) turrets with firepoints.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderTriangulatingSelectedFaces.jpg&amp;diff=22781</id>
		<title>File:BlenderTriangulatingSelectedFaces.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderTriangulatingSelectedFaces.jpg&amp;diff=22781"/>
		<updated>2009-05-15T03:01:26Z</updated>

		<summary type="html">&lt;p&gt;VA: How to triangulate objects.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to triangulate objects.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderMirrorModifierSetup.jpg&amp;diff=22780</id>
		<title>File:BlenderMirrorModifierSetup.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderMirrorModifierSetup.jpg&amp;diff=22780"/>
		<updated>2009-05-15T03:00:41Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up the mirror-modifier to halve your modelling workload.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up the mirror-modifier to halve your modelling workload.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderErrorSamePlane.jpg&amp;diff=22779</id>
		<title>File:BlenderErrorSamePlane.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderErrorSamePlane.jpg&amp;diff=22779"/>
		<updated>2009-05-15T03:00:01Z</updated>

		<summary type="html">&lt;p&gt;VA: An illustration of the error where two faces occupy the same plane, causing Z fighting in game.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An illustration of the error where two faces occupy the same plane, causing Z fighting in game.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderInsigniaSetup.jpg&amp;diff=22778</id>
		<title>File:BlenderInsigniaSetup.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderInsigniaSetup.jpg&amp;diff=22778"/>
		<updated>2009-05-15T02:59:04Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up insignia objects.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up insignia objects.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderErrorCoCentricFaces.jpg&amp;diff=22777</id>
		<title>File:BlenderErrorCoCentricFaces.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderErrorCoCentricFaces.jpg&amp;diff=22777"/>
		<updated>2009-05-15T02:57:26Z</updated>

		<summary type="html">&lt;p&gt;VA: An illustration of the error where two faces of the same dimensions are occupying the same location.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An illustration of the error where two faces of the same dimensions are occupying the same location.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderMultiPartTurretAxes.jpg&amp;diff=22776</id>
		<title>File:BlenderMultiPartTurretAxes.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderMultiPartTurretAxes.jpg&amp;diff=22776"/>
		<updated>2009-05-15T02:56:30Z</updated>

		<summary type="html">&lt;p&gt;VA: An illustration of where the axes or object centres should be placed when making multi-part (rotating) turrets.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An illustration of where the axes or object centres should be placed when making multi-part (rotating) turrets.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderDebrisSetup.jpg&amp;diff=22775</id>
		<title>File:BlenderDebrisSetup.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderDebrisSetup.jpg&amp;diff=22775"/>
		<updated>2009-05-15T02:55:42Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up debris objects.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up debris objects.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderErrorHoles.jpg&amp;diff=22774</id>
		<title>File:BlenderErrorHoles.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderErrorHoles.jpg&amp;diff=22774"/>
		<updated>2009-05-15T02:55:04Z</updated>

		<summary type="html">&lt;p&gt;VA: An illustration of the error where holes or faces alike can appear to be an edge.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An illustration of the error where holes or faces alike can appear to be an edge.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderErrorShatteredGeometry.jpg&amp;diff=22773</id>
		<title>File:BlenderErrorShatteredGeometry.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderErrorShatteredGeometry.jpg&amp;diff=22773"/>
		<updated>2009-05-15T02:54:24Z</updated>

		<summary type="html">&lt;p&gt;VA: Illustration of the error known as shattered geometry.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Illustration of the error known as shattered geometry.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:SelectNonManifold.jpg&amp;diff=22772</id>
		<title>File:SelectNonManifold.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:SelectNonManifold.jpg&amp;diff=22772"/>
		<updated>2009-05-15T02:52:28Z</updated>

		<summary type="html">&lt;p&gt;VA: How to select potentially problematic edges using the select non-manifold function.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to select potentially problematic edges using the select non-manifold function.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderSmoothgroups1.jpg&amp;diff=22771</id>
		<title>File:BlenderSmoothgroups1.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderSmoothgroups1.jpg&amp;diff=22771"/>
		<updated>2009-05-15T02:51:35Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up smoothgroups part 1.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up smoothgroups part 1.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderSmoothgroups2.jpg&amp;diff=22770</id>
		<title>File:BlenderSmoothgroups2.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderSmoothgroups2.jpg&amp;diff=22770"/>
		<updated>2009-05-15T02:51:12Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up smoothgroups part 2.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up smoothgroups part 2.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderSmoothgroups3.jpg&amp;diff=22769</id>
		<title>File:BlenderSmoothgroups3.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderSmoothgroups3.jpg&amp;diff=22769"/>
		<updated>2009-05-15T02:50:50Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up smoothgroups part 3.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up smoothgroups part 3.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderLODs.jpg&amp;diff=22768</id>
		<title>File:BlenderLODs.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderLODs.jpg&amp;diff=22768"/>
		<updated>2009-05-15T02:50:10Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up LODs for DAE conversion.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up LODs for DAE conversion.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderTransparencySetup.jpg&amp;diff=22767</id>
		<title>File:BlenderTransparencySetup.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderTransparencySetup.jpg&amp;diff=22767"/>
		<updated>2009-05-15T02:49:34Z</updated>

		<summary type="html">&lt;p&gt;VA: How to set up transparencies like cockpit glass.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up transparencies like cockpit glass.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:BlenderTextureSetup.jpg&amp;diff=22766</id>
		<title>File:BlenderTextureSetup.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:BlenderTextureSetup.jpg&amp;diff=22766"/>
		<updated>2009-05-15T02:48:45Z</updated>

		<summary type="html">&lt;p&gt;VA: How to assign textures to faces.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to assign textures to faces.&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=22765</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=22765"/>
		<updated>2009-05-15T02:22:35Z</updated>

		<summary type="html">&lt;p&gt;VA: /* Single-part Turrets: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General requirements for the Blender scene:==&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid faces that exactly overlap onto each other, faces that are formed between 3 verts in a row (ie, 0 area faces), shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired. (Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
      |&lt;br /&gt;
      |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; ALL NAMES ARE CASE SENSITIVE!!!!)&lt;br /&gt;
        |&lt;br /&gt;
        |-firepoints01&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
        |  |-firepoint2&lt;br /&gt;
        |&lt;br /&gt;
        |-path07          (NOTE: path and properties are probably best left off and done in PCS2)&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path07-01&lt;br /&gt;
        |  |-Path07-02&lt;br /&gt;
        |&lt;br /&gt;
        |-properties01&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180&lt;br /&gt;
           |-$name=laser_turret&lt;br /&gt;
           |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As you may be able to tell, you can create insignia that will appear on LODs too which is a good idea to do or else it will suddenly vanish when the ship moves out a way and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:PCS2 Cooperative Authoring]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=21001</id>
		<title>Blender to POF Conversions</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Blender_to_POF_Conversions&amp;diff=21001"/>
		<updated>2009-03-08T06:18:46Z</updated>

		<summary type="html">&lt;p&gt;VA: All the autogeneration features of Blender-&amp;gt;DAE conversions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General requirements for the Blender scene:==&lt;br /&gt;
===Orientation:===&lt;br /&gt;
For those who can understand it:&amp;lt;br&amp;gt;&lt;br /&gt;
:Stern to Bow axis = Freespace Positive Z axis = Blender Positive Y axis&lt;br /&gt;
:Starboard to Port axis = Freespace Positive X axis = Blender Negative X axis&lt;br /&gt;
:Belly to Topside axis = Freespace Positive Y axis = Blender Positive Z axis&lt;br /&gt;
&lt;br /&gt;
For those who don&#039;t:&amp;lt;br&amp;gt;&lt;br /&gt;
:Go to a top down view of the scene with Numpad-7. You should be looking down at the topside of your ship, with the ships bow pinting up your screen.&lt;br /&gt;
&lt;br /&gt;
===Scale:===&lt;br /&gt;
1 Blender unit = 1 Freespace meter, so scale your model to the exact in-game dimensions you want it to be.&lt;br /&gt;
To do this, press N to bring up the Transform Properties window and pay attention to the DimXYZ section bottom right. Those are the dimensions of the selected object in Blender units.&amp;lt;br&amp;gt;&lt;br /&gt;
To avoid potential problems with scale and orientation during conversion, you want the RotXYZ and ScaleXYZ fields to read 0,0,0 and 1,1,1 respectively - which you can achieve by pressing Ctrl+A-&amp;gt;&amp;quot;Scale and Rotation to ObData&amp;quot; for the selected objects. Doing this will basically hold that object still while setting those fields to 0s and 1s.&lt;br /&gt;
&lt;br /&gt;
===Geometry:===&lt;br /&gt;
As far as I have been able to tell, all geometry the PCS2 Collada importer will accept must be fully triangulated. (Ctrl+T to triangulate selected object)&amp;lt;br&amp;gt;&lt;br /&gt;
All mirror or edgesplit modifiers must be applied before exporting or they won&#039;t work and you&#039;ll end up with half your model or something. ;)&amp;lt;br&amp;gt;&lt;br /&gt;
Messy geometry will &#039;&#039;usually&#039;&#039; convert correctly anyway, but I would suggest making it a point of pride to produce clean meshes that will &#039;&#039;definitely&#039;&#039; convert. That is, avoid faces that exactly overlap onto each other, faces that are formed between 3 verts in a row (ie, 0 area faces), shattered faces where all or parts of a face are completely detached from surrounding geometry for no good (eg, smoothing) reason.&lt;br /&gt;
&lt;br /&gt;
An excellent error checking tool in blender is the &#039;select non-manifold&#039; function, which highlights holes in the mesh. To use it, select the object you wish to investigate, enter edit mode and toggle A until you have nothing selected. Set your mode to edge mode (Ctrl + Tab-&amp;gt;&#039;Edges&#039; or press the edge icon at the bottom of the 3d View panel) and go to the Select menu in the 3d View panel and click Non-Manifold. All edges that form the perimeter of a hole will be selected, so you can identify areas that should be repaired. (Note: When used with the mirror modifier, this function will select all the edges that form the place where the mirrored side will attach to the &#039;real&#039; side. This is normal so don&#039;t worry about it there.)&lt;br /&gt;
&lt;br /&gt;
===Smoothing:===&lt;br /&gt;
Blender does not use smoothgroups as they are seen in other modelling programs, but it has something pretty close and just as effective. It involves a Three-stage process:&lt;br /&gt;
# Select the edges that will make up the perimeter of the area you want to be smoothed (ie, the area you want to become a single smoothgroup) and press Ctrl+E-&amp;gt;&#039;Mark Sharp&#039;.&lt;br /&gt;
# Use Ctrl+E-&amp;gt;&#039;Loop to Region&#039; to select the faces that are inside that perimeter and set them to be smoothed by either the &#039;Set Smooth&#039; button in the editmode button panel or Ctrl+F-&amp;gt;&#039;Shade Smooth&#039;.&lt;br /&gt;
# Outside of edit mode, add an Edge Split modifier set only to &#039;From Marked as Sharp&#039;.&lt;br /&gt;
&lt;br /&gt;
If you apply this modifier before the final export, these smoothgroups will survive the conversion intact and can GREATLY enhance the apeal of an in-game model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Textures:===&lt;br /&gt;
The PCS2 Collada importer will read textures from whatever images are assigned to each face of an object in Blenders UV editor (NOT from the materials button panel!)&amp;lt;br&amp;gt;&lt;br /&gt;
As such, assuming you have UV mapped the model and have an associated texture ready, select all the faces of the model that use that texture and in the UV/Image Editor view open up that image. (If it&#039;s loaded already it will be in the drop down list, if not go to Image-&amp;gt;Open)&lt;br /&gt;
&lt;br /&gt;
===Levels Of Detail:===&lt;br /&gt;
LODs are lower detail duplicates of the main mesh used when the ship is so far away from the player that rendering it at full detail would be a big waste of your graphics card&#039;s resources. While not a requirement (FS will work fine without them), it&#039;s standard practice to include at least two lower LODs as well as the main hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main lod object should be named &#039;&#039;&#039;&#039;detail0&#039;&#039;&#039;&#039; (case sensitive), first LOD &#039;&#039;&#039;&#039;detail1&#039;&#039;&#039;&#039; second &#039;&#039;&#039;&#039;detail2&#039;&#039;&#039;&#039; and so on. Don&#039;t use more than 4 LODs in total as the LODs themselves will become a waste of memory.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These LODs should not be parented to any other object as they&#039;re basically the top of the hierarchy of the model. Also, they should all have their object centres set to the origin of 0,0,0.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |-&amp;lt;subobjects of detail0&amp;gt;&lt;br /&gt;
 detail1&lt;br /&gt;
   |-&amp;lt;subobjects of detail1&amp;gt;&lt;br /&gt;
 detail2&lt;br /&gt;
   |-&amp;lt;subobjects of detail2, though by this stage there shouldn&#039;t be any&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Nameplates/Cockpit Glass:===&lt;br /&gt;
Transparent objects are handled quite badly by FSO at the time of writing, and so the following technique is basically a hack to get around that.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have anything that requires transparency as a part of the hull or any subobject, you must:&lt;br /&gt;
# Select all faces that will need to be transparent. (For cockpits this means all the polys that would be the glass, and for nameplates it means just the floating nameplate rectangle polys)&lt;br /&gt;
# Detach these faces from the mesh they&#039;re a part of so they form their own mesh.&lt;br /&gt;
# Assign them the texture if nessecary. (For cockpit glass just give it any old image called &#039;glass&#039; and for nameplates give it any old image called &#039;nameplate&#039;. Both these textures exist in the 3.6.10 MediaVPs and so will be used on your model with no further worry about it. If you need some other form of transparency you&#039;ll have to make your own transparent texture and use that.)&lt;br /&gt;
# Name the object in the form of &#039;&#039;&#039;&#039;&amp;lt;Object the transparent polys came from&amp;gt;-trans&#039;&#039;&#039;&#039;. So for example, the glass or nameplate would be called &#039;detail0-trans&#039;, because they were pulled off the main hull.&lt;br /&gt;
# Parent the transparent polys object to whatever object they originally came from. (Select the transparent object, then the parent object and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ) For glass or a nameplate this would of course be detail0.&lt;br /&gt;
&lt;br /&gt;
What basically happens is that PCS2 will re-attach the transparent polys to their parent object last in the list, which lets Freespace draw them last of all and so correctly transparent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |   |&lt;br /&gt;
   |   |-radardish-trans&lt;br /&gt;
   |&lt;br /&gt;
   |-detail0-trans        (nameplate)&lt;br /&gt;
&lt;br /&gt;
===Debris:===&lt;br /&gt;
Debris chunks are the pieces that hurl themselves in all directions when a ship explodes. A ship that has no debris will have nothing left at all when it explodes which is really boring! I would recommend constructing full-ship-volume debris for the best explosion effects, as it means that when it explodes the ship essentially just cracks apart and drifts off, which looks much cooler than nothing or a piece here or there.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyway, to make debris objects ready for conversion they should be named &#039;&#039;&#039;&#039;debrisXX&#039;&#039;&#039;&#039; where XX starts at 01 and can go up to 99, though typically any more than about 20 is excessive..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 debris01&lt;br /&gt;
 debris02&lt;br /&gt;
 debris03 etc&lt;br /&gt;
&lt;br /&gt;
===Single-part Turrets:===&lt;br /&gt;
All turrets should be named with the word &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in them so FS knows to treat them differently to normal subobjects. Beyond that they can be called whatever you like, though standard practice is just &#039;&#039;&#039;&#039;Turret01&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;Turret02&#039;&#039;&#039;&#039; etc.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: Many people myself included much prefer to set up turret firepoints, paths and properties in PCS2 after the conversion, where it&#039;s a bit easier and less likely to break during conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To set up the firepoints of a turret in blender, you&#039;ll need to use Empties (also known as helpers). (To create an empty, just press Ctrl+A-&amp;gt;&#039;Empty&#039; )&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic layout for empties is to have a parent empty attached to each subobject, and then several empties attached to it for things like firepoints, path and properties, looking like this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-turret01&lt;br /&gt;
      |&lt;br /&gt;
      |-helper01 (NOTE: This top level empty must begin with the word &#039;helper&#039; )&lt;br /&gt;
        |&lt;br /&gt;
        |-Firepoints01&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Firepoint1       (NOTE: The orientation of these empties is important - the turret will fire down their Z axis)&lt;br /&gt;
        |  |-Firepoint2&lt;br /&gt;
        |&lt;br /&gt;
        |-Path07&lt;br /&gt;
        |  |&lt;br /&gt;
        |  |-Path07-01&lt;br /&gt;
        |  |-Path07-02&lt;br /&gt;
        |&lt;br /&gt;
        |-Properties01&lt;br /&gt;
           |&lt;br /&gt;
           |-$fov=180&lt;br /&gt;
           |-$name=laser_turret&lt;br /&gt;
           |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Multi-part (rotating) Turrets:===&lt;br /&gt;
&lt;br /&gt;
Multi-part turrets consist of two parts: the Base and the Arm. Since the arm needs to inherit the rotation of the base it&#039;s attached to, you need to parent it to the base (ie, select arm, base and press Ctrl+P-&amp;gt;&#039;Make Parent&#039; ). Note that each turret can only have ONE arm object, but within that object you might have three separate pieces of geometry or so to form three barrels. The turret base should be parented to the LOD it is associated with - typically detail0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As multi-part turrets need to rotate in-game, they need to have careful attention paid to where their object centres are, or they could spin right off the ship or something equally stupid looking. Place the centres at the points where each piece (arm and base) of the turret would pivot around. Turrets on the topside of the ship must face forwards while turrets on the belly must face backwards. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; turret arms must point straight up out of their base or they will not rotate correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with single part turrets, the naming must include &#039;&#039;&#039;&#039;turret&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;gun&#039;&#039;&#039;&#039; in it somewhere so FS knows to treat it differently, and standard practice is to call the base &#039;&#039;&#039;&#039;Turret01-base&#039;&#039;&#039;&#039; and the arm &#039;&#039;&#039;&#039;Turret01-arm&#039;&#039;&#039;&#039;. Also again it is easier to set up turret data in PCS2 after conversion (Setting the turret axis rotation MUST be done in PCS2 in the subobjects field after conversion or else your turrets won&#039;t work at all)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting up firepoints, paths and properties in Blender is the same as for single part turrets..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret01        (single part turret)&lt;br /&gt;
   |&lt;br /&gt;
   |-Turret02-base&lt;br /&gt;
       |&lt;br /&gt;
       |-Turret02-arm&lt;br /&gt;
       |&lt;br /&gt;
       |-helper02&lt;br /&gt;
          |&lt;br /&gt;
          |-firepoints02&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-firepoint02-01&lt;br /&gt;
          |   |-firepoint02-02&lt;br /&gt;
          |&lt;br /&gt;
          |-path07&lt;br /&gt;
          |   |&lt;br /&gt;
          |   |-path07-01&lt;br /&gt;
          |   |-path07-02&lt;br /&gt;
          |&lt;br /&gt;
          |-properties02&lt;br /&gt;
              |&lt;br /&gt;
              |-$fov=180&lt;br /&gt;
              |-$name=main%turret      (The % will be converted to a space automatically)&lt;br /&gt;
              |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Subobjects/Modeled Subsystems:===&lt;br /&gt;
&lt;br /&gt;
These are just done like single part turrets if they don&#039;t need to rotate and like multi-part turrets if they do (like radar dishes). You can have an empty system as with turrets if you like, but again this is better done post-conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make destroyed models for modeled subsystems or turrets, create a model of the wrecked subsystem and put it in the position it will be in when that subsystem is destroyed. Name it &#039;&#039;&#039;&#039;&amp;lt;Subobject name&amp;gt;-destroyed&#039;&#039;&#039;&#039; and Freespace will only make it appear when that subobject has been destroyed. Ie, &#039;&#039;&#039;&#039;Turret01-destroyed&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As with rotating multi-part turrets, rotating subobjects axis rotation must be set up in PCS2 after conversion.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-radardish&lt;br /&gt;
   |-radardish-destroyed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Regular Subsystems:===&lt;br /&gt;
&lt;br /&gt;
Subsystems are done by placing empties, and then scaling them up to the diameter of the desired subsystem. As with turrets, they can have their properties of &#039;$special=subsystem&#039; added (in the same hierarchy - ie, children of the helper, as seen with the turrets) either in Blender or preferably in PCS2 after conversion.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To name them correctly, simply call them &#039;&#039;&#039;&#039;subsystemcommunications&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;subsystemweapons&#039;&#039;&#039;&#039; etc. Subsystems should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemweapons&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
      |&lt;br /&gt;
      |-path03&lt;br /&gt;
      |   |&lt;br /&gt;
      |   |-path03-01&lt;br /&gt;
      |   |-path03-02&lt;br /&gt;
      |&lt;br /&gt;
      |-properties&lt;br /&gt;
         |&lt;br /&gt;
         |-$special=subsystem&lt;br /&gt;
&lt;br /&gt;
===Gun/Missile ports:===&lt;br /&gt;
&lt;br /&gt;
For fighters and bombers, you can set up gun and missile points by creating empties representing the gun/missile banks, with children empties representing the individual firing points contained in that bank.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So for example, you would have the parent empty &#039;&#039;&#039;&#039;gunbank01&#039;&#039;&#039;&#039; with children &#039;&#039;&#039;&#039;gunbank01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;gunbank01-02&#039;&#039;&#039;&#039; representing the locations and orientations (down the emtpies&#039; Z axis) of the two individual firing points in that bank. Gun and missile banks should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-gunbank01     (This will create a gunbank with two firepoints on it)&lt;br /&gt;
       |&lt;br /&gt;
       |-gunbank01-01&lt;br /&gt;
       |-gunbank01-02&lt;br /&gt;
&lt;br /&gt;
===Shields:===&lt;br /&gt;
&lt;br /&gt;
Shields are usually made of only 80 polygons and must be fully triangulated, enveloping the entire model. Name the object &#039;&#039;&#039;&#039;shield&#039;&#039;&#039;&#039;. Shields should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 shield&lt;br /&gt;
&lt;br /&gt;
===Insignia:===&lt;br /&gt;
&lt;br /&gt;
Squadren Insignia should be treated similarly to nameplates in terms of making them on a set of faces that floats just above the hull.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UV map them and apply a texture called &#039;insignia&#039; (it&#039;s a good idea to use an actual insignia texture here), and call them: &#039;&#039;&#039;&#039;insigLODXX-YY&#039;&#039;&#039;&#039;, where XX is the LOD number and YY is the number of this particular insignia (for if you have more than one). As you may be able to tell, you can create insignia that will appear on LODs too which is a good idea to do or else it will suddenly vanish when the ship moves out a way and the LOD clicks over.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Insignia should not be children of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 insigLOD01-01       (This and the one below will &#039;&#039;&#039;actually&#039;&#039;&#039; be assigned to detail0. The two last ones will be assigned to detail1)&lt;br /&gt;
 insigLOD01-02&lt;br /&gt;
 insigLOD02-01&lt;br /&gt;
 insigLOD02-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Docking Points:===&lt;br /&gt;
&lt;br /&gt;
Docking points consist of &#039;&#039;&#039;two&#039;&#039;&#039; individual docking points, an associated path and properties. You can do all of this in PCS2 after conversion where it&#039;s a lot easier, but if you really want to you can do it in Blender too:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make two dockpoints (&#039;&#039;&#039;&#039;dockpoint01-01&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;dockpoint01-02&#039;&#039;&#039;&#039;) the children of a parent &#039;&#039;&#039;&#039;dockpoint01&#039;&#039;&#039;&#039; empty (which should not be the child of anything). The first point is the location and outwards normal of dockpoint01, and the second defines the &#039;front&#039; of the dockpoint so that docking ships know which end is the front of the ship.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dockpoints can have paths and properties set up as with single part turrets, though dockpoints need 4 path verticies instead of the usual two, and can take the property of &#039;&#039;&#039;&#039;$name=&amp;lt;dockport name&amp;gt;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 dockpoint01&lt;br /&gt;
   |&lt;br /&gt;
   |-dockpoint01-01&lt;br /&gt;
   |-dockpoint01-02&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path09&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path09-01&lt;br /&gt;
       |   |-path09-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$name=DockingPort&lt;br /&gt;
&lt;br /&gt;
===Engine Glows:===&lt;br /&gt;
&lt;br /&gt;
These can be done in one of two ways:&lt;br /&gt;
# Just basic thrusters involves an empty called &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; representing the glow bank, and children empties that represent the location and scale of the individual thruster glows. Here &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; should not be the child of anything.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 thrusters&lt;br /&gt;
   |&lt;br /&gt;
   |-thruster01-01&lt;br /&gt;
   |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
# Linked to an engine subsystem. Here the setup is the same as in 1), but &#039;&#039;&#039;&#039;thrusters&#039;&#039;&#039;&#039; is set as the child of the helper of the engine subsystem that is meant to be providing these particular engine glows. This way, when that particular engine subsystem is destroyed, only the glows linked to it are removed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 subsystemengine&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-path04&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-path04-01&lt;br /&gt;
       |   |-path04-02&lt;br /&gt;
       |&lt;br /&gt;
       |-properties&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-$special=subsystem&lt;br /&gt;
       |&lt;br /&gt;
       |-thrusters&lt;br /&gt;
           |&lt;br /&gt;
           |-thruster01-01&lt;br /&gt;
           |-thruster01-02&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Glow Points:===&lt;br /&gt;
&lt;br /&gt;
These involve a parent empty that must begin with the name &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039;, and be the child of whatever subobject the glowpoints are attached to. Any children of &#039;&#039;&#039;&#039;glowbank&#039;&#039;&#039;&#039; will define the location and scale of individual glowpoints. They also use a helper-&amp;gt;properties setup as seen previously, taking only the texture name the glowpoint to be drawn there in-game, such as: &#039;&#039;&#039;&#039;properties&#039;&#039;&#039;&#039;-&amp;gt;&#039;&#039;&#039;&#039;$glow_texture=yellowglow&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blinking settings can only be done in PCS2 after conversion, and in fact the entire glowpoint making process can be done there too.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
   |&lt;br /&gt;
   |-helper&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank01&lt;br /&gt;
       |   |&lt;br /&gt;
       |   |-glowpoint01-01&lt;br /&gt;
       |   |-glowpoint01-02&lt;br /&gt;
       |   |-glowpoint01-03&lt;br /&gt;
       |&lt;br /&gt;
       |-glowbank02&lt;br /&gt;
           |&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
           |-glowpoint02-01&lt;br /&gt;
&lt;br /&gt;
===Eyepoint:===&lt;br /&gt;
&lt;br /&gt;
The eyepoint can again be done after conversion, but in Blender it is handled simply with a lone empty named &#039;&#039;&#039;&#039;eyepoint01&#039;&#039;&#039;&#039; that is not the child of anything. The Z direction of the empty indicates the direction it&#039;s facing in.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 detail0&lt;br /&gt;
 detail1&lt;br /&gt;
 detail2&lt;br /&gt;
 eyepoint01&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=17425</id>
		<title>Ships.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=17425"/>
		<updated>2008-08-10T05:34:28Z</updated>

		<summary type="html">&lt;p&gt;VA: Added expected units for debris settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TableVersion|4562|4499}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- I&#039;ll leave these here - commented away - until we can be sure they are not needed&lt;br /&gt;
Links to archived versions:&lt;br /&gt;
*[[Ships.tbl/CVS_version|CVS version of ships.tbl]]&lt;br /&gt;
*[[Ships.tbl/Retail_version|Retail version of ships.tbl]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==General Format==&lt;br /&gt;
*Ship.tbl is formed of several different sections.&lt;br /&gt;
*All sections beginning with &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; need &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;End before the next section.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Default Player Ship&#039;&#039;&#039;&lt;br /&gt;
***Defines the default player ship in the game and also in the FRED. If in a mission appears a ship that has not been properly included to tables then game replaces the ship with the Default Player Ship.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Engine Wash Info&#039;&#039;&#039;&lt;br /&gt;
***Includes all the definitions of all engine washes used in the game.&lt;br /&gt;
{{Table37|&lt;br /&gt;
:*&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Ship Templates&#039;&#039;&#039;&lt;br /&gt;
:**Includes entries for ship templates}}&lt;br /&gt;
&lt;br /&gt;
:*&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Ship Classes&#039;&#039;&#039;&lt;br /&gt;
:**Includes entries for every ship and also defines their attributes that are used in the game&lt;br /&gt;
:**Is discussed in detail at [[Ships.tbl#Table_Options|Table Options]] section.&lt;br /&gt;
:*&#039;&#039;&#039;$Player Ship Precedence&#039;&#039;&#039;&lt;br /&gt;
:**Player Ship Precedence is used in ship selection when a ship specified by the mission designer is not available to the player.  The next ship on the list is used in its place (assuming that ship is allowed for the player)&lt;br /&gt;
&lt;br /&gt;
==Default Player Ship==&lt;br /&gt;
*Defines the default ship in the game.&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, name of ship model as defined in [[Ships.tbl#Table_Options|Table Options]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Engine Wash==&lt;br /&gt;
*Defines the engines washes&lt;br /&gt;
*First entry must be named &#039;default&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Defines the name of the engine wash. &lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+nocreate===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*In [[Modular Tables]] name can be followed by line &#039;&#039;&#039;+nocreate&#039;&#039;&#039; that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in ship.tbl or in earlier parsed *-shp.tbm files) by the time the *-shp.tbm is read.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Angle:===&lt;br /&gt;
*Defines the angle from the engine where the engine wash exists&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, degrees&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Radius Mult:===&lt;br /&gt;
*Defines engine wash multiplier&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Length:===&lt;br /&gt;
*Defines the length of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Intensity:===&lt;br /&gt;
*Defines the strength of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
   $Name:           Default&lt;br /&gt;
   $Angle:          10.0&lt;br /&gt;
   $Radius Mult:    1.2&lt;br /&gt;
   $Length:         400&lt;br /&gt;
   $Intensity:      1.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ship Template Options==&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Example of template usage [[Ship_Templates]] in which both [[GTB Artemis]] variants have been defined using a single template}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Template:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Defines the name of template&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Use Template:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Another template can be used as template for the current template&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ships Table Options==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Model name that is used also in game. It is also used as name for the whole ship entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&#039;, name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+nocreate===&lt;br /&gt;
{{Table36| &lt;br /&gt;
*In [[Modular Tables]] name can be followed by line &#039;&#039;&#039;+nocreate&#039;&#039;&#039; that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in ship.tbl or in earlier parsed *-shp.tbm files) by the time the *-shp.tbm is read.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Use Template:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Sets the table entry to use template based on an existing table entry instead of creating totally new one&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the template}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Short name:===&lt;br /&gt;
*Shortened model name, for FRED, Usually more descriptive than the real name.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Species:===&lt;br /&gt;
*Defines species (Terran, Vasudan or Shivan). Determines many things, including the color of the engine glow, the flyby sound effects, the briefing icon and the support ship. &lt;br /&gt;
{{Table36|&lt;br /&gt;
*More species have been enabled, and all of these have to be defined in [[species_defs.tbl]].}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the species&lt;br /&gt;
**Example: &#039;&#039;Terran&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Technical description===&lt;br /&gt;
List of descriptive terms for techroom and ship selection screens. Number after the quotes refers to [[tstrings.tbl]]&lt;br /&gt;
&lt;br /&gt;
====+Type:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Maneuverability:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Armor:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Manufacturer:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Description:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Requires &#039;&#039;&#039;$end_multi_text&#039;&#039;&#039; after the entry&lt;br /&gt;
*Example: &lt;br /&gt;
::XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
::$end_multi_text&lt;br /&gt;
&lt;br /&gt;
====+Tech Description:==== &lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Requires &#039;&#039;&#039;$end_multi_text&#039;&#039;&#039; after the entry&lt;br /&gt;
*Example: &lt;br /&gt;
::XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
::$end_multi_text&lt;br /&gt;
&lt;br /&gt;
====+Length:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Gun Mounts:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Missile Banks:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Cockpit POF file:===&lt;br /&gt;
{{Table36|*Filename of the cockpit model file&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Cockpit offset:===&lt;br /&gt;
{{Table36|*Defines the offset of the cockpit model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF file:===&lt;br /&gt;
*Filename of the model file (.pof) at data/models folder&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Texture Replace:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+old:&#039;&#039;&#039;&lt;br /&gt;
*Defines the texture to be replaced&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+new:&#039;&#039;&#039;&lt;br /&gt;
*Defines the new texture&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF target file:===&lt;br /&gt;
*Optional hud targeting model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF target LOD:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the LOD (Level-Of-Detail) of target model used in the HUD targetbox&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Detail distance:===&lt;br /&gt;
*Defines the distance where the change between different Levels-Of-Details (LODs) occurs&lt;br /&gt;
*Take notice that these are base values. Model detail in Detail options, (within game press F2), applies a multiplier to these values. &#039;&#039;(We need a coder to post here the multiplier values that each level sets)&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;(Detail Distances)&#039;&#039;&#039;&#039;&#039; , list of &#039;&#039;&#039;integers&#039;&#039;&#039; (same amount as LODs), distances from the model in meters&lt;br /&gt;
**Example: &#039;&#039;(0, 80, 300, 900)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$ND:===&lt;br /&gt;
*No Dim field field was used in FreeSpace for ship lights. Use of glowmaps is preferred to the $ND entry. Only noticeable in Glide or Software mode.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
**Example: &#039;&#039;42, 42, 224&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Show damage:===&lt;br /&gt;
*No known function. Best left alone to avoid possible compatibility issues.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no, usually yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+Damage Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the damage type of the collision&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact Spew:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Used to define the impact particle spew&lt;br /&gt;
*&#039;&#039;&#039;+Max particles:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum number of particles spewed&lt;br /&gt;
**Setting to zero causes model to generate no particles at all&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*In 3.7 impact spew earlier entry has been replaced with full particle emitter&lt;br /&gt;
*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the texture used for the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Relative Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative position of the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative velocity of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Normal:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative normal of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Normal Variance:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Spew:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Used to define the damage particle spew&lt;br /&gt;
*&#039;&#039;&#039;+Max particles:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum number of particles spewed&lt;br /&gt;
**Setting to zero causes model to generate no particles at all&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*In 3.7 damage spew earlier entry has been replaced with full particle emitter&lt;br /&gt;
*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the texture used for the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Relative Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative position of the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative velocity of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Normal:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative normal of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Normal Variance:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Debris:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+Damage Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the damage type of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
{{Table37|&lt;br /&gt;
*&#039;&#039;&#039;+Min Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum lifetime of the debris (Default value is a random number)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float,&#039;&#039;&#039; Seconds&lt;br /&gt;
*+Max Lifetime:&lt;br /&gt;
**Defines the maximum lifetime of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float,&#039;&#039;&#039; Seconds&lt;br /&gt;
*+Min Speed:&lt;br /&gt;
**Defines the minimum speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float,&#039;&#039;&#039; Meters/second&lt;br /&gt;
*+Max Speed:&lt;br /&gt;
**Defines the maximum speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float,&#039;&#039;&#039; Meters/second&lt;br /&gt;
*+Min Rotation speed:&lt;br /&gt;
**Defines the minimum rotational speed of the debris (Default is (6 to 10)/Ship-radius)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float,&#039;&#039;&#039; Radians/second&lt;br /&gt;
*+Max Rotation speed:&lt;br /&gt;
**Defines the maximum rotational speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float,&#039;&#039;&#039; Radians/second}}&lt;br /&gt;
&lt;br /&gt;
===$Density:===&lt;br /&gt;
*This defines how hard you hit something. If you set it very high, a collision will severely damage your ship, and push the lower density object away; the higher the numbers are, the harder they will hit and the farther they will be pushed. Setting a density of 10 on a fighter with 180 hitpoints will cause the fighter to immediately explode if it collides with, say, an asteroid.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, usually 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damp:===&lt;br /&gt;
*Damp affects how quickly you will accel/decel to your target velocity. Higher damp means slow acceleration and deceleration. The lower this number, the faster the ship responds. For example, specifying a value of 0.0 means there is no damping, in other words, people would say, &amp;quot;this has no physics, like Wing Commander.&amp;quot; The more damping, the harder to control, but the more smoothly it moves.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rotdamp:===&lt;br /&gt;
*Same thing, but for rotational movement.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Banking Constant:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Defines a factor for how much roll is added during a yaw. Set as 1 for full roll and 0 is no roll. Default is 0.5.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Velocity:===&lt;br /&gt;
*Defines maximum velocities with standard energy settings on x (left/right), y (up/down), and z (forward) -axis (respectively). z -axis velocity defines the maximum forward velocity.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively, meters per second&lt;br /&gt;
**Example: &#039;&#039;0.0, 0.0, 80.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rotation time:===&lt;br /&gt;
*Defines rotation times around the x, y, and z -axis. Number is seconds it takes to complete rotate a ship (360 degrees) around the given axis&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, seconds per 360 degree turn around x-axis, y-axis, z-axis, respectively&lt;br /&gt;
**Example: &#039;&#039;3.0, 2.6, 5.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rear Velocity:===&lt;br /&gt;
*Defines rear velocity&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Forward accel:===&lt;br /&gt;
*Number of seconds needed from full stop to maximum velocity&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Forward decel:===&lt;br /&gt;
*Number of seconds needed from maximum velocity to full stop&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Slide accel:=== &lt;br /&gt;
*Same for sliding as the $Forward accel: is for for normal movement.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Slide decel:===&lt;br /&gt;
*Same for sliding as the $Forward decel: is for for normal movement.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Glide:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Allows gliding in game, i.e. turning the ship&#039;s facing without changing its direction.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Max Glide Speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the maximum glide speed if the glide has been enabled&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Autoaim FOV:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the field of view for autoaim&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Allow an animation to be defined as a warpin effect.&lt;br /&gt;
*Can be defined as:&lt;br /&gt;
**&#039;&#039;Default&#039;&#039;&lt;br /&gt;
**&#039;&#039;BTRL&#039;&#039;&lt;br /&gt;
**&#039;&#039;Homeworld&#039;&#039;&lt;br /&gt;
**&#039;&#039;Hyperspace&#039;&#039;&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Can be defined as:&lt;br /&gt;
**&#039;&#039;Default&#039;&#039;&lt;br /&gt;
**&#039;&#039;BTRL&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Sets the speed at which the ship warps in for &#039;&#039;&#039;default&#039;&#039;&#039; warpin effect&lt;br /&gt;
*Sets the time that the ships warp in (not the animation itself) takes for &#039;&#039;&#039;BTRL&#039;&#039;&#039; type warpin effects&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second or miiliseconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin time:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect duration&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin radius:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin animation:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the animation used as the warpin effect.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Allow an animation to be defined as a warpout effect.&lt;br /&gt;
*Can be defined as &#039;&#039;BTRL&#039;&#039; or &#039;&#039;default&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Sets the speed at which the ship warps out for &#039;&#039;&#039;default&#039;&#039;&#039; warpout effect&lt;br /&gt;
*Sets the time that the ships warp out (not the animation itself) takes for &#039;&#039;&#039;BTRL&#039;&#039;&#039; type warpout effects&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second or milliseconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout time:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect duration&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout radius:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout animation:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the animation used as the warpout effect.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Player warpout speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Sets the speed at which the player warps out from the game&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl inner rad:===&lt;br /&gt;
*Radius at which the full explosion damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl outer rad:===&lt;br /&gt;
*Maximum radius at which any damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl damage:===&lt;br /&gt;
*Amount of damage done inside the inner radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl blast:===&lt;br /&gt;
*The intensity of the blast effect when you&#039;re within the outer radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl Propagates:===&lt;br /&gt;
*This decides whether the ship explodes into debris immediately, or whether it has the many small explosions before breaking apart slowly&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Damage Type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;. Defines the damage type used for the ship explosions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Speed:===&lt;br /&gt;
*Speed shockwave expands at, 0 means no shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave count:===&lt;br /&gt;
*Defines the number of shockwaves to spawned&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave model:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the textured model used as the ship&#039;s 3D shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave name:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the name of the animation to used for the 2D shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Weapon Model Draw Distance:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Distance that external weapons are shown, ie. missiles and such.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
**Default: &#039;&#039;200&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Primary Weapons===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed PBanks:====&lt;br /&gt;
*List of allowed primary weapons in brackets (weapon name marked with quotes). &lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Each of the primary weapon banks &#039;&#039;&#039;can optionally&#039;&#039;&#039; be given their own list of allowed weapons, in which case each bank has its own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight PBanks:====&lt;br /&gt;
*Primary weapons for multiplayer dogfights.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Each of the primary weapon dogfight banks &#039;&#039;&#039;can optionally&#039;&#039;&#039; be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Default PBanks:====&lt;br /&gt;
*Defines default primary weapons for each of the primary weapon banks&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$PBank Capacity:====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines ammunition capacity of primary weapon banks. In brackets, different weapon banks separated by commas.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Integer, Integer )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Show Primary Models:====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the use of weapon models for primary weapons. In brackets, different weapon banks may have different definitions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Boolean Boolean )&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
**Example: &#039;&#039;( YES YES )&#039;&#039; - Note the spaces on the insides of the brackets.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Secondary Weapons===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed SBanks:====&lt;br /&gt;
*Same for secondary weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36| &lt;br /&gt;
*Each of the secondary weapon banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight SBanks:====&lt;br /&gt;
*Same for secondary weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36| &lt;br /&gt;
*Each of the secondary weapon dogfight banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Default SBanks:====&lt;br /&gt;
*Defines default primary weapons for each of the primary weapon banks&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$SBank Capacity:====&lt;br /&gt;
*Defines ammunition capacity of secondary weapon banks. In brackets, different weapon banks separated by commas.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Integer, Integer )&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Show Secondary Models:====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the use of weapon models for secondary weapons. In brackets, different weapon banks may have different definitions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Boolean Boolean )&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;(YES YES)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shields:===&lt;br /&gt;
*Determines the shield strength&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, total shield strength&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield Color:===&lt;br /&gt;
*RGB value for shield color&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
**Example: &#039;&#039;100, 100, 255&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Power Output:===&lt;br /&gt;
*The amount of energy available. The higher the output, the faster your weapons recharge.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield Regeneration Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Repair rates for shields at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, multiplier of total shield hitpoints recharged each second. (&#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.02 equals 2% recharged per second)&lt;br /&gt;
**Default: &#039;&#039;0.02&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Weapon Regeneration Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Regeneration rates for primary guns at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, multiplier of total gun energy recharged each second (&#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.04 equals 4% recharged per second)&lt;br /&gt;
**Default: &#039;&#039;0.04&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Oclk Speed:===&lt;br /&gt;
*Can also be &#039;&#039;&#039;$Max Overclock Speed:&#039;&#039;&#039;&lt;br /&gt;
*Maximum velocity with all energy diverted to engines&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Weapon Eng:===&lt;br /&gt;
*Can also be &#039;&#039;&#039;$Max Weapon Energy:&#039;&#039;&#039;&lt;br /&gt;
*The maximum amount of energy you can store in your primary weapons bank.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Hitpoints:===&lt;br /&gt;
*How much damage the ship can take&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, hitpoints&lt;br /&gt;
**Default: &#039;&#039;100&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Hull Repair Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Repair rates for hull at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, multiplier of hitpoints repaired per second, &#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.01 equals 1% recharged per second}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Subsystem Repair Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Repair rates for sybsystems percent per second&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, multiplier of total subsystem hitpoints repaired per second, &#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.01 equals 1% recharged per second}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Armor Type===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;. Defines armor type used for the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
*See [[Ships.tbl#Ships.tbl_flags|below]]&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the flags assigned to the ship&lt;br /&gt;
**Example: ( &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$AI Class:===&lt;br /&gt;
*Default AI class&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the AI class as defined in [[ai.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Afterburner:===&lt;br /&gt;
*Defines if the ships has afterburner&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Max Vel:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively, meters per second&lt;br /&gt;
*&#039;&#039;&#039;+Aburn For accel:&#039;&#039;&#039;&lt;br /&gt;
**Defined only for the forward acceleration. In same format as $Forward accel:&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Fuel:&#039;&#039;&#039;&lt;br /&gt;
**Amount of afterburner fuel the ship has&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, fuel&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Burn Rate:&#039;&#039;&#039;&lt;br /&gt;
**Rate the fuel is consumed when afterburner is engaged (in units per seconds)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, fuel units per second&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Rec Rate:&#039;&#039;&#039;&lt;br /&gt;
**Rate the fuel is restored.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, fuel units per second&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;$Trails:&#039;&#039;&#039;&lt;br /&gt;
**Allows afterburner trails to be used&lt;br /&gt;
**&#039;&#039;&#039;+Bitmap:&#039;&#039;&#039;&lt;br /&gt;
***Texture used to draw the afterburner trail&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;+Width:&#039;&#039;&#039;&lt;br /&gt;
***Width of afterburner trail at the beginning of it (ie. the thruster end)&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
**&#039;&#039;&#039;+Alpha:&#039;&#039;&#039;&lt;br /&gt;
***Transparancy of the trail, value from 1 (non-transparent) to 0 (totally transparent)&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;+Life:&#039;&#039;&#039;&lt;br /&gt;
***How long the trail will last&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Countermeasure Type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the weapon used as a countermeasure. Weapon does not have to be included in the countermeasure section of the weapons.tbl, but it has to have &amp;quot;countermeasure&amp;quot; flag in that case.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the weapon as defined in [[weapons.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Countermeasures:===&lt;br /&gt;
*Number of countermeasures that can be loaded to the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Scan time:===&lt;br /&gt;
*Time it takes to scan the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$EngineSnd:===&lt;br /&gt;
*Engine sound used for the ship with number referring to sounds.tbl&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Closeup_pos:===&lt;br /&gt;
*How the model will show at techroom. The position of the camera relative to the model in the tech room and the target box view&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x, y and z values respectively&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Closeup_zoom:===&lt;br /&gt;
*How the model will show at techroom. How far the camera&#039;s zoomed in, defines camera&#039;s FOV.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, radians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Topdown offset:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Specifies how high the camera is above the center point of a ship in topdown camera views, or 2D missions.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield_icon:===&lt;br /&gt;
*This .ani file must be at data/hud and included to the hud.tbl.&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Reference to the hud.tbl is no longer needed.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Ship_icon:===&lt;br /&gt;
*The icon used in ship selection. &lt;br /&gt;
{{Table36|&lt;br /&gt;
*Ship model is used by default to generate the image.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Ship_anim:===&lt;br /&gt;
*The glowing green grid animation used in ship selection.&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Ship model is used by default to generate the image.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Ship_overhead:===&lt;br /&gt;
*The overhead view used in the weapons loadout. &lt;br /&gt;
{{Table36|&lt;br /&gt;
*Ship model is used by default to generate the image.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Score:===&lt;br /&gt;
*Points awarded for destroying the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customized Thruster Effects===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;Defines the primary thruster glow - the one visible only from behind&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 1:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the standard drives. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Normal:&#039;&#039;&#039; under the &#039;&#039;&#039;$Thrustglows:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 1a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the afterburner. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Afterburner:&#039;&#039;&#039; under the &#039;&#039;&#039;$Thrustglows:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster01 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the radius multiplier&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the secondary glow type-effect for thrusters - the feathery trail like haze behind the main glow&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 2:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the standard drives. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Sec_Normal:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 2a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the afterburner. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Sec_Afterburn:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster02 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the radius multiplier&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster02 Length factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the length multiplier for the trail type (secondary) glowpoint thrusters&lt;br /&gt;
***Replaces the older &#039;&#039;&#039;$Thruster01 Length factor:&#039;&#039;&#039;&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the tertiary glow type-effect for thrusters - the one visible from all directions&#039;&#039;&#039;&lt;br /&gt;
**NOTE: The rotation of this effect is jittered, which can look quite bad with certain types of effects.&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 3:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the standard drives. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Ter_Normal:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 3a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the afterburner. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Ter_Afterburn:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster03 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the radius multiplier&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Thruster Particles:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the alternative particle thruster&lt;br /&gt;
*&#039;&#039;&#039;$Thruster Particle Bitmap:&#039;&#039;&#039; OR &#039;&#039;&#039;$Afterburner Particle Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**Name of the animation used for particle thrusters, up to &#039;&#039;&#039;three&#039;&#039;&#039; can be defined for both &#039;&#039;&#039;standard&#039;&#039;&#039; thrusters and &#039;&#039;&#039;afterburners&#039;&#039;&#039; (6 in total). Afterburner particles require at least 1 existing particle thruster entry.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;$Min Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum radius of new particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;$Max Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum radius of new particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;$Min created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum amount of particles created&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Max created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum amount of particles created&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Variance:&#039;&#039;&#039;&lt;br /&gt;
**Value that describes the randomness of particle generation, values close to 0 will cause particles to spew very close to the thrusters normal while values close 1 will cause some particles to be spewed even to opposite direction&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Stealth:===&lt;br /&gt;
*Defines: Ship behaves as a stealth-ship: non-targettable, and not on radar. &lt;br /&gt;
{{Table36|&lt;br /&gt;
This field is deprecated, and mods using 3.6.8 and above should use the &amp;quot;stealth&amp;quot; flag.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max decals:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines: Maximum number of weapon decals on a ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, maximum number of decals on ship&lt;br /&gt;
**Default: 50 for anything below cruiser size, 100 for anything below superdestroyer/installation size, 300 for anything above destroyer size, 10 for everything else.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Trail:===&lt;br /&gt;
*These are the origins of the white contrails that appear in the nebula missions. Ship may have multiple trails.&lt;br /&gt;
*&#039;&#039;&#039;+Offset:&#039;&#039;&#039;&lt;br /&gt;
**The position of the contrail&#039;s head&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x, y and z values respectively, relative to the center point of the model&lt;br /&gt;
*&#039;&#039;&#039;+Start Width:&#039;&#039;&#039;&lt;br /&gt;
**The width of the contrail&#039;s head&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+End Width:&#039;&#039;&#039;&lt;br /&gt;
**The width of the contrail&#039;s tail&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Start Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the contrail&#039;s head&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+End Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the contrail&#039;s tail&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+Max Life:&#039;&#039;&#039;&lt;br /&gt;
**How long the contrail remains&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Spew Time:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**The image to use for the contrail.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Thruster:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines maneuvering thrusters. Ship may have multiple $Thrusters defined.&lt;br /&gt;
*&#039;&#039;&#039;+Index:&#039;&#039;&#039;&lt;br /&gt;
**Defines the index number of the manoeuvring thruster defined in this entry&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Used for:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maneuver that triggers the maneuvering thruster&lt;br /&gt;
**List of maneuvers: Bank right, Bank left, Pitch up, Pitch down, Roll right, Roll left, Slide right, Slide left, Slide up, Slide down, Forward, Reverse&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
{{Table37|&lt;br /&gt;
*&#039;&#039;&#039;+Flags:&#039;&#039;&#039;&lt;br /&gt;
**Flags that modify thruster behavior. As of now, only &amp;quot;no scale&amp;quot; exists, which causes all thrusters to be displayed at the same size regardless of thrust amount.&lt;br /&gt;
**List of flags: no scale&lt;br /&gt;
**Syntax: (&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;), names of the flags}}&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines thruster location&lt;br /&gt;
**Syntax: ( &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; ), position from the ships center point, x, y, z axis respectively&lt;br /&gt;
*&#039;&#039;&#039;+Normal:&#039;&#039;&#039;&lt;br /&gt;
**Defines the direction where the thruster points to&lt;br /&gt;
**Syntax: ( &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; ), direction of the thrusters normal, x, y, z axis respectively&lt;br /&gt;
*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the graphic that will be used for trail, rendered like beams&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius of cylinder&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Length:&#039;&#039;&#039;&lt;br /&gt;
**Defines the length of thruster trail&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+StartSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is started &lt;br /&gt;
**Syntax:  &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+LoopSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is continuously used&lt;br /&gt;
**Syntax:  &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+StopSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is shutting down&lt;br /&gt;
**Syntax:  &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Subsystems|$Subsystem:]]===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ships.tbl flags==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no_collide&amp;quot;===&lt;br /&gt;
*Defines ship as non-collideable, ie. everything will go through it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;player_ship&amp;quot;===&lt;br /&gt;
*Makes it possible to player to fly the ship&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;default_player_ship&amp;quot;===&lt;br /&gt;
*Makes this ship as a default part of the loadout options in FRED&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Ship Type===&lt;br /&gt;
*Flags in this section are used to define the type of the ship&lt;br /&gt;
*Use only one &#039;&#039;&#039;ship type&#039;&#039;&#039; flag per table entry&lt;br /&gt;
{{Table36|&lt;br /&gt;
*New ship types can be defined in [[objecttypes.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;repair_rearm&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;support&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
====&amp;quot;support&amp;quot;====&lt;br /&gt;
*Defines the ship as repair and rearm vessel and sets AI behaviour accordingly&lt;br /&gt;
*Only one such vessel can be defined per species&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;cargo&amp;quot;====&lt;br /&gt;
*Defines ship as a cargo crate and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;fighter&amp;quot;====&lt;br /&gt;
*Defines ship as a fighter and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 only ships flagged as fighters or bombers can accept the full set of player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;bomber&amp;quot;====&lt;br /&gt;
*Defines ship as a bomber and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 only ships flagged as fighters or bombers can accept the full set of player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;transport&amp;quot;====&lt;br /&gt;
*Defines ship as a transport and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;freighter&amp;quot;====&lt;br /&gt;
*Defines ship as a freighter and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;capital&amp;quot;====&lt;br /&gt;
*Defines ship as a capital ship and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;supercap&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;super cap&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;super cap&amp;quot;====&lt;br /&gt;
*Defines ship as a super capital ship and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;drydock&amp;quot;====&lt;br /&gt;
*Defines ship as a drydock and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;cruiser&amp;quot;====&lt;br /&gt;
*Defines ship as a cruiser and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;navbuoy&amp;quot;====&lt;br /&gt;
*Defines ship as a navbuoy and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;sentrygun&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;sentry gun&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;sentry gun&amp;quot;====&lt;br /&gt;
*Defines ship as a sentrygun and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;escapepod&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;escape pod&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;escape pod&amp;quot;====&lt;br /&gt;
*Defines ship as a escapepod and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;corvette&amp;quot;====&lt;br /&gt;
*Defines ship as a corvette and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;gas miner&amp;quot;====&lt;br /&gt;
*Defines ship as a gas miner and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;awacs&amp;quot;====&lt;br /&gt;
*Defines ship as a AWACS and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;knossos&amp;quot;====&lt;br /&gt;
*Alternate name for the &amp;quot;Knossos device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;knossos device&amp;quot;====&lt;br /&gt;
*Defines ship as a Knossos and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;stealth&amp;quot;====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines ship as a stealth-ship: non-targettable, and not on radar.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;no type&amp;quot;====&lt;br /&gt;
*Does ???&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;ship copy&amp;quot;===&lt;br /&gt;
*Defines the ship as a copy of another model&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;in tech database&amp;quot;===&lt;br /&gt;
*Includes ships description to the tech database from the beginning of the campaign&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;in tech database multi&amp;quot;===&lt;br /&gt;
*Includes the ship to multiplayer tech database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;dont collide invisible&amp;quot;===&lt;br /&gt;
*Defines invisible textures as non-collideable (For example, a hangar entrace)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;big damage&amp;quot;===&lt;br /&gt;
*Limits the damage made to the ship by non-huge weapons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no_fred&amp;quot;===&lt;br /&gt;
*Ship will not appear in FRED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;ballistic primaries&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Enables the ship to use ballistic primaries&lt;br /&gt;
*No longer needed, game handles it automatically}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;flash&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Makes a flash when a ship dies}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;surface shields&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Shots that impact the hull are applied to shields, regardless of if the ship has a shield mesh.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;show ship&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Enable rendering the ship even when the ship is a player ship&lt;br /&gt;
*Will result in the player&#039;s ship model being rendered, when in cockpit mode}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;generate icon&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Creates a HUD icon from the model itself}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;gun convergence&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Enables ship to use the firing points&#039; normals in defining the direction where the weapon fire}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no primary linking&amp;quot;===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Prevents ships from linking primary weapons}}&lt;br /&gt;
&lt;br /&gt;
==Player Ship Precedence==&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot; &amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039;)&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Player Ship Precedence: (&lt;br /&gt;
     &amp;quot;GTF Ulysses&amp;quot;&lt;br /&gt;
     &amp;quot;GTF Hercules&amp;quot;&lt;br /&gt;
     &amp;quot;GTB Medusa&amp;quot;&lt;br /&gt;
     &amp;quot;GTB Ursa&amp;quot;   )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sample==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Default Player Ship&lt;br /&gt;
&lt;br /&gt;
$Name:                       GTF Ulysses&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Engine Wash Info&lt;br /&gt;
&lt;br /&gt;
$Name:                       Default&lt;br /&gt;
$Angle:                      10.0&lt;br /&gt;
$Radius Mult:                1.2&lt;br /&gt;
$Length:                     400&lt;br /&gt;
$Intensity:                  1.0&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Ship Classes&lt;br /&gt;
$Name:                       GTF Ulysses&lt;br /&gt;
$Short name:                 TFight&lt;br /&gt;
$Species:                    Terran&lt;br /&gt;
   +Type:                       XSTR(&amp;quot;Space Superiority&amp;quot;, -1)&lt;br /&gt;
   +Maneuverability:            XSTR(&amp;quot;Excellent&amp;quot;, -1)&lt;br /&gt;
   +Armor:                      XSTR(&amp;quot;Light&amp;quot;, -1&lt;br /&gt;
   +Manufacturer:               XSTR(&amp;quot;Triton / Mekhu&amp;quot;, -1)&lt;br /&gt;
   +Description:                XSTR( &amp;quot; &amp;quot;, -1)&lt;br /&gt;
   $end_multi_text&lt;br /&gt;
   +Tech Description:           XSTR(&amp;quot;Descriptive text&amp;quot;, -1)&lt;br /&gt;
   $end_multi_text&lt;br /&gt;
   +Length:                     16 m&lt;br /&gt;
   +Gun Mounts:                 4&lt;br /&gt;
   +Missile Banks:              1&lt;br /&gt;
$POF file:                   fighter01.pof&lt;br /&gt;
$Detail distance:            (0, 80, 300, 900)&lt;br /&gt;
$ND:                         42 42 244&lt;br /&gt;
$Show damage:                YES&lt;br /&gt;
$Density:                    1&lt;br /&gt;
$Damp:                       0.1&lt;br /&gt;
$Rotdamp:                    0.35&lt;br /&gt;
$Max Velocity:               0.0, 0.0, 70.0&lt;br /&gt;
$Rotation time:              3.0, 2.6, 5.0&lt;br /&gt;
$Rear Velocity:              0.0&lt;br /&gt;
$Forward accel:              2.0&lt;br /&gt;
$Forward decel:              1.5&lt;br /&gt;
$Slide accel:                0.0&lt;br /&gt;
$Slide decel:                0.0&lt;br /&gt;
$Expl inner rad:             25.0&lt;br /&gt;
$Expl outer rad:             55.0&lt;br /&gt;
$Expl damage:                15.0&lt;br /&gt;
$Expl blast:                 1000.0&lt;br /&gt;
$Expl Propagates:            NO&lt;br /&gt;
$Shockwave Speed:            0.0&lt;br /&gt;
$Allowed PBanks:             ( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot;)&lt;br /&gt;
$Allowed Dogfight PBanks:    ( &amp;quot;Subach HL-D&amp;quot; &amp;quot;Prometheus D&amp;quot; )&lt;br /&gt;
$Default PBanks:             ( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot; )&lt;br /&gt;
$Allowed SBanks:             ( &amp;quot;Rockeye&amp;quot; &amp;quot;Tempest&amp;quot; )&lt;br /&gt;
$Allowed Dogfight SBanks:    ( &amp;quot;Tempest D&amp;quot;  &amp;quot;Hornet D&amp;quot; )&lt;br /&gt;
$Default SBanks:             ( &amp;quot;Harpoon&amp;quot; )&lt;br /&gt;
$SBank Capacity:             ( 40 )&lt;br /&gt;
$Shields:                    380&lt;br /&gt;
$Shield Color:               100 100 255&lt;br /&gt;
$Power Output:               2.0&lt;br /&gt;
$Max Oclk Speed:             94.0&lt;br /&gt;
$Max Weapon Eng:             80.0&lt;br /&gt;
$Hitpoints:                  180&lt;br /&gt;
$Flags:                      (  &amp;quot;player_ship&amp;quot;&lt;br /&gt;
                                &amp;quot;default_player_ship&amp;quot;&lt;br /&gt;
                                &amp;quot;fighter&amp;quot;&lt;br /&gt;
                                &amp;quot;in tech database&amp;quot;)&lt;br /&gt;
$AI Class:                   Captain&lt;br /&gt;
$Afterburner:                YES&lt;br /&gt;
   +Aburn Max Vel:              0.0, 0.0, 150.0&lt;br /&gt;
   +Aburn For accel:            0.7&lt;br /&gt;
   +Aburn Fuel:                 300.0&lt;br /&gt;
   +Aburn Burn Rate:            50.0&lt;br /&gt;
   +Aburn Rec Rate:             25.0&lt;br /&gt;
$Countermeasures:            25&lt;br /&gt;
$Scan time:                  2000&lt;br /&gt;
$EngineSnd:                  128&lt;br /&gt;
$Closeup_pos:                0.0, 0.0, -22&lt;br /&gt;
$Closeup_zoom:               0.5&lt;br /&gt;
$Shield_icon:                shield-f01&lt;br /&gt;
$Ship_icon:                  iconfighter01&lt;br /&gt;
$Ship_anim:                  ssfighter01&lt;br /&gt;
$Ship_overhead:              loadfighter01&lt;br /&gt;
$Score:                      8&lt;br /&gt;
$Trail:&lt;br /&gt;
   +Offset:                     -7.75 -2.8 0.75&lt;br /&gt;
   +Start Width:                0.25&lt;br /&gt;
   +End Width:                  0.05&lt;br /&gt;
   +Start Alpha:                1.0&lt;br /&gt;
   +End Alpha:                  0.0&lt;br /&gt;
   +Max Life:                   1.0&lt;br /&gt;
   +Spew Time:                  60&lt;br /&gt;
   +Bitmap:                     Contrail01&lt;br /&gt;
$Trail:&lt;br /&gt;
   +Offset:                     7.75 -2.8 0.75&lt;br /&gt;
   +Start Width:                0.25&lt;br /&gt;
   +End Width:                  0.05&lt;br /&gt;
   +Start Alpha:                1.0&lt;br /&gt;
   +End Alpha:                  0.0&lt;br /&gt;
   +Max Life:                   1.0&lt;br /&gt;
   +Spew Time:                  60&lt;br /&gt;
   +Bitmap:                     Contrail01&lt;br /&gt;
$Subsystem:    communication,   10, 0&lt;br /&gt;
$Subsystem:    navigation,      10, 0&lt;br /&gt;
$Subsystem:    weapons,         20, 0&lt;br /&gt;
$Subsystem:    sensors,         10, 0&lt;br /&gt;
$Subsystem:    engines,         35, 0&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
$Player Ship Precedence: (&lt;br /&gt;
      &amp;quot;GTF Ulysses&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=POF_Constructor_Suite&amp;diff=15842</id>
		<title>POF Constructor Suite</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=POF_Constructor_Suite&amp;diff=15842"/>
		<updated>2008-04-03T23:54:00Z</updated>

		<summary type="html">&lt;p&gt;VA: Note about duplicate faces&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;POF Constructor Suite&#039;&#039;&#039;, or &#039;&#039;&#039;PCS&#039;&#039;&#039;, is a program created by Kazan, and is one of the two main pieces of software used in the creation and editing of POF files (the other being [[ModelView]]). This program is capable of converting truespace .COB files into POF files. POF fils are the model file format that Freespace can read and use in-game. Additionally, the POF format contains data solely for Freespace 2. This data includes the center of the object, dockpoints, eyepoints, engine glows, primary and secondary gunpoints, mass, fighter insignias, paths, shields, subsystems, textures, turrets, subobjects and FS_Open glowpoints.&lt;br /&gt;
&lt;br /&gt;
[[POF Constructor Suite 2]] is an up coming major update to this application, coded by Kazan and Bobboau.&lt;br /&gt;
&lt;br /&gt;
==Download Links==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;====&amp;gt; The latest build of PCS can be downloaded [http://www.ferrium.org/misc/PCS_1.3.6_b73_20060408.zip here]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;====&amp;gt; Bobboau&#039;s Auto-Facet build (explained below) of PCS can be downloaded [http://www.hard-light.net/forums/index.php/topic,18798.0.html here]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===The Auto-Facet build &amp;amp; smoothing explained===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: The Auto-Facet build should ONLY be used for converting. For all actual POF editing, use the latest standard version.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bobboau&#039;s Auto-Facet build is a slightly older PCS build (1.3.41) that has a single difference from the standard PCS version. Where the standard PCS will either completely smooth geometry or leave it completely faceted depending on the material settings in Truespace, the Auto-Facet build will, as it&#039;s name suggests, apply an auto-facet instead.&lt;br /&gt;
&lt;br /&gt;
The image below illustrates the differences between the three types of smoothing: (left to right) Faceting, Auto-Facet and Smooth shading.&lt;br /&gt;
&lt;br /&gt;
[[Image:SmoothTypes.jpg]]&lt;br /&gt;
&lt;br /&gt;
The settings needed to achieve each type of smoothing in each build are as follows:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Faceting====&lt;br /&gt;
&#039;&#039;Standard Build:&#039;&#039;&lt;br /&gt;
In Truespace, set the smoothing to either Faceted or Smooth. (Both settings achieve a faceted type of shading) Setting it to Auto-facet with an angle value of 0 will also achieve faceted smoothing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Auto-Facet Build:&#039;&#039;&lt;br /&gt;
Set the smoothing to Faceted. Again, setting it to Auto-facet with an angle value of 0 will also achieve faceted smoothing.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Auto-Faceting====&lt;br /&gt;
&#039;&#039;Standard Build:&#039;&#039;&lt;br /&gt;
(Unable to achieve as far as I have been able to tell)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Auto-Facet Build:&#039;&#039;&lt;br /&gt;
Set the smoothing to auto-faceted and enter in an appropriate angle value.(You may need to experiment to find the ideal angle. They range between 0 and 120)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Smoothing====&lt;br /&gt;
&#039;&#039;Standard Build:&#039;&#039;&lt;br /&gt;
In Truespace, set the smoothing to auto-faceted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Auto-Facet Build:&#039;&#039;&lt;br /&gt;
(Unable to achieve as far as I have been able to tell. Setting the auto facet value to 120 gives poor and buggy smoothing)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Using PCS==&lt;br /&gt;
&lt;br /&gt;
===Getting Started===&lt;br /&gt;
&lt;br /&gt;
When you start PCS, you will notice another window has opened. This is a render window of whatever model is open - you can see where things are, what your ship looks like etc.&lt;br /&gt;
&lt;br /&gt;
If you do want to be able to see your model in PCS, keep in mind that the render window will be taxing on your system. It will usually consume 100% of your CPU&#039;s runtime, often choking other applications including PCS itself in some cases. (This will be fixed with Kazan&#039;s upcoming release of PCS2, which has a model viewing window integrated into it in the same way ModelView32 does.)&lt;br /&gt;
&lt;br /&gt;
Additionally, getting PCS to display textures is unpredictable at best. They will usually display as a solid white object. For just viewing and some pof editing, [[ModelView]]32 is generally a better choice. At least until PCS2 is out anyway.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Conversion Settings===&lt;br /&gt;
&lt;br /&gt;
Setting up the Options screen is quite important, because it tells PCS the default directories for things like models, maps, and cobs/scns. To get to it, go to Conversion &amp;gt; Options. A small options window will appear.&lt;br /&gt;
&lt;br /&gt;
*In the &#039;Default Model Directory&#039; section, select the COB/SCN type from the drop down list and set it to the path to which you have installed Truespace, or wherever you save all your cob or scene files from.&lt;br /&gt;
*Select POF from the drop down list and set it to wherever you want PCS to find your FS2 model files (this will be the default folder PCS will save files to and open files from. (Typically &amp;quot;C:\Games\Freespace2\data\models&amp;quot;)&lt;br /&gt;
*The scaling factor refers to how many FS meters to turn EACH trueSpace meter into during cob-&amp;gt;pof conversions. This should usually be set to 20, but it can be anything you want really. (This is the setting you can fiddle with to fix the &amp;quot;&#039;&#039;&#039;Too many polygons in same average location!&#039;&#039;&#039;&amp;quot; error. For more information on this, read the tips section at the bottom of this page.)&lt;br /&gt;
*The Texture Path field seems to be only partially functional. Setting it to your root FS2 directory (typically &amp;quot;C:\Games\Freespace2&amp;quot;) allows you to view some textures, but I haven&#039;t found all that much of a pattern to it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===COB to POF Conversions===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This is a general guide to converting only. For a more complete guide to getting a ship in-game, have a look at [http://homepage.ntlworld.com/karajorma/FAQ/shipmods.html Karajorma&#039;s Turreting Tutorial]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Let&#039;s suppose you already have your COB or SCN file modelled and waiting in Truespace. You want to see how it works in-game.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You should now be ready to do your first model conversion. Go to Conversion &amp;gt; COB to POF. Select your model (if it&#039;s a SCN file, tell PCS to look for SCN files instead of COB). Hit OK.&lt;br /&gt;
&lt;br /&gt;
If all goes well, depending on the complexity of your model and the power of your CPU, the conversion process may take anywhere from an instant to 10 minutes. Assuming it fits the geometry and hierarchy requirements of the Freespace 2 engine (and PCS), a message box shows up with general model and conversion information. This means the model has been successfully converted, and is now waiting to be saved. Do that first. (If you converted using the Auto-Facet build, save and switch over to using the standard version now)&lt;br /&gt;
&lt;br /&gt;
For information on the geometry requirements as well as how to fix the common problems, go to [http://underworld.fortunecity.com/pacman/106/fs2mods/shipcreationguide/creatingstablegeometry.html IPAndrews tutorial] for TS or to its [http://underworld.fortunecity.com/pacman/106/fs2mods/shipcreationguide/ main page]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===POF to COB conversions===&lt;br /&gt;
&lt;br /&gt;
The opposite of COB to POF conversions, this feature allows you to convert a Freespace POF file into a COB file - for use in things like renders, or just general model editing. From the COB format, you can convert it to just about any other 3d model format for use in just about any 3d program.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To do this, just open up the POF file you want to convert, go to Conversions &amp;gt; POF to COB, and decide on a place (and filename) to save your new COB to.&lt;br /&gt;
&lt;br /&gt;
Remember that when you convert from POF to COB, all the centres of everything in the model are ignored, an annoying bug in PCS that should get fixed with Kazans PCS 2.&lt;br /&gt;
&lt;br /&gt;
This means that though your objects will still be in the right places, their centers and the lights glued to them will be at 0,0,0, meaning that in all likelihood, nothing will rotate correctly. If you plan to reconvert back to POF after some editing, you&#039;ll need to manually fix the centres of all affected objects.&lt;br /&gt;
&lt;br /&gt;
==POF Editing==&lt;br /&gt;
Before you can create a fully working Freespace model, you must add POF data to your new POF file. This is the data that controls things like the center of the model, dockpoints, eyepoints, engine glows, primary and secondary gunpoints, mass, fighter insignias, paths, shields, subsystems, textures, turrets, subobjects and FS_Open glowpoints. (You&#039;ll recognise most of these as the various tabs in PCS&#039; main window)&lt;br /&gt;
&lt;br /&gt;
A brilliant guide on each of these &#039;chunks&#039; can be found here; in [http://freespace.volitionwatch.com/blackwater/fstut/fstut_index01.htm Bobboau&#039;s PCS tutorial].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Tips / Common Problems==&lt;br /&gt;
&lt;br /&gt;
#If PCS gives a &amp;quot;&#039;&#039;&#039;You forgot to group those objects!&#039;&#039;&#039;&amp;quot; error message during COB &amp;gt; POF conversions, it just means that you need to glue a local light to the main hull object in Truespace. (This usually only occurs when PCS encounters a piece of geometry not glued to anything, such as a test hull for conversion or a forgotten bit just lying about your workspace)&lt;br /&gt;
#If PCS gives a &amp;quot;&#039;&#039;&#039;Too many polygons in same average location!&#039;&#039;&#039;&amp;quot; error, it can mean one (or more) of three things:&lt;br /&gt;
##There is a duplicate of one of the objects in the SCN in the EXACT same position as another of the EXACT same shape and size.&amp;lt;br&amp;gt;To fix it, just find the duplicate object and delete or move it.&lt;br /&gt;
##There is a duplicate face somewhere within the one subobject. This is usually a case of bad or unstable geometry somewhere in the model and should be fixed by hand. Look for things like polygons that shimmer as you rotate your view around them, as this is a sign that two polygons are fighting to be on top of each other in the Zbuffer. This commonly happens in very small hard to edit parts of geometry depending on your modelling techniques.&lt;br /&gt;
##Your object is too small in TS for PCS to be able to clearly tell the difference between two polygon locations during conversion. (This is a common problem for fighters and bombers because of how small they will appear in TS in order to fit the standard conversion ratio of 20 FS meters to each TS meter.)&amp;lt;br&amp;gt; To fix this, scale the whole ship up in TrueSpace to the size you want it to appear as in Freespace - meter for meter. Then, before converting, set PCS&#039;s scaling to 1 rather than 20 and convert.&amp;lt;br&amp;gt; This should fix it by effectively giving PCS more accuracy when it gets to really small numbers. The up-scaling of your model is counteracted by telling PCS that one TrueSpace meter should equal one Freespace meter, so you don&#039;t end up with cruiser sized fighters and the like.&lt;br /&gt;
#Only the latest versions of PCS (those above 1.1) have correct collision detection calculations during conversion. Older versions will often have problems such as weapons fire going through them, suns showing through them or even other ships going through them.&lt;br /&gt;
#If PCS crashes during the conversion, or spits out any other sort of error, there is a problem with the model&#039;s geometry and/or hierarchy. If you don&#039;t understand the error and a search on HLP doesn&#039;t return anything helpful, post your question in the [http://www.hard-light.net/forums/index.php/board,8.0.html Freespace Modding] section of HLP.&lt;br /&gt;
#In the Misc menu, there is a &amp;quot;Global data import&amp;quot; function. This is a very handy tool that will import all pof data from one model file into the one that is open. Very useful if you completely POF a particular ship and then notice that you forgot something before conversion. You can simply re-convert and then import all the data you painstakingly entered.&lt;br /&gt;
#PCS is unable to view or edit the &#039;&#039;&#039;moment of inertia&#039;&#039;&#039; (MOI) data. This is the data (a tensor) that controls how the model physically rotates and reacts to kinetic impacts. PCS sets it all to 0 upon conversion, which will prevent your model from spinning around when hit at all. Currently, the only way to edit this data is in [[ModelView][32. The best way to set it is to find a similar sized standard craft and use it&#039;s values here.&lt;br /&gt;
#If you have any other questions/problems, ask in the [http://www.hard-light.net/forums/index.php/board,8.0.html Freespace Modding]forum, but don&#039;t forget to search first, since chances are the problem has been encountered before.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=15644</id>
		<title>Ships.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=15644"/>
		<updated>2008-03-20T09:32:13Z</updated>

		<summary type="html">&lt;p&gt;VA: Customized Thruster Effects - Clarifications on Glow Types&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Revision information.. &amp;lt;!-- Please update this information when page is updated --&amp;gt;&lt;br /&gt;
::&#039;&#039;&#039;3.6.x branch:&#039;&#039;&#039; 2.336.2.79&lt;br /&gt;
::&#039;&#039;&#039;3.7 branch:&#039;&#039;&#039; 2.436&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- I&#039;ll leave these here - commented away - until we can be sure they are not needed&lt;br /&gt;
Links to archived versions:&lt;br /&gt;
*[[Ships.tbl/CVS_version|CVS version of ships.tbl]]&lt;br /&gt;
*[[Ships.tbl/Retail_version|Retail version of ships.tbl]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==General Format==&lt;br /&gt;
*Ship.tbl is formed of several different sections.&lt;br /&gt;
*All sections beginning with &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; need &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;End before the next section.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Default Player Ship&#039;&#039;&#039;&lt;br /&gt;
***Defines the default player ship in the game and also in the FRED. If in a mission appears a ship that has not been properly included to tables then game replaces the ship with the Default Player Ship.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Engine Wash Info&#039;&#039;&#039;&lt;br /&gt;
***Includes all the definitions of all engine washes used in the game.&lt;br /&gt;
{{Table37|&lt;br /&gt;
:*&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Ship Templates&#039;&#039;&#039;&lt;br /&gt;
:**Includes entries for ship templates}}&lt;br /&gt;
&lt;br /&gt;
:*&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Ship Classes&#039;&#039;&#039;&lt;br /&gt;
:**Includes entries for every ship and also defines their attributes that are used in the game&lt;br /&gt;
:**Is discussed in detail at [[Ships.tbl#Table_Options|Table Options]] section.&lt;br /&gt;
:*&#039;&#039;&#039;$Player Ship Precedence&#039;&#039;&#039;&lt;br /&gt;
:**Player Ship Precedence is used in ship selection when a ship specified by the mission designer is not available to the player.  The next ship on the list is used in its place (assuming that ship is allowed for the player)&lt;br /&gt;
&lt;br /&gt;
==Default Player Ship==&lt;br /&gt;
*Defines the default ship in the game.&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, name of ship model as defined in [[Ships.tbl#Table_Options|Table Options]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Engine Wash==&lt;br /&gt;
*Defines the engines washes&lt;br /&gt;
*First entry must be named &#039;default&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Defines the name of the engine wash. &lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+nocreate===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*In [[Modular Tables]] name can be followed by line &#039;&#039;&#039;+nocreate&#039;&#039;&#039; that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in ship.tbl or in earlier parsed *-shp.tbm files) by the time the *-shp.tbm is read.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Angle:===&lt;br /&gt;
*Defines the angle from the engine where the engine wash exists&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, degrees&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Radius Mult:===&lt;br /&gt;
*Defines engine wash multiplier&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Length:===&lt;br /&gt;
*Defines the length of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Intensity:===&lt;br /&gt;
*Defines the strength of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
   $Name:           Default&lt;br /&gt;
   $Angle:          10.0&lt;br /&gt;
   $Radius Mult:    1.2&lt;br /&gt;
   $Length:         400&lt;br /&gt;
   $Intensity:      1.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ship Template Options==&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Example of template usage [[Ship_Templates]] in which both [[GTB Artemis]] variants have been defined using a single template}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Template:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Defines the name of template&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Use Template:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Another template can be used as template for the current template&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ships Table Options==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Model name that is used also in game. It is also used as name for the whole ship entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&#039;, name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+nocreate===&lt;br /&gt;
{{Table36| &lt;br /&gt;
*In [[Modular Tables]] name can be followed by line &#039;&#039;&#039;+nocreate&#039;&#039;&#039; that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in ship.tbl or in earlier parsed *-shp.tbm files) by the time the *-shp.tbm is read.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Use Template:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Sets the table entry to use template based on an existing table entry instead of creating totally new one&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the template}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Short name:===&lt;br /&gt;
*Shortened model name, for FRED, Usually more descriptive than the real name.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Species:===&lt;br /&gt;
*Defines species (Terran, Vasudan or Shivan). Determines many things, including the color of the engine glow, the flyby sound effects, the briefing icon and the support ship. &lt;br /&gt;
{{Table36|&lt;br /&gt;
*More species have been enabled, and all of these have to be defined in [[species_defs.tbl]].}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the species&lt;br /&gt;
**Example: &#039;&#039;Terran&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Technical description===&lt;br /&gt;
List of descriptive terms for techroom and ship selection screens. Number after the quotes refers to [[tstrings.tbl]]&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+Type:                     XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
+Maneuverability:          XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
+Armor:                    XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
+Manufacturer:             XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
+Description:              XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
+Tech Description:         XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
+Length:                   20 m&lt;br /&gt;
+Gun Mounts:               4&lt;br /&gt;
+Missile Banks:            1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF file:===&lt;br /&gt;
*Filename of the model file (.pof) at data/models folder&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Texture Replace:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+old:&#039;&#039;&#039;&lt;br /&gt;
*Defines the texture to be replaced&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+new:&#039;&#039;&#039;&lt;br /&gt;
*Defines the new texture&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF target file:===&lt;br /&gt;
*Optional hud targeting model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF target LOD:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the LOD (Level-Of-Detail) of target model used in the HUD targetbox&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Detail distance:===&lt;br /&gt;
*Defines the distance where the change between different Levels-Of-Details (LODs) occurs&lt;br /&gt;
*Take notice that these are base values. Model detail in Detail options, (within game press F2), applies a multiplier to these values. &#039;&#039;(We need a coder to post here the multiplier values that each level sets)&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;(Detail Distances)&#039;&#039;&#039;&#039;&#039; , list of &#039;&#039;&#039;integers&#039;&#039;&#039; (same amount as LODs), distances from the model in meters&lt;br /&gt;
**Example: &#039;&#039;(0, 80, 300, 900)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$ND:===&lt;br /&gt;
*No Dim field field was used in FreeSpace for ship lights. Use of glowmaps is preferred to the $ND entry. Only noticeable in Glide or Software mode.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
**Example: &#039;&#039;42, 42, 224&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Show damage:===&lt;br /&gt;
*No known function. Best left alone to avoid possible compatibility issues.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no, usually yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+Damage Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the damage type of the collision&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*&#039;&#039;&#039;+Damage Type:&#039;&#039;&#039; does not exist in 3.7 branch}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact Spew:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Used to define the impact particle spew&lt;br /&gt;
*&#039;&#039;&#039;+Max particles:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum number of particles spewed&lt;br /&gt;
**Setting to zero causes model to generate no particles at all&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*In 3.7 impact spew earlier entry has been replaced with full particle emitter&lt;br /&gt;
*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the texture used for the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Relative Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative position of the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative velocity of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Normal:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative normal of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Normal Variance:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Spew:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Used to define the damage particle spew&lt;br /&gt;
*&#039;&#039;&#039;+Max particles:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum number of particles spewed&lt;br /&gt;
**Setting to zero causes model to generate no particles at all&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*In 3.7 damage spew earlier entry has been replaced with full particle emitter&lt;br /&gt;
*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the texture used for the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Relative Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative position of the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative velocity of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Normal:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative normal of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Normal Variance:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Debris:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+Damage Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the damage type of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*&#039;&#039;&#039;+Damage Type:&#039;&#039;&#039; does not exist in 3.7 branch&lt;br /&gt;
*&#039;&#039;&#039;+Min Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum lifetime of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Max Lifetime:&lt;br /&gt;
**Defines the maximum lifetime of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Min Speed:&lt;br /&gt;
**Defines the minimum speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Max Speed:&lt;br /&gt;
**Defines the maximum speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Min Rotation speed:&lt;br /&gt;
**Defines the minimum rotational speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Max Rotation speed:&lt;br /&gt;
**Defines the maximum rotational speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Density:===&lt;br /&gt;
*This defines how hard you hit something. If you set it very high, a collision will severely damage your ship, and push the lower density object away; the higher the numbers are, the harder they will hit and the farther they will be pushed. Setting a density of 10 on a fighter with 180 hitpoints will cause the fighter to immediately explode if it collides with, say, an asteroid.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, usually 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damp:===&lt;br /&gt;
*Damp affects how quickly you will accel/decel to your target velocity. Higher damp means slow acceleration and deceleration. The lower this number, the faster the ship responds. For example, specifying a value of 0.0 means there is no damping, in other words, people would say, &amp;quot;this has no physics, like Wing Commander.&amp;quot; The more damping, the harder to control, but the more smoothly it moves.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rotdamp:===&lt;br /&gt;
*Same thing, but for rotational movement.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Velocity:===&lt;br /&gt;
*Defines maximum velocities with standard energy settings on x (left/right), y (up/down), and z (forward) -axis (respectively). z -axis velocity defines the maximum forward velocity.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively, meters per second&lt;br /&gt;
**Example: &#039;&#039;0.0, 0.0, 80.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rotation time:===&lt;br /&gt;
*Defines rotation times around the x, y, and z -axis. Number is seconds it takes to complete rotate a ship (360 degrees) around the given axis&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, seconds per 360 degree turn around x-axis, y-axis, z-axis, respectively&lt;br /&gt;
**Example: &#039;&#039;3.0, 2.6, 5.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rear Velocity:===&lt;br /&gt;
*Defines rear velocity&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Forward accel:===&lt;br /&gt;
*Number of seconds needed from full stop to maximum velocity&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Forward decel:===&lt;br /&gt;
*Number of seconds needed from maximum velocity to full stop&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Slide accel:=== &lt;br /&gt;
*Same for sliding as the $Forward accel: is for for normal movement.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Slide decel:===&lt;br /&gt;
*Same for sliding as the $Forward decel: is for for normal movement.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Glide:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Allows gliding in game, i.e. turning the ship&#039;s facing without changing its direction.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no}}&lt;br /&gt;
{{Table37|&lt;br /&gt;
*&#039;&#039;&#039;+Max Glide Speed:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum glide speed if the glide has been enabled&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Allow an animation to be defined as a warpin effect.&lt;br /&gt;
*Can be defined as &#039;&#039;BTRL&#039;&#039; or &#039;&#039;default&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Sets the speed at which the ship warps in for &#039;&#039;&#039;default&#039;&#039;&#039; warpin effect&lt;br /&gt;
*Sets the time that the ships warp in (not the animation itself) takes for &#039;&#039;&#039;BTRL&#039;&#039;&#039; type warpin effects&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second or miiliseconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin time:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect duration&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin radius:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin animation:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the animation used as the warpin effect.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Allow an animation to be defined as a warpout effect.&lt;br /&gt;
*Can be defined as &#039;&#039;BTRL&#039;&#039; or &#039;&#039;default&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Sets the speed at which the ship warps out for &#039;&#039;&#039;default&#039;&#039;&#039; warpout effect&lt;br /&gt;
*Sets the time that the ships warp out (not the animation itself) takes for &#039;&#039;&#039;BTRL&#039;&#039;&#039; type warpout effects&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second or milliseconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout time:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect duration&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout radius:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout animation:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the animation used as the warpout effect.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Player warpout speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Sets the speed at which the player warps out from the game&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl inner rad:===&lt;br /&gt;
*Radius at which the full explosion damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl outer rad:===&lt;br /&gt;
*Maximum radius at which any damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl damage:===&lt;br /&gt;
*Amount of damage done inside the inner radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl blast:===&lt;br /&gt;
*The intensity of the blast effect when you&#039;re within the outer radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl Propagates:===&lt;br /&gt;
*This decides whether the ship explodes into debris immediately, or whether it has the many small explosions before breaking apart slowly&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Damage Type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;. Defines the damage type used for the ship explosions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Speed:===&lt;br /&gt;
*Speed shockwave expands at, 0 means no shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave count:===&lt;br /&gt;
*Defines the number of shockwaves to spawned&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave model:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the textured model used as the ship&#039;s 3D shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave name:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the name of the animation to used for the 2D shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Weapon Model Draw Distance:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Distance that external weapons are shown, ie. missiles and such.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
**Default: &#039;&#039;200&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Primary Weapons===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed PBanks:====&lt;br /&gt;
*List of allowed primary weapons in brackets (weapon name marked with quotes). &lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Each of the primary weapon banks &#039;&#039;&#039;can optionally&#039;&#039;&#039; be given their own list of allowed weapons, in which case each bank has its own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight PBanks:====&lt;br /&gt;
*Primary weapons for multiplayer dogfights.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Each of the primary weapon dogfight banks &#039;&#039;&#039;can optionally&#039;&#039;&#039; be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Default PBanks:====&lt;br /&gt;
*Defines default primary weapons for each of the primary weapon banks&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$PBank Capacity:====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines ammunition capacity of primary weapon banks. In brackets, different weapon banks separated by commas.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Integer, Integer )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Show Primary Models:====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the use of weapon models for primary weapons. In brackets, different weapon banks may have different definitions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Boolean Boolean )&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
**Example: &#039;&#039;( YES YES )&#039;&#039; - Note the spaces on the insides of the brackets.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Secondary Weapons===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed SBanks:====&lt;br /&gt;
*Same for secondary weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36| &lt;br /&gt;
*Each of the secondary weapon banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight SBanks:====&lt;br /&gt;
*Same for secondary weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36| &lt;br /&gt;
*Each of the secondary weapon dogfight banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Default SBanks:====&lt;br /&gt;
*Defines default primary weapons for each of the primary weapon banks&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$SBank Capacity:====&lt;br /&gt;
*Defines ammunition capacity of secondary weapon banks. In brackets, different weapon banks separated by commas.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Integer, Integer )&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Show Secondary Models:====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the use of weapon models for secondary weapons. In brackets, different weapon banks may have different definitions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Boolean Boolean )&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;(YES YES)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shields:===&lt;br /&gt;
*Determines the shield strength&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, total shield strength&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield Color:===&lt;br /&gt;
*RGB value for shield color&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
**Example: &#039;&#039;100, 100, 255&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Power Output:===&lt;br /&gt;
*The amount of energy available. The higher the output, the faster your weapons recharge.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield Regeneration Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Repair rates for shields at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, multiplier of total shield hitpoints recharged each second. (&#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.02 equals 2% recharged per second)&lt;br /&gt;
**Default: &#039;&#039;0.02&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Weapon Regeneration Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Regeneration rates for primary guns at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, multiplier of total gun energy recharged each second (&#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.04 equals 4% recharged per second)&lt;br /&gt;
**Default: &#039;&#039;0.04&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Oclk Speed:===&lt;br /&gt;
*Can also be &#039;&#039;&#039;$Max Overclock Speed:&#039;&#039;&#039;&lt;br /&gt;
*Maximum velocity with all energy diverted to engines&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Weapon Eng:===&lt;br /&gt;
*Can also be &#039;&#039;&#039;$Max Weapon Energy:&#039;&#039;&#039;&lt;br /&gt;
*The maximum amount of energy you can store in your primary weapons bank.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Hitpoints:===&lt;br /&gt;
*How much damage the ship can take&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, hitpoints&lt;br /&gt;
**Default: &#039;&#039;100&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Hull Repair Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Repair rates for hull at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, multiplier of hitpoints repaired per second, &#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.01 equals 1% recharged per second}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Subsystem Repair Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Repair rates for sybsystems percent per second&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, multiplier of total subsystem hitpoints repaired per second, &#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.01 equals 1% recharged per second}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Armor Type===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;. Defines armor type used for the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
*See [[Ships.tbl#Ships.tbl_flags|below]]&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the flags assigned to the ship&lt;br /&gt;
**Example: ( &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$AI Class:===&lt;br /&gt;
*Default AI class&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the AI class as defined in [[ai.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Afterburner:===&lt;br /&gt;
*Defines if the ships has afterburner&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Max Vel:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively, meters per second&lt;br /&gt;
*&#039;&#039;&#039;+Aburn For accel:&#039;&#039;&#039;&lt;br /&gt;
**Defined only for the forward acceleration. In same format as $Forward accel:&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Fuel:&#039;&#039;&#039;&lt;br /&gt;
**Amount of afterburner fuel the ship has&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, fuel&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Burn Rate:&#039;&#039;&#039;&lt;br /&gt;
**Rate the fuel is consumed when afterburner is engaged (in units per seconds)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, fuel units per second&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Rec Rate:&#039;&#039;&#039;&lt;br /&gt;
**Rate the fuel is restored.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, fuel units per second&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;$Trails:&#039;&#039;&#039;&lt;br /&gt;
**Allows afterburner trails to be used&lt;br /&gt;
**&#039;&#039;&#039;+Bitmap:&#039;&#039;&#039;&lt;br /&gt;
***Texture used to draw the afterburner trail&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;+Width:&#039;&#039;&#039;&lt;br /&gt;
***Width of afterburner trail at the beginning of it (ie. the thruster end)&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
**&#039;&#039;&#039;+Alpha:&#039;&#039;&#039;&lt;br /&gt;
***Transparancy of the trail, value from 1 (non-transparent) to 0 (totally transparent)&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;+Life:&#039;&#039;&#039;&lt;br /&gt;
***How long the trail will last&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Countermeasure Type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the weapon used as a countermeasure. Weapon does not have to be included in the countermeasure section of the weapons.tbl, but it has to have &amp;quot;countermeasure&amp;quot; flag in that case.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the weapon as defined in [[weapons.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Countermeasures:===&lt;br /&gt;
*Number of countermeasures that can be loaded to the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Scan time:===&lt;br /&gt;
*Time it takes to scan the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$EngineSnd:===&lt;br /&gt;
*Engine sound used for the ship with number referring to sounds.tbl&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Closeup_pos:===&lt;br /&gt;
*How the model will show at techroom. The position of the camera relative to the model in the tech room and the target box view&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x, y and z values respectively&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Closeup_zoom:===&lt;br /&gt;
*How the model will show at techroom. How far the camera&#039;s zoomed in, defines camera&#039;s FOV.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, radians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Topdown offset:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Specifies how high the camera is above the center point of a ship in topdown camera views, or 2D missions.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield_icon:===&lt;br /&gt;
*This .ani file must be at data/hud and included to the hud.tbl.&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Reference to the hud.tbl is no longer needed.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Ship_icon:===&lt;br /&gt;
*The icon used in ship selection. &lt;br /&gt;
{{Table36|&lt;br /&gt;
*Ship model is used by default to generate the image.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Ship_anim:===&lt;br /&gt;
*The glowing green grid animation used in ship selection.&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Ship model is used by default to generate the image.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Ship_overhead:===&lt;br /&gt;
*The overhead view used in the weapons loadout. &lt;br /&gt;
{{Table36|&lt;br /&gt;
*Ship model is used by default to generate the image.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Score:===&lt;br /&gt;
*Points awarded for destroying the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customized Thruster Effects===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;Defines the primary thruster glow - the one visible only from behind&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 1:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the standard drives. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Normal:&#039;&#039;&#039; under the &#039;&#039;&#039;$Thrustglows:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 1a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the afterburner. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Afterburner:&#039;&#039;&#039; under the &#039;&#039;&#039;$Thrustglows:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster01 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the radius multiplier&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the secondary glow type-effect for thrusters - the feathery trail like haze behind the main glow&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 2:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the standard drives. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Sec_Normal:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 2a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the afterburner. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Sec_Afterburn:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster02 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the radius multiplier&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster02 Length factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the length multiplier for the trail type (secondary) glowpoint thrusters&lt;br /&gt;
***Replaces the older &#039;&#039;&#039;$Thruster01 Length factor:&#039;&#039;&#039;&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the tertiary glow type-effect for thrusters - the one visible from all directions&#039;&#039;&#039;&lt;br /&gt;
**NOTE: The rotation of this effect is jittered, which can look quite bad with certain types of effects.&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 3:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the standard drives. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Ter_Normal:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 3a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the afterburner. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Ter_Afterburn:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster03 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the radius multiplier&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Thruster Particles:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the alternative particle thruster&lt;br /&gt;
*&#039;&#039;&#039;$Thruster Particle Bitmap:&#039;&#039;&#039; OR &#039;&#039;&#039;$Afterburner Particle Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**Name of the animation used for particle thrusters, up to &#039;&#039;&#039;three&#039;&#039;&#039; can be defined for both &#039;&#039;&#039;standard&#039;&#039;&#039; thrusters and &#039;&#039;&#039;afterburners&#039;&#039;&#039; (6 in total). Afterburner particles require at least 1 existing particle thruster entry.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;$Min Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum radius of new particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;$Max Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum radius of new particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;$Min created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum amount of particles created&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Max created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum amount of particles created&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Variance:&#039;&#039;&#039;&lt;br /&gt;
**Value that describes the randomness of particle generation, values close to 0 will cause particles to spew very close to the thrusters normal while values close 1 will cause some particles to be spewed even to opposite direction&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Stealth:===&lt;br /&gt;
*Defines: Ship behaves as a stealth-ship: non-targettable, and not on radar. &lt;br /&gt;
{{Table36|&lt;br /&gt;
This field is deprecated, and mods using 3.6.8 and above should use the &amp;quot;stealth&amp;quot; flag.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max decals:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines: Maximum number of weapon decals on a ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, maximum number of decals on ship&lt;br /&gt;
**Default: 50 for anything below cruiser size, 100 for anything below superdestroyer/installation size, 300 for anything above destroyer size, 10 for everything else.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Trail:===&lt;br /&gt;
*These are the origins of the white contrails that appear in the nebula missions. Ship may have multiple trails.&lt;br /&gt;
*&#039;&#039;&#039;+Offset:&#039;&#039;&#039;&lt;br /&gt;
**The position of the contrail&#039;s head&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x, y and z values respectively, relative to the center point of the model&lt;br /&gt;
*&#039;&#039;&#039;+Start Width:&#039;&#039;&#039;&lt;br /&gt;
**The width of the contrail&#039;s head&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+End Width:&#039;&#039;&#039;&lt;br /&gt;
**The width of the contrail&#039;s tail&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Start Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the contrail&#039;s head&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+End Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the contrail&#039;s tail&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+Max Life:&#039;&#039;&#039;&lt;br /&gt;
**How long the contrail remains&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Spew Time:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**The image to use for the contrail.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Thruster:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines maneuvering thrusters. Ship may have multiple $Thrusters defined.&lt;br /&gt;
*&#039;&#039;&#039;+Index:&#039;&#039;&#039;&lt;br /&gt;
**Defines the index number of the manoeuvring thruster defined in this entry&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Used for:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maneuver that triggers the maneuvering thruster&lt;br /&gt;
**List of maneuvers: Bank right, Bank left, Pitch up, Pitch down, Roll right, Roll left, Slide right, Slide left, Slide up, Slide down, Forward, Reverse&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
{{Table37|&lt;br /&gt;
*&#039;&#039;&#039;+Flags:&#039;&#039;&#039;&lt;br /&gt;
**Flags that modify thruster behavior. As of now, only &amp;quot;no scale&amp;quot; exists, which causes all thrusters to be displayed at the same size regardless of thrust amount.&lt;br /&gt;
**List of flags: no scale&lt;br /&gt;
**Syntax: (&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;), names of the flags}}&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines thruster location&lt;br /&gt;
**Syntax: ( &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; ), position from the ships center point, x, y, z axis respectively&lt;br /&gt;
*&#039;&#039;&#039;+Normal:&#039;&#039;&#039;&lt;br /&gt;
**Defines the direction where the thruster points to&lt;br /&gt;
**Syntax: ( &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; ), direction of the thrusters normal, x, y, z axis respectively&lt;br /&gt;
*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the graphic that will be used for trail, rendered like beams&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius of cylinder&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Length:&#039;&#039;&#039;&lt;br /&gt;
**Defines the length of thruster trail&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+StartSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is started &lt;br /&gt;
**Syntax:  &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+LoopSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is continuously used&lt;br /&gt;
**Syntax:  &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+StopSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is shutting down&lt;br /&gt;
**Syntax:  &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Subsystems|$Subsystem:]]===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ships.tbl flags==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no_collide&amp;quot;===&lt;br /&gt;
*Defines ship as non-collideable, ie. everything will go through it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;player_ship&amp;quot;===&lt;br /&gt;
*Makes it possible to player to fly the ship&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;default_player_ship&amp;quot;===&lt;br /&gt;
*Makes this ship as a default part of the loadout options in FRED&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Ship Type===&lt;br /&gt;
*Flags in this section are used to define the type of the ship&lt;br /&gt;
*Use only one &#039;&#039;&#039;ship type&#039;&#039;&#039; flag per table entry&lt;br /&gt;
{{Table36|&lt;br /&gt;
*New ship types can be defined in [[objecttypes.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;repair_rearm&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;support&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
====&amp;quot;support&amp;quot;====&lt;br /&gt;
*Defines the ship as repair and rearm vessel and sets AI behaviour accordingly&lt;br /&gt;
*Only one such vessel can be defined per species&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;cargo&amp;quot;====&lt;br /&gt;
*Defines ship as a cargo crate and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;fighter&amp;quot;====&lt;br /&gt;
*Defines ship as a fighter and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 only ships flagged as fighters or bombers can accept the full set of player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;bomber&amp;quot;====&lt;br /&gt;
*Defines ship as a bomber and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 only ships flagged as fighters or bombers can accept the full set of player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;transport&amp;quot;====&lt;br /&gt;
*Defines ship as a transport and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;freighter&amp;quot;====&lt;br /&gt;
*Defines ship as a freighter and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;capital&amp;quot;====&lt;br /&gt;
*Defines ship as a capital ship and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;supercap&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;super cap&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;super cap&amp;quot;====&lt;br /&gt;
*Defines ship as a super capital ship and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;drydock&amp;quot;====&lt;br /&gt;
*Defines ship as a drydock and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;cruiser&amp;quot;====&lt;br /&gt;
*Defines ship as a cruiser and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;navbuoy&amp;quot;====&lt;br /&gt;
*Defines ship as a navbuoy and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;sentrygun&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;sentry gun&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;sentry gun&amp;quot;====&lt;br /&gt;
*Defines ship as a sentrygun and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;escapepod&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;escape pod&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;escape pod&amp;quot;====&lt;br /&gt;
*Defines ship as a escapepod and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;corvette&amp;quot;====&lt;br /&gt;
*Defines ship as a corvette and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;gas miner&amp;quot;====&lt;br /&gt;
*Defines ship as a gas miner and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;awacs&amp;quot;====&lt;br /&gt;
*Defines ship as a AWACS and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;knossos&amp;quot;====&lt;br /&gt;
*Alternate name for the &amp;quot;Knossos device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;knossos device&amp;quot;====&lt;br /&gt;
*Defines ship as a Knossos and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;stealth&amp;quot;====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines ship as a stealth-ship: non-targettable, and not on radar.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;no type&amp;quot;====&lt;br /&gt;
*Does ???&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;ship copy&amp;quot;===&lt;br /&gt;
*Defines the ship as a copy of another model&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;in tech database&amp;quot;===&lt;br /&gt;
*Includes ships description to the tech database from the beginning of the campaign&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;in tech database multi&amp;quot;===&lt;br /&gt;
*Includes the ship to multiplayer tech database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;dont collide invisible&amp;quot;===&lt;br /&gt;
*Defines invisible textures as non-collideable (For example, a hangar entrace)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;big damage&amp;quot;===&lt;br /&gt;
*Limits the damage made to the ship by non-huge weapons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no_fred&amp;quot;===&lt;br /&gt;
*Ship will not appear in FRED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;ballistic primaries&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Enables the ship to use ballistic primaries&lt;br /&gt;
*No longer needed, game handles it automatically}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;flash&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Makes a flash when a ship dies}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;surface shields&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Shots that impact the hull are applied to shields, regardless of if the ship has a shield mesh.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;show ship&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Enable rendering the ship even when the ship is a player ship&lt;br /&gt;
*Will result in the player&#039;s ship model being rendered, when in cockpit mode}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;generate icon&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Creates a HUD icon from the model itself}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;gun convergence&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Enables ship to use the firing points&#039; normals in defining the direction where the weapon fire}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no primary linking&amp;quot;===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Prevents ships from linking primary weapons}}&lt;br /&gt;
&lt;br /&gt;
==Player Ship Precedence==&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot; &amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039;)&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Player Ship Precedence: (&lt;br /&gt;
     &amp;quot;GTF Ulysses&amp;quot;&lt;br /&gt;
     &amp;quot;GTF Hercules&amp;quot;&lt;br /&gt;
     &amp;quot;GTB Medusa&amp;quot;&lt;br /&gt;
     &amp;quot;GTB Ursa&amp;quot;   )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sample==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Default Player Ship&lt;br /&gt;
&lt;br /&gt;
$Name:                       GTF Ulysses&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Engine Wash Info&lt;br /&gt;
&lt;br /&gt;
$Name:                       Default&lt;br /&gt;
$Angle:                      10.0&lt;br /&gt;
$Radius Mult:                1.2&lt;br /&gt;
$Length:                     400&lt;br /&gt;
$Intensity:                  1.0&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Ship Classes&lt;br /&gt;
$Name:                       GTF Ulysses&lt;br /&gt;
$Short name:                 TFight&lt;br /&gt;
$Species:                    Terran&lt;br /&gt;
   +Type:                       XSTR(&amp;quot;Space Superiority&amp;quot;, -1)&lt;br /&gt;
   +Maneuverability:            XSTR(&amp;quot;Excellent&amp;quot;, -1)&lt;br /&gt;
   +Armor:                      XSTR(&amp;quot;Light&amp;quot;, -1&lt;br /&gt;
   +Manufacturer:               XSTR(&amp;quot;Triton / Mekhu&amp;quot;, -1)&lt;br /&gt;
   +Description:                XSTR( &amp;quot; &amp;quot;, -1)&lt;br /&gt;
   $end_multi_text&lt;br /&gt;
   +Tech Description:           XSTR(&amp;quot;Descriptive text&amp;quot;, -1)&lt;br /&gt;
   $end_multi_text&lt;br /&gt;
   +Length:                     16 m&lt;br /&gt;
   +Gun Mounts:                 4&lt;br /&gt;
   +Missile Banks:              1&lt;br /&gt;
$POF file:                   fighter01.pof&lt;br /&gt;
$Detail distance:            (0, 80, 300, 900)&lt;br /&gt;
$ND:                         42 42 244&lt;br /&gt;
$Show damage:                YES&lt;br /&gt;
$Density:                    1&lt;br /&gt;
$Damp:                       0.1&lt;br /&gt;
$Rotdamp:                    0.35&lt;br /&gt;
$Max Velocity:               0.0, 0.0, 70.0&lt;br /&gt;
$Rotation time:              3.0, 2.6, 5.0&lt;br /&gt;
$Rear Velocity:              0.0&lt;br /&gt;
$Forward accel:              2.0&lt;br /&gt;
$Forward decel:              1.5&lt;br /&gt;
$Slide accel:                0.0&lt;br /&gt;
$Slide decel:                0.0&lt;br /&gt;
$Expl inner rad:             25.0&lt;br /&gt;
$Expl outer rad:             55.0&lt;br /&gt;
$Expl damage:                15.0&lt;br /&gt;
$Expl blast:                 1000.0&lt;br /&gt;
$Expl Propagates:            NO&lt;br /&gt;
$Shockwave Speed:            0.0&lt;br /&gt;
$Allowed PBanks:             ( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot;)&lt;br /&gt;
$Allowed Dogfight PBanks:    ( &amp;quot;Subach HL-D&amp;quot; &amp;quot;Prometheus D&amp;quot; )&lt;br /&gt;
$Default PBanks:             ( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot; )&lt;br /&gt;
$Allowed SBanks:             ( &amp;quot;Rockeye&amp;quot; &amp;quot;Tempest&amp;quot; )&lt;br /&gt;
$Allowed Dogfight SBanks:    ( &amp;quot;Tempest D&amp;quot;  &amp;quot;Hornet D&amp;quot; )&lt;br /&gt;
$Default SBanks:             ( &amp;quot;Harpoon&amp;quot; )&lt;br /&gt;
$SBank Capacity:             ( 40 )&lt;br /&gt;
$Shields:                    380&lt;br /&gt;
$Shield Color:               100 100 255&lt;br /&gt;
$Power Output:               2.0&lt;br /&gt;
$Max Oclk Speed:             94.0&lt;br /&gt;
$Max Weapon Eng:             80.0&lt;br /&gt;
$Hitpoints:                  180&lt;br /&gt;
$Flags:                      (  &amp;quot;player_ship&amp;quot;&lt;br /&gt;
                                &amp;quot;default_player_ship&amp;quot;&lt;br /&gt;
                                &amp;quot;fighter&amp;quot;&lt;br /&gt;
                                &amp;quot;in tech database&amp;quot;)&lt;br /&gt;
$AI Class:                   Captain&lt;br /&gt;
$Afterburner:                YES&lt;br /&gt;
   +Aburn Max Vel:              0.0, 0.0, 150.0&lt;br /&gt;
   +Aburn For accel:            0.7&lt;br /&gt;
   +Aburn Fuel:                 300.0&lt;br /&gt;
   +Aburn Burn Rate:            50.0&lt;br /&gt;
   +Aburn Rec Rate:             25.0&lt;br /&gt;
$Countermeasures:            25&lt;br /&gt;
$Scan time:                  2000&lt;br /&gt;
$EngineSnd:                  128&lt;br /&gt;
$Closeup_pos:                0.0, 0.0, -22&lt;br /&gt;
$Closeup_zoom:               0.5&lt;br /&gt;
$Shield_icon:                shield-f01&lt;br /&gt;
$Ship_icon:                  iconfighter01&lt;br /&gt;
$Ship_anim:                  ssfighter01&lt;br /&gt;
$Ship_overhead:              loadfighter01&lt;br /&gt;
$Score:                      8&lt;br /&gt;
$Trail:&lt;br /&gt;
   +Offset:                     -7.75 -2.8 0.75&lt;br /&gt;
   +Start Width:                0.25&lt;br /&gt;
   +End Width:                  0.05&lt;br /&gt;
   +Start Alpha:                1.0&lt;br /&gt;
   +End Alpha:                  0.0&lt;br /&gt;
   +Max Life:                   1.0&lt;br /&gt;
   +Spew Time:                  60&lt;br /&gt;
   +Bitmap:                     Contrail01&lt;br /&gt;
$Trail:&lt;br /&gt;
   +Offset:                     7.75 -2.8 0.75&lt;br /&gt;
   +Start Width:                0.25&lt;br /&gt;
   +End Width:                  0.05&lt;br /&gt;
   +Start Alpha:                1.0&lt;br /&gt;
   +End Alpha:                  0.0&lt;br /&gt;
   +Max Life:                   1.0&lt;br /&gt;
   +Spew Time:                  60&lt;br /&gt;
   +Bitmap:                     Contrail01&lt;br /&gt;
$Subsystem:    communication,   10, 0&lt;br /&gt;
$Subsystem:    navigation,      10, 0&lt;br /&gt;
$Subsystem:    weapons,         20, 0&lt;br /&gt;
$Subsystem:    sensors,         10, 0&lt;br /&gt;
$Subsystem:    engines,         35, 0&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
$Player Ship Precedence: (&lt;br /&gt;
      &amp;quot;GTF Ulysses&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Asteroid.tbl&amp;diff=15532</id>
		<title>Asteroid.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Asteroid.tbl&amp;diff=15532"/>
		<updated>2008-03-07T09:54:25Z</updated>

		<summary type="html">&lt;p&gt;VA: Whoops, broke syntax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Revision information.. &amp;lt;!-- Please update this information when page is updated --&amp;gt;&lt;br /&gt;
::&#039;&#039;&#039;3.6.x branch:&#039;&#039;&#039; 2.35.2.11&lt;br /&gt;
::&#039;&#039;&#039;3.7 branch:&#039;&#039;&#039; 2.46&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
*Asteroid.tbl is used to define all asteroids and debris pieces in-game.&lt;br /&gt;
*&#039;&#039;&#039;#Asteroid Types&#039;&#039;&#039;&lt;br /&gt;
*Asteroid and debris data&lt;br /&gt;
*&#039;&#039;&#039;#End&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Impact Explosion:&#039;&#039;&#039;&lt;br /&gt;
**Defines the effect used when weapon strikes at asteroid&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Impact Explosion Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius of the effect&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Asteroid and Debris Data==&lt;br /&gt;
*Used to define asteroid types and their physical characteristics&lt;br /&gt;
*First three entries are different sized asteroids, small medium and large respectively&lt;br /&gt;
*Next three are debris pieces for the 1st species in the [[species_defs.tbl]]&lt;br /&gt;
*And so on in series of three&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Defines the name of asteroid or debris object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF file1:===&lt;br /&gt;
*Defines the name of the model file (.pof) used for asteroid or debris model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String.pof&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF file2:===&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Note: This does not work for debris chunks. The game will always only use POF file1.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Defines the name of the alternate asteroid or debris model of the set size&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String.pof&#039;&#039;&#039; or &#039;&#039;&#039;none&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF file3:===&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Note: This does not work for debris chunks. The game will always only use POF file1.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Defines the name of the alternate asteroid model&lt;br /&gt;
*If the object in question is has &#039;&#039;&#039;$POF file2:&#039;&#039;&#039; set as &#039;&#039;none&#039;&#039; then this entry is not needed&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String.pof&#039;&#039;&#039; or &#039;&#039;&#039;none&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Detail distance:===&lt;br /&gt;
*Definies the distance where the change between different Levels-Of-Details (LODs) occurs&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;Integer list&#039;&#039;&#039; ), comma separated &#039;&#039;&#039;integers&#039;&#039;&#039;, one for each LOD&lt;br /&gt;
**Example: (0, 30, 80, 150)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Speed:===&lt;br /&gt;
*Defines the maximum velocity of the asteroid&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the damage type of the asteroid explosion. &#039;&#039;&#039;REQUIRES ADDITIONAL TABLE FILE&#039;&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;, name of the damage type as referenced in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*3.7 branch lacks &#039;&#039;&#039;$Damage Type:&#039;&#039;&#039; option}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl inner rad:===&lt;br /&gt;
*Radius at which the full explosion damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl outer rad:===&lt;br /&gt;
*Maximum radius at which any damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl damage:===&lt;br /&gt;
*Amount of damage done inside the inner radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, damage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl blast:===&lt;br /&gt;
*The intensity of the blast effect when you&#039;re within the outer radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Hitpoints:===&lt;br /&gt;
*Defines the hitpoints of the asteroid or debris piece. Hitpoints are modified downward by skill level.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, hitpoints&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sample==&lt;br /&gt;
*Single asteroid entry fos retail FS2 table&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Asteroid Types&lt;br /&gt;
&lt;br /&gt;
$Name:               Small Asteroid&lt;br /&gt;
$POF file1:          ast03.pof&lt;br /&gt;
$POF file2:          asta03.pof&lt;br /&gt;
$POF file3:          astb03.pof&lt;br /&gt;
$Detail distance:    (0, 30, 80, 150)&lt;br /&gt;
$Max Speed:          60.0&lt;br /&gt;
$Expl inner rad:     0.0&lt;br /&gt;
$Expl outer rad:     0.0&lt;br /&gt;
$Expl damage:        0.0&lt;br /&gt;
$Expl blast:         0.0&lt;br /&gt;
$Hitpoints:          23&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
$Impact Explosion:            ExpMissilehit1&lt;br /&gt;
$Impact Explosion Radius:     20.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:tables]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Asteroid.tbl&amp;diff=15531</id>
		<title>Asteroid.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Asteroid.tbl&amp;diff=15531"/>
		<updated>2008-03-07T09:52:23Z</updated>

		<summary type="html">&lt;p&gt;VA: Note about debris fields only using the first pof file defined&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Revision information.. &amp;lt;!-- Please update this information when page is updated --&amp;gt;&lt;br /&gt;
::&#039;&#039;&#039;3.6.x branch:&#039;&#039;&#039; 2.35.2.11&lt;br /&gt;
::&#039;&#039;&#039;3.7 branch:&#039;&#039;&#039; 2.46&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
*Asteroid.tbl is used to define all asteroids and debris pieces in-game.&lt;br /&gt;
*&#039;&#039;&#039;#Asteroid Types&#039;&#039;&#039;&lt;br /&gt;
*Asteroid and debris data&lt;br /&gt;
*&#039;&#039;&#039;#End&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Impact Explosion:&#039;&#039;&#039;&lt;br /&gt;
**Defines the effect used when weapon strikes at asteroid&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Impact Explosion Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius of the effect&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Asteroid and Debris Data==&lt;br /&gt;
*Used to define asteroid types and their physical characteristics&lt;br /&gt;
*First three entries are different sized asteroids, small medium and large respectively&lt;br /&gt;
*Next three are debris pieces for the 1st species in the [[species_defs.tbl]]&lt;br /&gt;
*And so on in series of three&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Defines the name of asteroid or debris object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF file1:===&lt;br /&gt;
*Defines the name of the model file (.pof) used for asteroid or debris model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String.pof&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF file2:=== (Note: This does not work for debris chunks. The game will always only use POF file1.)&lt;br /&gt;
*Defines the name of the alternate asteroid or debris model of the set size&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String.pof&#039;&#039;&#039; or &#039;&#039;&#039;none&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF file3:=== (Note: This does not work for debris chunks. The game will always only use POF file1.)&lt;br /&gt;
*Defines the name of the alternate asteroid model&lt;br /&gt;
*If the object in question is has &#039;&#039;&#039;$POF file2:&#039;&#039;&#039; set as &#039;&#039;none&#039;&#039; then this entry is not needed&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String.pof&#039;&#039;&#039; or &#039;&#039;&#039;none&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Detail distance:===&lt;br /&gt;
*Definies the distance where the change between different Levels-Of-Details (LODs) occurs&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;Integer list&#039;&#039;&#039; ), comma separated &#039;&#039;&#039;integers&#039;&#039;&#039;, one for each LOD&lt;br /&gt;
**Example: (0, 30, 80, 150)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Speed:===&lt;br /&gt;
*Defines the maximum velocity of the asteroid&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the damage type of the asteroid explosion. &#039;&#039;&#039;REQUIRES ADDITIONAL TABLE FILE&#039;&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;, name of the damage type as referenced in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*3.7 branch lacks &#039;&#039;&#039;$Damage Type:&#039;&#039;&#039; option}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl inner rad:===&lt;br /&gt;
*Radius at which the full explosion damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl outer rad:===&lt;br /&gt;
*Maximum radius at which any damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl damage:===&lt;br /&gt;
*Amount of damage done inside the inner radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, damage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl blast:===&lt;br /&gt;
*The intensity of the blast effect when you&#039;re within the outer radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Hitpoints:===&lt;br /&gt;
*Defines the hitpoints of the asteroid or debris piece. Hitpoints are modified downward by skill level.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, hitpoints&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sample==&lt;br /&gt;
*Single asteroid entry fos retail FS2 table&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Asteroid Types&lt;br /&gt;
&lt;br /&gt;
$Name:               Small Asteroid&lt;br /&gt;
$POF file1:          ast03.pof&lt;br /&gt;
$POF file2:          asta03.pof&lt;br /&gt;
$POF file3:          astb03.pof&lt;br /&gt;
$Detail distance:    (0, 30, 80, 150)&lt;br /&gt;
$Max Speed:          60.0&lt;br /&gt;
$Expl inner rad:     0.0&lt;br /&gt;
$Expl outer rad:     0.0&lt;br /&gt;
$Expl damage:        0.0&lt;br /&gt;
$Expl blast:         0.0&lt;br /&gt;
$Hitpoints:          23&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
$Impact Explosion:            ExpMissilehit1&lt;br /&gt;
$Impact Explosion Radius:     20.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:tables]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Animation_Code&amp;diff=15414</id>
		<title>Animation Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Animation_Code&amp;diff=15414"/>
		<updated>2008-02-25T09:56:51Z</updated>

		<summary type="html">&lt;p&gt;VA: Note about the &amp;#039;$triggered:&amp;#039; subobject property&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Revision information.. &#039;&#039;&#039;&#039;&#039;Ship.cpp&#039;&#039;&#039;&#039;&#039; &amp;lt;!-- Please update this information when page is updated --&amp;gt;&lt;br /&gt;
::&#039;&#039;&#039;3.6.x branch:&#039;&#039;&#039; 2.336.2.73&lt;br /&gt;
::&#039;&#039;&#039;3.7 branch:&#039;&#039;&#039; 2.427&lt;br /&gt;
&lt;br /&gt;
Known commonly as Bob&#039;s animation code as the code was written by Bobboau. Enables submodels defined in [[ships.tbl]] or in any related modular table to be animated in game. Animation code is included to the subsystem entry in similar manner as with [[Animation_Code#Setting_Turret_Angle|multipart turrets]]&lt;br /&gt;
&lt;br /&gt;
==Important Note: &amp;quot;$triggered:&amp;quot; Subobject Property==&lt;br /&gt;
For any animated subobject other than turrets, you must have &amp;quot;$triggered:&amp;quot; written in the subobject properties field of that subobject for the model file (POF) that you wish to animate.&lt;br /&gt;
&lt;br /&gt;
==$Animation:==&lt;br /&gt;
{{Table36|*Animation classes are defined in submodels description&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;, animation &#039;&#039;class&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Available animation types:&#039;&#039;&#039;&lt;br /&gt;
**Triggered}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Animation Type===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Animation type defines when the animation is used&lt;br /&gt;
*Currently supported animation types:&lt;br /&gt;
**&#039;&#039;&#039;initial&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when the mission begins. Unlike other animation types this requires only &#039;&#039;&#039;angle&#039;&#039;&#039; to be set&lt;br /&gt;
**&#039;&#039;&#039;docking&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when ship starts docking&lt;br /&gt;
**&#039;&#039;&#039;docked&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when ship is docked&lt;br /&gt;
**&#039;&#039;&#039;primary_bank&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when a primary bank is selected (armed)&lt;br /&gt;
**&#039;&#039;&#039;secondary_bank&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when a secondary bank is selected (armed)&lt;br /&gt;
**&#039;&#039;&#039;door&#039;&#039;&#039;&lt;br /&gt;
***Animation code starts when ship launches or retrives others through it&#039;s fighterbay.&lt;br /&gt;
**&#039;&#039;&#039;afterburner&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when ships afterburner is engaged&lt;br /&gt;
**&#039;&#039;&#039;turret firing&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when selected turret is firing&lt;br /&gt;
**&#039;&#039;&#039;scripted&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when it is triggered with scripts (see [[scripting.tbl]])&lt;br /&gt;
*Syntax: &#039;&#039;&#039;$type:&#039;&#039;&#039; &#039;&#039;Type&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Animation Sub-Type===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Optional more accurate descriptor for the animation type&lt;br /&gt;
*&#039;&#039;&#039;primary bank&#039;&#039;&#039; or &#039;&#039;&#039;secondary bank&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;+sub_type:&#039;&#039;&#039; &#039;&#039;Value&#039;&#039;, 0 is the 1st weapon bank, 1 is the 2nd weapon bank, etc.&lt;br /&gt;
*&#039;&#039;&#039;turret firing&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;+sub_type:&#039;&#039;&#039; &#039;&#039;Value&#039;&#039;, model number of the turret that triggers the animation. NOTE: This feature currently does not work on multipart turrets.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Animation Code===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Initial type====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines how long til the trigger starts.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;Integer&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+absolute angle:&#039;&#039;&#039; OR &#039;&#039;&#039;+relative angle:&#039;&#039;&#039;&lt;br /&gt;
**Defines the rotation degrees with three floats that give the x, y, and z. Absolute means in world terms; relative means relative to the ship. So a 90 degree angle on the ship would always be straight up in relative degrees; it would vary depending how the ship was rotated in absolute degrees. &lt;br /&gt;
**Syntax: &#039;&#039;&#039;Vector&#039;&#039;&#039;, three &#039;&#039;floats&#039;&#039; in degrees, x, y, z respectively&lt;br /&gt;
**Example: &#039;&#039;90,180,0&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines subobject rotation speed, in relative terms. Defined with x, y and z floats.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;Vector&#039;&#039;&#039;, three &#039;&#039;floats&#039;&#039;, x, y, z respectively&lt;br /&gt;
*&#039;&#039;&#039;+acceleration:&#039;&#039;&#039;&lt;br /&gt;
**Defeines acceleration speed of subobject rotation. Defined with three floats, x, y and z&lt;br /&gt;
**Syntax: &#039;&#039;&#039;Vector&#039;&#039;&#039;, three &#039;&#039;floats&#039;&#039;, x, y, z respectively&lt;br /&gt;
*&#039;&#039;&#039;+time:&#039;&#039;&#039;&lt;br /&gt;
**Defines time for object to rotate, move, whatever. &lt;br /&gt;
**Syntax: &#039;&#039;&#039;Integer&#039;&#039;&#039;, milliseconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Other types====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines how long til the trigger starts.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;Integer&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+reverse_delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines how long til the trigger starts.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;Integer&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+absolute angle:&#039;&#039;&#039; OR &#039;&#039;&#039;+relative angle:&#039;&#039;&#039;&lt;br /&gt;
**Defines the rotation degrees with three floats that give the x, y, and z. Absolute means in world terms; relative means relative to the ship. So a 90 degree angle on the ship would always be straight up in relative degrees; it would vary depending how the ship was rotated in absolute degrees. &lt;br /&gt;
**Syntax: &#039;&#039;&#039;Vector&#039;&#039;&#039;, three &#039;&#039;floats&#039;&#039; in degrees, x, y, z respectively&lt;br /&gt;
**Example: &#039;&#039;90,180,0&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines subobject rotation speed, in relative terms. Defined with x, y and z floats.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;Vector&#039;&#039;&#039;, three &#039;&#039;floats&#039;&#039;, x, y, z respectively&lt;br /&gt;
*&#039;&#039;&#039;+acceleration:&#039;&#039;&#039;&lt;br /&gt;
**Defeines acceleration speed of subobject rotation. Defined with three floats, x, y and z&lt;br /&gt;
**Syntax: &#039;&#039;&#039;Vector&#039;&#039;&#039;, three &#039;&#039;floats&#039;&#039;, x, y, z respectively&lt;br /&gt;
*&#039;&#039;&#039;+time:&#039;&#039;&#039;&lt;br /&gt;
**Defines time for object to rotate, move, whatever. &lt;br /&gt;
**Syntax: &#039;&#039;&#039;Integer&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;$Sound:&#039;&#039;&#039; (Does not work with &#039;initial&#039; animations)&lt;br /&gt;
**Defines sounds that are played with the animation&lt;br /&gt;
**&#039;&#039;&#039;+Start:&#039;&#039;&#039;&lt;br /&gt;
***Defines the sound that is played when animation starts&lt;br /&gt;
***Syntax: &#039;&#039;&#039;Integer&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;+Loop:&#039;&#039;&#039;&lt;br /&gt;
***Defines the sound that is played when animation is going on&lt;br /&gt;
***Syntax: &#039;&#039;&#039;Integer&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;+End:&#039;&#039;&#039;&lt;br /&gt;
***Defines the sound that is played when animation stops&lt;br /&gt;
***Syntax: &#039;&#039;&#039;Integer&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
***Defines the distance from the submodel where the sound is audible&lt;br /&gt;
***Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Animation Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setting Turret Angle===&lt;br /&gt;
*Animation code can be used to set multipart turrets barrel angle at the beginning of the mission&lt;br /&gt;
*&#039;&#039;&#039;Animation Class&#039;&#039;&#039; = triggered&lt;br /&gt;
**The only one available&lt;br /&gt;
*&#039;&#039;&#039;Animation Type&#039;&#039;&#039; = initial&lt;br /&gt;
**As we want the barrels to align themselves at the beginning of the mission&lt;br /&gt;
*&#039;&#039;&#039;Animation Code&#039;&#039;&#039; &lt;br /&gt;
**&#039;&#039;&#039;+relative_angle:&#039;&#039;&#039; is good for this purpose&lt;br /&gt;
**Notes about angles:&lt;br /&gt;
***First value is used to determine the turret&#039;s barrels deviation from the turrets normal. So barrel elevation in degrees is ( 90 - the first value ).&lt;br /&gt;
***Second value is used to determine the turret facing. With &#039;&#039;0&#039;&#039; the turret facing is in the normal setting and with &#039;&#039;180&#039;&#039; turn the turret completely around. Do note that turrets on the underside of the model normally face backwards, so to get these turrets pointing forwards the second value has to be set to 180.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Subsystem:            turret02,0.833,1.0&lt;br /&gt;
$Default PBanks:       (  &amp;quot;Terran Turret&amp;quot; )&lt;br /&gt;
$animation: triggered&lt;br /&gt;
$type: initial&lt;br /&gt;
   +relative_angle:       90,180,0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Subsystem: DockingClaw1, 0, 1.0&lt;br /&gt;
$Flags: ( &amp;quot;untargetable&amp;quot; )&lt;br /&gt;
$animation: triggered&lt;br /&gt;
$type: docking                           ;;The claw opens on approach&lt;br /&gt;
	+sub_type:       0               ;;The number of the associated dock (works with multidocking)&lt;br /&gt;
	+delay:          0&lt;br /&gt;
	+relative_angle: 0,0,90&lt;br /&gt;
	+velocity:       0,0,10&lt;br /&gt;
	+acceleration:   0,0,5&lt;br /&gt;
	+time:           2000 &lt;br /&gt;
$animation: triggered&lt;br /&gt;
$type: docked                           ;;The claw closes once docked&lt;br /&gt;
	+sub_type:       0&lt;br /&gt;
	+delay:          0&lt;br /&gt;
	+relative_angle: 0,0,-90&lt;br /&gt;
	+velocity:       0,0,10&lt;br /&gt;
	+acceleration:   0,0,5&lt;br /&gt;
	+time:           2000 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>VA</name></author>
	</entry>
</feed>