Support Documents
This document is intended to provide artists with information helpful in developing X-Plane CSL models intended for use on the POSCON network.
POSCON implements validation of aircraft and airline ICAO codes, so you cannot used “made up” aircraft and airline codes for your models and textures.
Be sure to check the ICAO website for the correct code of your aircraft.
https://www.icao.int/publications/doc8643/pages/search.aspx
In X-plane 11/Resources/plugins/POSCON/Resources there is a file named airline_codes.csv which you can search for the correct airline code.
If you need help with identifying the correct code for an aircraft or airline, let us know.
To be considered for inclusion in the POSCON model library, your model should have the following:
- XYZ Origin centered at the bottom of the main gear (for proper aircraft pivot point on hard braking, rotation, etc.)
-
Animated…
- Wheels
- Nosewheel steering
- Nosewheel gear deflection
- Gear
- Gear doors
- Individual animated engines
- Prop discs
- Flaps
- Spoilers
-
Lights
- Strobes
- Navigation (left/right/tail)
- Taxi
- Landing
-
Optional
- Rudder (for GA aircraft with rudder response to nose wheel steering)
Every effort should be made to keep polygon counts to a reasonable limit. At this point we’re not defining a hard limit, but we’ll know what a “too high poly count” model will look like when we see it, and reserve the right to ask the artist to cut out a few 100,000 vertices if need be.
Our opinion is 2K textures are generally acceptable for most GA aircraft. Multiple 2K textures should generally suffice for larger commercial aircraft as well. That being said, we’ll accept 4K textures.
The library supports multi-object CSL’s meaning you can have one OBJ8 for the fuselage, 1 for the wings, and 1 for the gear. Our library also supports single OBJ/multiple livery format similar to the XCSL library set. In other words your library can have 1 set of OBJs, but multiple liveries that are processed when the aircraft spawns into the network. NOTE: the xsb_aircraft.txt will need to be formatted to account for this. (See the XPMP2 documentation for more).
All General Aviation aircraft should use the airline code GA and preferably a LIVERY vs AIRLINE code line, though the words are interchangeable it just makes more sense while reading. POSCON does aircraft code validation so you can use random airline codes to get the results you expect.
If your model library mixes different variants such as tundra tires, skis, or floats, use the following AIRLINE codes to for differentiation:
GA: Default configuration
DRT: Tail draggers (DRagging Tails if you prefer)
TUN: Tundra tires
FLT: Float options
SKI: Ski option
The POSCON X-Plane Client utilizes the TwinFan X-Plane Multiplayer library. Documentation is available at TwinFan’s github (https://github.com/TwinFan/XPMP2) Perhaps the most important documents for artists is the list of libxplanemp datarefs found here: (https://github.com/TwinFan/XPMP2/blob/master/docs/CSLdataRefs.md) and the xsb_aircraft.txt format found here: https://github.com/TwinFan/XPMP2/blob/master/docs/XSBAircraftFormat.md
Artists are highly encouraged to keep the gear as a separate OBJ and only have 1 in the library that is used for each livery variant, this allows us to make minor modifications to one file, if necessary. If your gear is tied into a livery dependent OBJ and changes need to be made, we may kick it back for you to make the changes on all of the files.
We haven’t decided on a poly count limit on the models, so use good judgement. We do want high quality models, but we worry about what might happen if 20 people are flying near each other represented by models with 2 million poly’s. For now, do what you feel is reasonable, but if we start having issues with performance that can be tied back to a high poly model, it may be taken offline until the poly count is addressed.
Please read the TwinFan dataref document carefully, one or two of the datarefs behave differently than their name implies (for instance nws_ratio, is in angles from -180..180 NOT a ratio of 0..1). Not all the dataref information is sent over our network. Of those, a few are still handled through client algorithm. The rest are ignored. The list of datarefs are below with any POSCON related notes:
|
|
libxplanemp/controls/nws_ratio |
Used, but degrees of steering not a ratio |
libxplanemp/controls/flap_ratio |
|
libxplanemp/controls/spoiler_ratio |
Ignored (use speed_brake_ratio) |
libxplanemp/controls/speed_brake_ratio |
|
libxplanemp/controls/slat_ratio |
|
libxplanemp/controls/wing_sweep_ratio |
ignored |
libxplanemp/controls/thrust_ratio |
ignored |
libxplanemp/controls/yoke_pitch_ratio |
ignored |
libxplanemp/controls/yoke_heading_ratio |
ignored |
libxplanemp/controls/yoke_roll_ratio |
ignored |
libxplanemp/controls/thrust_revers |
|
libxplanemp/misc/touch_down |
ignored |
libxplanemp/controls/taxi_lites_on |
|
libxplanemp/controls/landing_lites_on |
|
libxplanemp/controls/beacon_lites_on |
|
libxplanemp/controls/strobe_lites_on |
|
libxplanemp/controls/nav_lites_on |
|
libxplanemp/gear/nose_gear_deflection_mtr |
Used, but as a ratio. 0 is fully extended, 1 is fully compressed. It is calculated based on acf pitch |
libxplanemp/gear/tire_vertical_deflection_mtr |
ignored |
libxplanemp/gear/tire_rotation_angle_deg |
Used but calculated based on a 24” radius tire and horizontal speed. |
libxplanemp/gear/tire_rotation_speed_rpm |
ignored |
libxplanemp/gear/tire_rotation_speed_rad_sec |
ignored |
libxplanemp/engines/engine_rotation_angle_deg |
ignored |
libxplanemp/engines/engine_rotation_angle_deg1 |
|
libxplanemp/engines/engine_rotation_angle_deg2 |
|
libxplanemp/engines/engine_rotation_angle_deg3 |
|
libxplanemp/engines/engine_rotation_angle_deg4 |
|
libxplanemp/engines/engine_rotation_speed_rpm |
ignored |
libxplanemp/engines/engine_rotation_speed_rpm1 |
|
libxplanemp/engines/engine_rotation_speed_rpm2 |
|
libxplanemp/engines/engine_rotation_speed_rpm3 |
|
libxplanemp/engines/engine_rotation_speed_rpm4 |
|
libxplanemp/engines/engine_rotation_speed_rad_sec |
ignored |
libxplanemp/engines/engine_rotation_speed_rad_sec1 |
|
libxplanemp/engines/engine_rotation_speed_rad_sec2 |
|
libxplanemp/engines/engine_rotation_speed_rad_sec3 |
|
libxplanemp/engines/engine_rotation_speed_rad_sec4 |
|
libxplanemp/engines/prop_rotation_angle_deg |
Ignored |
libxplanemp/engines/prop_rotation_speed_rpm |
ignored |
libxplanemp/engines/prop_rotation_speed_rad_sec |
ignored |
libxplanemp/engines/thrust_reverser_deploy_ratio |
|
The following datarefs are also used to support legacy BB and XCSL models. It is preferred that you animate your gear doors based on libxplanemp/controls/gear_ratio values.
cjs/worldtraffic/gear_door_ratio2 |
Follows gear_ratio above 1:1 |
cjs/worldtraffic/gear_door_ratio3 |
Snaps open then closes quickly after gear down on gear down, opens quickly then snaps close on gear up. |
Lastly, there is one additional dataref we calculate which is POSCON/gear/eagle_claw_angle_rat used for larger jets with claw angle gear. Animate your gear so that the gear is level for taxi position when the dataref is set to 0.67. A ratio of 0 will display the gear at full approach angle deployment.
Rev 5 4/12/2021
- added cjs/worldtraffic dataref descriptions.
Rev 4 4/5/2021
- added the notes on IACO code validation for aircraft and airlines
- added minimum model standards
- added xsb_aircraft.txt section w/ AIRLINE CODE variants for GA aircraft
- moved single OBJ/multiple texture paragraph to new xsb_aircraft section
Rev 3 3/14/2021
- indicated spoiler_ratio is ignored and speed_brake_ratio should be used for that purpose.
- re-ordered this change log so most current is at the top.
Rev. 2 3/7/2021
- Added support for single OBJ/multiple texture format
Rev. 1 8/28/2020
- Added light datarefs