Attached Object Properties in Plane-Maker

Plane-Maker allows you to attach multiple OBJ model files to your airplane.  OBJs are 3-d models built with a 3-d modeling program.  You can attach several OBJs to your airplane to model different parts of the plane with multiple textures.

Plane-Maker provides a number of properties for each attached object that controls how X-Plane draws the object.  This article explains those properties in detail.

Object Lighting Options

Each object can be set to one of three modes:

  • Exterior: use this option for solid objects that model the airplane’s exterior.  These objects are lit by the exterior Plane-Maker lights (e.g. the landing light) and scenery lights (E.g. apron lights).
  • Internal: use this option for solid objects that model the airplane’s interior.  Only these objects receive 3-d internal lighting when HDR is not available.
  • Glass: these objects  are drawn last to avoid transparency artifacts.  Put all translucent elements in their own object(s) and set them to glass to avoid Z buffer and transparency artifacts.

When HDR spill lights are used, the HDR spill lights from exterior objects light other exterior objects (and scenery), while the HDR spill lights on the interior objects only light other interior objects.

Glass objects are not subject to HDR spill lighting and should not have HDR spill lights attached themselves.

Resolution Boost (X-Plane 10.02 and later)

This option boosts the texture resolution of an object to the maximum possible resolution.  Use this option with caution; it override the user’s texture resolution settings.  If a user has turned down their texture resolution, it is almost always to avoid overloading a lower-tier GPU.  Use this option only where critical to keep your airplane performant on lower-end GPUs.

For aircraft predating X-Plane 10.02, resolution boost is defaulted to off.

Shadow Mode (X-Plane 10.04 and later)

Shadow mode lets you control the conditions under which an object casts shadows.  Removing airplane-attached objects (particularly complex ones) from shadow equations can improve framerate with shadows enabled, so you can optimize your airplane’s fps by carefully limiting shadow casting to only the objects that matter.  The choices are:

  • None.  The object does not cast a shadow at all.  This is a good choice for translucent objects (where the shadows will look wrong) and any objects that are always in shadow themselves.
  • Interior only.  The object casts shadows in the 3-d cockpit but not out into the world.  This is a good choice for small objects inside the plane, e.g. seats.
  • Exterior only.  The object casts shadows into the 3-d world but not into the cockpit.  This option is dangerous, as most planes need to cast shadows onto themselves – use with caution!
  • All Views.  The object casts shadows under all conditions.

For aircraft predating X-Plane 10.04, shadow mode is defaulted to “all”, for the most correct (but least optimized) shadows.

This option is not available for “glass” objects because they do not cast shadows.

Pre-Fill Object (X-Plane 10.04 and later)

Normally X-Plane draws the entire outside world before drawing the 3-d cockpit.  This ensures that translucency is handled correctly, and allows X-Plane to draw without depth buffer artifacts.

Unfortunately, this process can be very wasteful.  If an airliner is flying into clouds, perhaps half of the screen will be filled with clouds only then to be overdrawn with the panel.  The GPU work spent “filling” behind the panel with clouds is wasted.

This option tells X-Plane to mask out the clouds and other scenery drawing using this particular object when in the 3-d cockpit.  This will save a lot of fill rate on the GPU, at the cost of drawing the object twice (once before clouds to mask, then again after clouds to form the real cockpit).  A few guidelines as to when to use this option:

  • Only pre-fill objects that are totally opaque.  Translucent objects will cause errors when pre-filled.
  • Do use pre-fill when an object blocks a lot of the view from the cockpit.  For example, the interior cockpit shell makes a good pre-fill object.
  • Do not pre-fill when an object is expensive to draw, e.g. if it has a lot of animations.
  • Do not pre-fill objects that are typically off screen while flying, as that has no benefit.

Performance Tip: often the front object of an airplane will have cut-outs in the main panel for the glass displays of the cockpit object.  This means it doesn’t do as good of a job as it could to mask out clouds.  Rather than also pre-fill the cockpit object (which will typically have a ton of manipulators, animations, and other expensive stuff), simply put an extra quad behind the panel in the nose of the plane, to block out any sky leakage.  This one quad is cheap to draw but will help pre-fill a lot in views where the glass displays dominate the screen.

You can learn more about prefill here.

For aircraft predating X-Plane 10.04, pre-fill is defaulted to off, saving OBJ drawing time and avoiding artifacts, at the cost of an optimization overlooked.

Use LOD (X-Plane 10.04 and later)

X-Plane 9 ignored the final LOD directive on airplane-attached objects, drawing objects to arbitrary distances.  Sometimes this is desirable (particularly for wings and other large features) but it also means that an AI airplane drawn far away still draws all of its attached objects, no matter how small.

Enabling “use LOD” causes the LOD directive of the airplane attached objects to work just like scenery objects: after the final LOD distance, the object is not drawn at all, saving bus bandwidth, CPU time, and vertex count.

Enable this option (and define a particular low LOD) for objects that won’t be missed from far away.  For example, the interior seats of an airliner aren’t visible from far away through the airliner windows, and can be removed using LOD.

For aircraft pre-dating X-Plane 10.04, LOD is disabled to match X-Plane 9 behaviors.

Dim LIT (X-Plane 10.10 and later)

X-Plane 10 features “dynamic exposure”: during the day, the brightness of LIT textures is reduced to simulate the effect of the sun outshining artificial light.  Dynamic exposure is automatic for scenery, but for aircraft, you must enable the feature using the “Dim LIT” check-box.

Enable this option for any source of light that would be diminished or harder to see during the day time.  Dim LIT is usually a good idea for all lights on the airplane exterior and also for baked light in an airplane cabin.

Disable this feature for lights that must be fully visible even during the day.  For example, if your landing gear indicators are implemented via a lit texture, do not check Dim LIT; if you did enable Dim LIT then they would be hard to see during the day.

Kill Dataref

You can specify a dataref that, when it has a non-zero value, disables an attached object from being drawn.  This feature is provided to let authors of complex custom aircraft optimize performance.  See this article for details.

Special Handling for the Cockpit Object

The “cockpit object” (the object named by the ACF plus _cockpit) normally acts like an “interior” object; a check-box will give it glass behavior.  However, we recommend that you use separate objects for glass.  The cockpit object is always resolution-boosted; therefore its texture should be minimized.

In X-Plane 10.10 the cockpit object features all options of the other attached objects except for resolution boost (which is always enabled.)

Note that in X-Plane 10.10 you can use the panel texture from any attached object. Therefore you can make the cockpit object non-glass and an attached texture glass and use the panel texture from both.

  • Facebook
  • Reddit
  • StumbleUpon
  • Twitter
  • Google Buzz
  • LinkedIn