Difference between revisions of "POFCS2Help/HelpHome"

From FreeSpace Wiki
Jump to: navigation, search
(Filled out some of the page. It was just begging for it!)
Line 6: Line 6:
  
  
The POF Constructor Suite 2 (PCS2) allows modification of existing .pof's as well as creation of new ones from OpenCOLLADA .dae's. The geometry, texturing, and UV mapping is done by modeling software such as Blender or 3DSmax, while PCS2 focuses on a process called "rigging."
+
The POF Constructor Suite 2 (PCS2) allows modification of existing .pof's as well as creation of new ones from OpenCOLLADA .dae's. The geometry, texturing, and UV mapping is done by modeling software such as Blender or 3DSmax, while PCS2 focuses converting the model into a format usable by FS2 and adding/editing additional data used by the game.
  
 
There are numerous tutorials on rigging for FSO using PCS2: <!-- list several active tutorials here -->
 
There are numerous tutorials on rigging for FSO using PCS2: <!-- list several active tutorials here -->
  
 +
=General=
 +
PCS2 can be used to define/edit all meta data (as in non-model data) needed to get a usable POF file.
 +
If in doubt, look at an original Volition POF file for reference on how to set up your model.
 +
 +
The x/y/z coordinate system in a POF file (and therefore PCS) is probably different from what you're used in your modelling tool. In relation to the forward-direction of the model:
 +
*X: Left/right, minus-direction is to the right, plus-direction is to the left
 +
*Y: Up/down, minus-direction is downwards, plus-direction is upwards
 +
*Z: Back/front, minus-direction is to the back, plus-direction is to the front
 +
 +
[[File:PCS2_Coordinates.png]]
 +
 +
The 0/0/0 origin is the center of the model, as defined in the modeling tool where you saved it.
 +
All coordinate values in PCS are in ingame units, where 1.0 corresponds to 1 meter. Point/vector values are entered in PCS2 as a list of 3 floats separated by a colon, e.g. '''6.101850:1.240200:5.347540'''
  
 
=Header=
 
=Header=
 
The Header group contains the LOD and Debris list which points to which model as being the respective LOD and debris (The models themselves are contained in the [[#SubObjects | SubObjects]] group). The Header group also contains physical values (such as mass and moment of inertia) and other assorted values.
 
The Header group contains the LOD and Debris list which points to which model as being the respective LOD and debris (The models themselves are contained in the [[#SubObjects | SubObjects]] group). The Header group also contains physical values (such as mass and moment of inertia) and other assorted values.
==Bounding Box Min==
+
==Bounding Box Min/Max==
This is the minimum (i.e. lower rear left-hand corner if you where facing the same direction as the object) X, Y, Z coordinate of the bounding box.
+
*'''Bounding Box Min''' is the minimum (i.e. lower rear left-hand corner if you where facing the same direction as the object) X, Y, Z coordinate of the bounding box.
 
+
*'''Bounding Box Max''' is the maximum(i.e. upper forward right-hand corner if you where facing the same direction as the object) X, Y, Z coordinate of the bounding box.
This value is pre-determined by the modeling software, and cannot be modified in PCS2.
+
Note that the game only checks for weapon collisions with the model inside the bounding box. Model geometry outside of the bounding box is ignored (becoming non-shootable).
Units: Meters
+
PCS2 automatically calculates this value based on the min/max dimensions of the parent object (detail0). So the problem of non-shootable geometry only applies to SubObjects that protrude outside of the bounding box.
==Bounding Box Max==
+
The values can be edited/saved if needed. Use the "Reset" button to recalculate the value based on model geometry.
This is the maximum(i.e. upper forward right-hand corner if you where facing the same direction as the object) X, Y, Z coordinate of the bounding box.
 
 
 
This value is pre-determined by the modeling software, and cannot be modified in PCS2.
 
Units: Meters
 
  
 
==Center of Mass==
 
==Center of Mass==
 
This value determines the center of mass of the object, and is namely used as a pivot point by the game engine to turn/rotate it during movement and collisions.
 
This value determines the center of mass of the object, and is namely used as a pivot point by the game engine to turn/rotate it during movement and collisions.
 
''Format'' <!-- Need a better font formatting here, maybe use a .tbl as a reference? -->
 
 
(float) X, (float) Y, (float) Z
 
Units: Meters
 
  
 
==Max Radius==
 
==Max Radius==
 
This is the maximum distance between any point on the craft and the craft's center. <!-- center of mass? pivot point? -->
 
This is the maximum distance between any point on the craft and the craft's center. <!-- center of mass? pivot point? -->
 +
It is used to determine ship-to-ship collisions for small craft (where model geometry is ignored).
 +
PCS2 automatically calculates this value based on model geometry. The values can be edited/saved if needed. Use the "Reset" button to recalculate the value based on model geometry.
  
This value is pre-determined by PCS2, and cannot be modified.
 
 
Units: Meters
 
 
==Radius Override==
 
Description
 
 
==Mass==
 
==Mass==
Description
+
Mass of the ship. Used in physics calculation in ship-to-ship collisions.
 +
The used unit is unclear. It's best too look at a Volition model of similar size for reference when defining this value for your model.
 +
*Fighters have mass values from 100 to 250
 +
*Bombers have mass values from 500 to 1000
 +
*Freighters have mass values of several thousands
 +
*Cruisers have mass values from 10'000 to 50'000
 +
*Corvettes have mass values over 100'000
 +
*Capital ships have a mass values of 1 to 3 million
 +
From the POF data notes: "mass is an area mass conversion: area_mass=4.65*(vol_mass^2/3); also scale moment_inertia by vol_mass/area_mass (*) if there is no cross_section data, num_cross_sections is -1 instead of 0, as one would expect."
 
==LOD==
 
==LOD==
 
===Select===
 
===Select===
Line 96: Line 104:
  
 
=Weapon Points=
 
=Weapon Points=
 +
Guns (primaries) and missiles (secondaries) are organized in banks, which is a list of firing points, each of which uses the weapon selected in the loadout for that bank.
 +
They are only used on fighters/bombers (small craft). You can define them on capital ships, but the AI will not use them.
 
==Gun Points==
 
==Gun Points==
Description
+
Root node for all gun banks. Use the New/Copy/Delete buttons to add or edit gun banks.
===Bank===
+
===Gun Bank===
Description
+
Each gun bank is a list of points (x/y/z) that define the firing points per gun bank.
===Select===
+
Use the New/Copy/Delete buttons to add or edit individual gun points.
Description
+
====Point====
==Point==
+
Location (x/y/z) of the firing point
===Select===
+
====Normal====
Description
+
Normal vector (x/y/z) that defines the direction in which the primary gun is fired.
===Point===
 
Description
 
===Normal===
 
Description
 
 
==Missile Points==
 
==Missile Points==
Description
+
Root node for all missile banks. Use the New/Copy/Delete buttons to add or edit missile banks.
===Bank===
+
===Missile Bank===
Description
+
Each missile bank is a list of points (x/y/z) that define the firing points per missile bank.
===Select===
+
Use the New/Copy/Delete buttons to add or edit individual gun points.
Description
+
==== Point ====
==Point==
+
Location (x/y/z) of the firing point
===Select===
+
==== Normal ====
Description
+
Normal vector (x/y/z) that defines the direction in which the missiles are fired.
===Point===
+
 
Description
+
=Docking Points=
===Normal===
+
Docking points description
Description
+
 
 +
=Thrusters=
 +
Thrusters description
 +
 
 +
=Glow Points=
 +
Glow points description
 +
 
 +
=Special Points=
 +
Special points description
 +
 
 +
=Turrets=
 +
Turrets description
 +
 
 +
=Paths=
 +
Paths description
 +
 
 +
=Eye Points=
 +
Eye points description
 +
 
 +
=Insignia=
 +
Insignia description
 +
 
 +
=Shield=
 +
Shield description
 +
 
 +
=Auto-centering=
 +
From the POF file comments:
 +
The autocentering point was basically just a little convenient extra data we stuck in models where the pivot point of the model wasn't at the center. Since we rotate ships in the tech room by rotating around the pivot point, it looked dumb when the colossus' rear end was in the middle of the screen and it was spinning on it. So the autocenter point was just a point pretty much near the model we could use to push an extra matrix onto our transform stack and have it show up centered around it. The point itself is in model coordinates.
 +
 
 +
=Model comments=
 +
A list of arbitrary text fields (can have more than one).
 +
PCS2 auto-generates some logging information about the compilation process of that particular POF file.
 +
Feel free to add your own comments or credits here.
  
 
{{Stub}}
 
{{Stub}}

Revision as of 18:52, 1 January 2022


This is the stub page for the PCS2 Help Cooperative authoring. Please add all pages to the PCS2 Cooperative Authoring category.
Once this project is finished, it will be exported and included with PCS2 releases as the official help.''


The POF Constructor Suite 2 (PCS2) allows modification of existing .pof's as well as creation of new ones from OpenCOLLADA .dae's. The geometry, texturing, and UV mapping is done by modeling software such as Blender or 3DSmax, while PCS2 focuses converting the model into a format usable by FS2 and adding/editing additional data used by the game.

There are numerous tutorials on rigging for FSO using PCS2:

General

PCS2 can be used to define/edit all meta data (as in non-model data) needed to get a usable POF file. If in doubt, look at an original Volition POF file for reference on how to set up your model.

The x/y/z coordinate system in a POF file (and therefore PCS) is probably different from what you're used in your modelling tool. In relation to the forward-direction of the model:

  • X: Left/right, minus-direction is to the right, plus-direction is to the left
  • Y: Up/down, minus-direction is downwards, plus-direction is upwards
  • Z: Back/front, minus-direction is to the back, plus-direction is to the front

PCS2 Coordinates.png

The 0/0/0 origin is the center of the model, as defined in the modeling tool where you saved it. All coordinate values in PCS are in ingame units, where 1.0 corresponds to 1 meter. Point/vector values are entered in PCS2 as a list of 3 floats separated by a colon, e.g. 6.101850:1.240200:5.347540

Header

The Header group contains the LOD and Debris list which points to which model as being the respective LOD and debris (The models themselves are contained in the SubObjects group). The Header group also contains physical values (such as mass and moment of inertia) and other assorted values.

Bounding Box Min/Max

  • Bounding Box Min is the minimum (i.e. lower rear left-hand corner if you where facing the same direction as the object) X, Y, Z coordinate of the bounding box.
  • Bounding Box Max is the maximum(i.e. upper forward right-hand corner if you where facing the same direction as the object) X, Y, Z coordinate of the bounding box.

Note that the game only checks for weapon collisions with the model inside the bounding box. Model geometry outside of the bounding box is ignored (becoming non-shootable). PCS2 automatically calculates this value based on the min/max dimensions of the parent object (detail0). So the problem of non-shootable geometry only applies to SubObjects that protrude outside of the bounding box. The values can be edited/saved if needed. Use the "Reset" button to recalculate the value based on model geometry.

Center of Mass

This value determines the center of mass of the object, and is namely used as a pivot point by the game engine to turn/rotate it during movement and collisions.

Max Radius

This is the maximum distance between any point on the craft and the craft's center. It is used to determine ship-to-ship collisions for small craft (where model geometry is ignored). PCS2 automatically calculates this value based on model geometry. The values can be edited/saved if needed. Use the "Reset" button to recalculate the value based on model geometry.

Mass

Mass of the ship. Used in physics calculation in ship-to-ship collisions. The used unit is unclear. It's best too look at a Volition model of similar size for reference when defining this value for your model.

  • Fighters have mass values from 100 to 250
  • Bombers have mass values from 500 to 1000
  • Freighters have mass values of several thousands
  • Cruisers have mass values from 10'000 to 50'000
  • Corvettes have mass values over 100'000
  • Capital ships have a mass values of 1 to 3 million

From the POF data notes: "mass is an area mass conversion: area_mass=4.65*(vol_mass^2/3); also scale moment_inertia by vol_mass/area_mass (*) if there is no cross_section data, num_cross_sections is -1 instead of 0, as one would expect."

LOD

Select

Description

Model#

Description

Debris

Select

Description

Model#

Description

Cross Sections

Select

Description

Radius

Description

Depth

Description

Moment of Intertia

SubObjects

Name

Description

Rotation Axis

Description

Offset

Description

Properties

Description

Draw BSP Debug Info

Description

Subobject Info

Poly Count

Description

Child Poly Count

Description

Total

Description

Bounding Box Min

Description

Bounding Box Max

Description

Radius

Description

Parent submodel

Description

Textures

Select

Description

Texture

Description

Weapon Points

Guns (primaries) and missiles (secondaries) are organized in banks, which is a list of firing points, each of which uses the weapon selected in the loadout for that bank. They are only used on fighters/bombers (small craft). You can define them on capital ships, but the AI will not use them.

Gun Points

Root node for all gun banks. Use the New/Copy/Delete buttons to add or edit gun banks.

Gun Bank

Each gun bank is a list of points (x/y/z) that define the firing points per gun bank. Use the New/Copy/Delete buttons to add or edit individual gun points.

Point

Location (x/y/z) of the firing point

Normal

Normal vector (x/y/z) that defines the direction in which the primary gun is fired.

Missile Points

Root node for all missile banks. Use the New/Copy/Delete buttons to add or edit missile banks.

Missile Bank

Each missile bank is a list of points (x/y/z) that define the firing points per missile bank. Use the New/Copy/Delete buttons to add or edit individual gun points.

Point

Location (x/y/z) of the firing point

Normal

Normal vector (x/y/z) that defines the direction in which the missiles are fired.

Docking Points

Docking points description

Thrusters

Thrusters description

Glow Points

Glow points description

Special Points

Special points description

Turrets

Turrets description

Paths

Paths description

Eye Points

Eye points description

Insignia

Insignia description

Shield

Shield description

Auto-centering

From the POF file comments: The autocentering point was basically just a little convenient extra data we stuck in models where the pivot point of the model wasn't at the center. Since we rotate ships in the tech room by rotating around the pivot point, it looked dumb when the colossus' rear end was in the middle of the screen and it was spinning on it. So the autocenter point was just a point pretty much near the model we could use to push an extra matrix onto our transform stack and have it show up centered around it. The point itself is in model coordinates.

Model comments

A list of arbitrary text fields (can have more than one). PCS2 auto-generates some logging information about the compilation process of that particular POF file. Feel free to add your own comments or credits here.