User Tools

Site Tools

Urban Games

modding:vehicletypes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
modding:vehicletypes [2020/06/08 18:03]
yoshi [Metadata]
modding:vehicletypes [2020/09/05 15:23]
yoshi [Vehicle Types]
Line 2: Line 2:
 Vehicle models in Transport Fever 2 are bound to one of the means of transportation road, rail, water or air. The distinction between the types of vehicles is achieved by specialized metadata entries in the ''.mdl''-files for each type. Vehicle models in Transport Fever 2 are bound to one of the means of transportation road, rail, water or air. The distinction between the types of vehicles is achieved by specialized metadata entries in the ''.mdl''-files for each type.
  
 +
 +<div tip 100%>
 +In the sections below, there are some identifiers that are used frequently:
 +  * **mesh id** is a number that is equivalent to the index of the mesh in the model node tree. Use the <span btn>MODEL</span> button in the [[modding:modeleditor#model_tree|Model Editor]] to find out the correct number in the **ID** column.
 +  * **.msh reference** is a path to a mesh file relative to ''res/models/mesh/'' including the ''.msh'' file ending. The correct reference is listed on the right side of the model node tree in the Model Editor too. 
 +</div>
 ===== Road Vehicles ===== ===== Road Vehicles =====
 Road vehicles are bound to the street network built by the game or the player. They can drive along streets as well as on construction lanes of the right type in stations, depots and similar constructions. Road vehicles are bound to the street network built by the game or the player. They can drive along streets as well as on construction lanes of the right type in stations, depots and similar constructions.
Line 8: Line 14:
   * ''/vehicle/bus''   * ''/vehicle/bus''
   * ''/vehicle/car''   * ''/vehicle/car''
-  * ''/vehicle/tram'' 
   * ''/vehicle/truck''   * ''/vehicle/truck''
 +
 +For trams, see rail vehicles below.
  
 ==== Metadata ==== ==== Metadata ====
Line 52: Line 59:
 Beside the lights, there are further config properties that are used for steering and wheels: Beside the lights, there are further config properties that are used for steering and wheels:
   * ''axles'' is a list of ''.msh'' references pointing to the meshes which are axles that only rotate around the y axis while the vehicle is moving. This is usually used for rear axles.   * ''axles'' is a list of ''.msh'' references pointing to the meshes which are axles that only rotate around the y axis while the vehicle is moving. This is usually used for rear axles.
-  * ''fakeBogies'' is a list of [[:modding:vehicleadvanced#fakebogies|fake bogie]] definitions. Usually road vehicles have at least one positioned approximately in the middle between the steering axis and the first back axis. +  * ''fakeBogies'' is a list of [[modding:vehicleadvancedtopics#fakebogies|fake bogie]] definitions. Usually road vehicles have at least one positioned approximately in the middle between the steering axis and the first back axis. 
   * ''steeringParts'' is a list of mesh ids that are rotating around z axis when the vehicle turns around curves.   * ''steeringParts'' is a list of mesh ids that are rotating around z axis when the vehicle turns around curves.
   * ''wheels'' is a list of ''.msh'' references pointing to the meshes that represent wheels which rotate around z axis in curves and around y axis while the vehicle is rolling. This is usually used for front wheels.   * ''wheels'' is a list of ''.msh'' references pointing to the meshes that represent wheels which rotate around z axis in curves and around y axis while the vehicle is rolling. This is usually used for front wheels.
Line 66: Line 73:
  
 The ''soundSet'' block contains the sound related properties: The ''soundSet'' block contains the sound related properties:
-  * ''name'' is a reference to a [[:modding:sounds#sound_sets|soundset]] file. The path is relative to ''res/config/sound_set/''.+  * ''name'' is a reference to a [[modding:soundsets#sound_sets|soundset]] file. The path is relative to ''res/config/sound_set/''.
   * ''openDoors'' is a reference to a custom door opening sound. If this is set, it overrides the ''openDoors'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.   * ''openDoors'' is a reference to a custom door opening sound. If this is set, it overrides the ''openDoors'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.
   * ''closeDoors'' is a reference to a custom door closing sound. If this is set, it overrides the ''closeDoors'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.   * ''closeDoors'' is a reference to a custom door closing sound. If this is set, it overrides the ''closeDoors'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.
Line 81: Line 88:
 </div> </div>
  
-Road vehicles support some [[:modding:general:fileformats:mdl#animations|animation events]]. They can be used in mesh nodes to support model aspects like opening doors:+Road vehicles support some [[modding:resourcetypes:mdl#animations|animation events]]. They can be used in mesh nodes to support model aspects like opening doors:
   * ''forever'' animation is used for roof ventilators or other elements that turn independently from the speed of the vehicle. It is looped forever and has no fixed length.   * ''forever'' animation is used for roof ventilators or other elements that turn independently from the speed of the vehicle. It is looped forever and has no fixed length.
   * ''drive'' animation is used for vehicle parts that move according to the current speed of the vehicle.     * ''drive'' animation is used for vehicle parts that move according to the current speed of the vehicle.  
Line 98: Line 105:
   * ''/vehicle/train'' for motorized rail vehicles   * ''/vehicle/train'' for motorized rail vehicles
   * ''/vehicle/wagon'' for unmotorized rail vehicles   * ''/vehicle/wagon'' for unmotorized rail vehicles
 +  * ''/vehicle/tram'' for trams.
 +
 +Although trams are defined with a ''railVehicle'' metadata block, they run on streets (with tram tracks) instead of train tracks.
  
 ==== Metadata ==== ==== Metadata ====
Line 132: Line 142:
 <span label>2</span> ''innerForwardParts'' is a list of mesh ids that should be only visible if the vehicle is not at the front or back of the whole train consist and driving forward\\ <span label>2</span> ''innerForwardParts'' is a list of mesh ids that should be only visible if the vehicle is not at the front or back of the whole train consist and driving forward\\
 <span label>3</span> ''backForwardParts'' is a list of mesh ids that should be only visible if the vehicle is at the back of the whole train consist and driving forward\\ <span label>3</span> ''backForwardParts'' is a list of mesh ids that should be only visible if the vehicle is at the back of the whole train consist and driving forward\\
-<span label>4</span> ''frontBackwardParts'' is a list of mesh ids that should be only visible if the vehicle is at the front of the whole train consist and driving backward (only if reversible) \\ +<span label>4</span> ''frontBackwardParts'' is a list of mesh ids that should be only visible if the vehicle is at the front of the whole train consist and driving backward (only if consist is reversible) \\ 
-<span label>5</span> ''innerBackwardParts'' is a list of mesh ids that should be only visible if the vehicle is not at the front or back of the whole train consist and driving backward (only if reversible)\\ +<span label>5</span> ''innerBackwardParts'' is a list of mesh ids that should be only visible if the vehicle is not at the front or back of the whole train consist and driving backward (only if consist is reversible)\\ 
-<span label>6</span> ''backBackwardParts'' is a list of mesh ids that should be only visible if the vehicle is at the back of the whole train consist and driving backward (only if reversible)\\+<span label>6</span> ''backBackwardParts'' is a list of mesh ids that should be only visible if the vehicle is at the back of the whole train consist and driving backward (only if consist is reversible)\\
 </div>  </div> 
  
Line 141: Line 151:
 Beside the lights, there are further config properties that are used for axles and the correct rotation of vehicle parts: Beside the lights, there are further config properties that are used for axles and the correct rotation of vehicle parts:
   * ''axles'' is a list of ''.msh'' references pointing to the meshes which are axles that rotate around the y axis while the vehicle is moving. This is usually used for any physical axles.   * ''axles'' is a list of ''.msh'' references pointing to the meshes which are axles that rotate around the y axis while the vehicle is moving. This is usually used for any physical axles.
-  * ''fakeBogies'' is a list of [[:modding:vehicleadvanced#fakebogies|fake bogie]] definitions. Train vehicles with jacobs bogies and other nested constellations might need these. +  * ''fakeBogies'' is a list of [[modding:vehicleadvancedtopics#fakebogies|fake bogie]] definitions. Train vehicles with jacobs bogies and other nested constellations might need these. 
  
 <div tip 100%> <div tip 100%>
Line 153: Line 163:
  
 The ''soundSet'' block contains the sound related properties: The ''soundSet'' block contains the sound related properties:
-  * ''name'' is a reference to a [[:modding:sounds#sound_sets|soundset]] file. The path is relative to ''res/config/sound_set/''.+  * ''name'' is a reference to a [[modding:soundsets#sound_sets|soundset]] file. The path is relative to ''res/config/sound_set/''.
   * ''openDoors'' is a reference to a custom door opening sound. If this is set, it overrides the ''openDoors'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.   * ''openDoors'' is a reference to a custom door opening sound. If this is set, it overrides the ''openDoors'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.
   * ''closeDoors'' is a reference to a custom door closing sound. If this is set, it overrides the ''closeDoors'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.   * ''closeDoors'' is a reference to a custom door closing sound. If this is set, it overrides the ''closeDoors'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.
Line 171: Line 181:
 </div> </div>
  
-Rail vehicles support some [[:modding:general:fileformats:mdl#animations|animation events]]. They can be used in mesh nodes to support model aspects like opening doors:+Rail vehicles support some [[modding:resourcetypes:mdl#animations|animation events]]. They can be used in mesh nodes to support model aspects like opening doors:
   * ''forever'' animation is used for roof ventilators or other elements that turn independently from the speed of the vehicle. It is looped forever and has no fixed length.   * ''forever'' animation is used for roof ventilators or other elements that turn independently from the speed of the vehicle. It is looped forever and has no fixed length.
   * ''drive'' animation is used for vehicle parts that move according to the current speed of the vehicle.   * ''drive'' animation is used for vehicle parts that move according to the current speed of the vehicle.
Line 182: Line 192:
   * ''close_doors_left'' is triggered before the vehicle leaves a station. It is only triggered for platforms on the left side.   * ''close_doors_left'' is triggered before the vehicle leaves a station. It is only triggered for platforms on the left side.
  
-See [[:modding:vehicleadvanced#animations|advanced vehicle animations]] for more details on animating wheels and doors.+See [[modding:vehicleadvancedtopics#animations|advanced vehicle animations]] for more details on animating wheels and doors.
  
 ==== Multiple Units ==== ==== Multiple Units ====
Line 208: Line 218:
     * ''name'' is a reference to the model file relative to ''res/models/model''.     * ''name'' is a reference to the model file relative to ''res/models/model''.
     * ''forward'' is a boolean value. If set to ''true'' the model is used as is, otherwise it is flipped by 180 degrees.     * ''forward'' is a boolean value. If set to ''true'' the model is used as is, otherwise it is flipped by 180 degrees.
-  * ''name'' is the name of the multiple unit that is used in the buy menu. It can be translated in a [[:modding:general:modcomponents#stringslua|strings.lua]] file.+  * ''name'' is the name of the multiple unit that is used in the buy menu. It can be translated in a [[modding:modcomponents#stringslua|strings.lua]] file.
   * ''desc'' is the description of the multiple unit used in the buy menu. It can be translated too. The technical data is calculated based on the single vehicles used in the multiple unit.   * ''desc'' is the description of the multiple unit used in the buy menu. It can be translated too. The technical data is calculated based on the single vehicles used in the multiple unit.
-  * ''groupFileName'' is an optional reference to another multiple unit or a model to define this multiple unit as a variant under the other multiple unit / model as main group. See the [[modding:vehicleadvanced#buy_menu_groups|buy menu group explanation]] for further details.+  * ''groupFileName'' is an optional reference to another multiple unit or a model to define this multiple unit as a variant under the other multiple unit / model as main group. See the [[modding:vehicleadvancedtopics#buy_menu_groups|buy menu group explanation]] for further details.
  
  
Line 290: Line 300:
   * The ''effects'' block is left empty for now.   * The ''effects'' block is left empty for now.
   * The ''soundSet'' block contains the known soundset related properties:   * The ''soundSet'' block contains the known soundset related properties:
-    * ''name'' is a reference to a [[:modding:sounds#sound_sets|soundset]] file. The path is relative to ''res/config/sound_set/''.+    * ''name'' is a reference to a [[modding:soundsets#sound_sets|soundset]] file. The path is relative to ''res/config/sound_set/''.
     * ''horn'' is a reference to a custom horn sound. If this is set, it overrides the ''horn'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.     * ''horn'' is a reference to a custom horn sound. If this is set, it overrides the ''horn'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.
  
Line 301: Line 311:
 </div> </div>
  
-Ships support some [[:modding:general:fileformats:mdl#animations|animation events]]. They can be used in mesh nodes to support model aspects like opening doors:+Ships support some [[modding:resourcetypes:mdl#animations|animation events]]. They can be used in mesh nodes to support model aspects like opening doors:
   * ''forever'' animation is used for continous animations like the radar beacons on ships.   * ''forever'' animation is used for continous animations like the radar beacons on ships.
   * ''drive'' animation is used for vehicle parts that move according to the current speed of the vehicle.     * ''drive'' animation is used for vehicle parts that move according to the current speed of the vehicle.  
Line 400: Line 410:
  
 For some purposes, other properties in the ''config'' block are available: For some purposes, other properties in the ''config'' block are available:
-  * ''fakeBogies'' is a list of [[:modding:vehicleadvanced#fakebogies|fake bogie]] definitions. Air vehicles with complicated axle and wheel constellations might need these. +  * ''fakeBogies'' is a list of [[modding:vehicleadvancedtopics#fakebogies|fake bogie]] definitions. Air vehicles with complicated axle and wheel constellations might need these. 
   * ''steeringParts'' is a list of mesh ids that are rotating around z axis when the vehicle turns around curves.   * ''steeringParts'' is a list of mesh ids that are rotating around z axis when the vehicle turns around curves.
  
Line 429: Line 439:
   * The ''effects'' block is left empty for now.   * The ''effects'' block is left empty for now.
   * The ''soundSet'' block contains the known soundset related properties:   * The ''soundSet'' block contains the known soundset related properties:
-    * ''name'' is a reference to a [[:modding:sounds#vehicles|soundset]] file. The path is relative to ''res/config/sound_set/''.+    * ''name'' is a reference to a [[modding:soundsets#vehicles|soundset]] file. The path is relative to ''res/config/sound_set/''.
     * ''sonicBoom'' is a reference to a custom sonic boom sound. If this is set, it overrides the ''horn'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.     * ''sonicBoom'' is a reference to a custom sonic boom sound. If this is set, it overrides the ''horn'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.
     * ''land'' is a reference to a custom landing sound. If this is set, it overrides the ''horn'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.     * ''land'' is a reference to a custom landing sound. If this is set, it overrides the ''horn'' event reference in the soundset above. The path is relative to ''res/audio/effects/''.
Line 441: Line 451:
 </div> </div>
  
-Planes support some [[:modding:general:fileformats:mdl#animations|animation events]]. They can be used in mesh nodes to support model aspects like opening doors:+Planes support some [[modding:resourcetypes:mdl#animations|animation events]]. They can be used in mesh nodes to support model aspects like opening doors:
   * ''forever'' animation is used for elements that turn independently from the speed of the vehicle. It is looped forever and has no fixed length.   * ''forever'' animation is used for elements that turn independently from the speed of the vehicle. It is looped forever and has no fixed length.
   * ''drive'' animation is used for vehicle parts that move according to the current speed of the vehicle.     * ''drive'' animation is used for vehicle parts that move according to the current speed of the vehicle.  
Line 455: Line 465:
 \\ \\
  
-<div page_prev>[[::modding:vehicles|Vehicle Modding]]</div> +<div page_prev>[[:modding:vehiclebasics|Vehicle Basics]]</div> 
-<div page_next>[[::modding:vehicleadvanced|Vehicle Advanced Topics]]</div>+<div page_next>[[modding:vehicleadvancedtopics|Vehicle Advanced Topics]]</div>
modding/vehicletypes.txt · Last modified: 2024/04/10 15:31 by yoshi