Documentation/Engine/Units/accessory interior data

From SCS Modding Wiki
Jump to navigation Jump to search

The accessory_interior_data unit class is used to define the interior and its animations for the player's vehicle. Units of this type are usually defined in /def/vehicle/truck/<brand.model>/interior/*.sii, making heavy use of includes via:

  • /def/vehicle/truck/<brand.model>/interior/animations.sui (animation-related attributes; animations_uk.sii for RHD vehicles in ETS2)
  • /def/vehicle/truck/<brand.model>/interior/dashboard_color.sii (dashboard_color array attribute)
  • /def/vehicle/truck/<brand.model>/interior/seat.sui (seat adjustment limits; seat_uk.sui for RHD vehicles in ETS2)

Attributes

Many common attributes are inherited from accessory_data.

Name Type Default Value Description
model string Path to the descriptor (.pmd) for the rigid interior model.
animated_model string Path to the descriptor (.pmd) for the animated interior model.
collision string Path to the interior collision model (.pmc). This is used for toy physics.
variant token default Name of the variant to be used for this interior models and collision.
look token default Name of the look to be used for this interior models.
ext_model string Path to the descriptor (.pmd) for the exterior model (the interior visible from outside cameras).
ext_variant token default Name of the variant to be used on the exterior model.
ext_look token default Name of the look to be used on the exterior model.
animation attributes string / float There are currently nearly 70 interior animation attributes, plus _min and _max attributes for some with adjustable ranges. Interior animations are typically defined externally in animations.sui and included into the interior definition.
wiper_delay array<float> Each member defines a delay in seconds between wipe cycles for intermittent wipers. They should generally be in decreasing order because the last wiper mode is continuous. If empty then only continuous mode is available.
blinker_delay float 0.5 The length of half of the blinker cycle in seconds. The blinker is on for this length of time, and then off for this length of time, etc. Typically included via animations.sui.
dashboard_path string Path to the UI definition for the dashboard display.
gps_path string Path to the UI definition for the GPS display.
use_mile_units bool false When true, distances and speeds on the dashboard will use mile units instead of kilometers.
left_hand_traffic bool false When true, the vehicle uses right-hand drive (UK) conventions.
backlight_with_lights bool true When false, the dashboard backlight is always on with the ignition. Otherwise, the backlight is activated with the headlights as normal.
air_brake_safeguard bool false When true, the parking brake is automatically applied when the supply air drops below a certain threshold (typical US behavior).
panel_intensity_min float 0.01 The minimum backlight intensity.
panel_intensity_max float 0.3 The maximum backlight intensity.
glass_panes array<owner_ptr> Each member points to the unit name of a glass_pane_data unit.
dashboard colors array<float3> An array of 16 colors which define the illumination color of dashboard and other dif.lum surfaces in the interior based on the tile they are UV mapped to. Typically included via dashboard_color.sui.
seat_left_limit float -0.15 Maximum distance the interior camera can be moved left. Typically included via seat.sui.
seat_right_limit float 0.15 Maximum distance the interior camera can be moved right. Typically included via seat.sui.
seat_up_limit float 0.15 Maximum distance the interior camera can be moved up. Typically included via seat.sui.
seat_down_limit float -0.15 Maximum distance the interior camera can be moved down. Typically included via seat.sui.
seat_front_limit float -0.1 Maximum distance the interior camera can be moved forward. Typically included via seat.sui.
seat_back_limit float 0.2 Maximum distance the interior camera can be moved backward. Typically included via seat.sui.

Glass Panes and Wipers

Related units, glass_pane_data and wiper_data are defined within the same SiiNunit scope as accessory_interior_data, included via /def/vehicle/truck/<brand.model>/interior/glass.sui (or glass.dat in some legacy cases):

  • glass_pane_data (Used to define surfaces for raindrop accumulation and wiper simulation)
  • wiper_data (Used to define wipers that wipe drops from glass panes)

For example:

SiiNunit
{	// start of SiiNunit global scope

accessory_interior_data : something.brand.truck.interior
{	// start of accessory_interior_data unit

	// various attributes belonging to accessory_interior_data

	// each member refers to a unit included via glass.sui
	glass_panes[]: .brand.truck.pane.front
	glass_panes[]: .brand.truck.pane.close
	glass_panes[]: .brand.truck.pane.far
	// etc...

}	// end of accessory_interior_data scope

@include "glass.sui"	// file containing glass_pane_data and wiper_data units

}	// end of SiiNunit global scope