3D - General information

From Mashinky
Jump to: navigation, search

Mashinky engine uses *.x (DirectX mesh) format. It is native format for DirectX applications, fast, variable, 3 versions (text, binary, binary compressed). It supports multiple animations, adding meta data etc.

Mashinky vanilla models are stored in DriveLetter:\SteamAppsPath\Mashinky\media\model\. You can preview them using appropriate .x viewer. See Tools & Resources for more information.

Vehicles in the game use two versions of one model. First is the detailed model a player can see in the realistic mode and second is used for LOD (Level Of Detail). That refers to a model that loads when viewed from far away or in building mode. LODs have significantly less details.

Detailed/realistic models are often sepparated into parts that are animated in the game ie. train tenders, bogies, animated road vehicle wheels etc. See the game files for examples.

Model complexity is determined by it's triangle (tris) count. Vanilla models adhere to a certain limit set for each type of 3d asset. While it is possible to import model with highter tri count, keep in mind that there can be many such objects loaded at the same time and all together can cause performance issues

Example tri counts:

  • Train car -- 1k - 3k
  • Train engine -- 5k - 10k
  • Buildings -- 1k - 3k
  • Road Vehicles -- 3k - 10k
  • Vehicle LODs -- <200

Of course the tri count depents on the complexity of its real life counterpart. Also, keep in mind that cargo vehicles need to include the cargo model itself.

In order to make various model features work, you need to make use of Vertex Paint. To learn more about Vertex paint, please refer to Vertex paint

An excerpt from ingame mod readme file and other notes:

  • Name of your asset should be unique unless you want to overwrite existing one
  • Also name of your textures should be unique unless overwriting some existing in other mods or basic game content
  • Name of LOD asset needs to end with '0'
  • Name of closeup asset needs to end with '1' or '2' if animated
  • Animated skinned mesh should have just one container, but multiple bones
  • In game scale for vehicles is about 1/16
  • In 3DS Max, let's have grid 14 by 14 pieces, each sized 100 'units', then a Porter train engines height is 350 'units' and the railway width (gauge) is 125 'units'