How to create the MeshParams xml file
Just create an empty text file (which has the extension ".txt" by default) and change its extension by renaming it {ItemName}.MeshParams.xml
(for example: Slope_Base.MeshParams.xml
).
Open this file in your favorite text editor (for example: Notepad++), and copy-paste the following template:
<MeshParams MeshType="Static" Collection="Stadium" Scale="1" FbxFile="ItemName.fbx">
<Materials>
<Material Name="A" Link="Name1FromTheMaterialLib" Color="F00" PhysicsId="Name1FromThePhysicsIdLib" GameplayId="Name1FromTheGameplayIdLib" />
<Material Name="B" Link="Name2FromTheMaterialLib" Color="F00" PhysicsId="Name2FromThePhysicsIdLib" GameplayId="Name2FromTheGameplayIdLib" />
</Materials>
</MeshParams>
Then adapt it to your situation, according to the following explanations:
MeshParams
tag is mandatory- attributes:
MeshType
is mandatory and should not be changed ("Static")Collection
is mandatory and should not be changed ("Stadium")Scale
is facultative. You can set a value greater than 1 to make your item bigger, or less than 1 to make it smaller. But you should not set it to 0 or a negative value.FbxFile
is facultative. If this attribute is omitted, then the fbx file is supposed to be next to this xml file, with the same name (but a different extension: .fbx). If the fbx file has a different name or is in a different folder though, you have to put its relative path in this attribute.
- sub-tags:
Materials
tag is mandatory, because your mesh is supposed to have materials, that we have to link to the game material library at some point- sub-tags:
Material
: You should put one Material tag for each material contained in your fbx file- attributes:
Name
: the name of the material in the fbx file, that you have chosen when making your model in the 3d software you have used (Blender, 3ds Max...)Link
: the name of a material of Trackmania material library. The list of library materials can be found in{Trackmania_exe_dir}\NadeoImporterMaterialLib.txt
, which was placed next toNadeoImporter.exe
when you unzipped the importer files (see section Download and install)Color
: facultative. If the linked material is a colorizable one, you can specify the color you want with a 3-digit or 6-digit hexadecimal color code (RGB or RRGGBB). For instance: F00 or FF0000 for red, 0F0 or 00FF00 for green, 00F or 0000FF for blue, FF0 or FFFF00 for yellow, etc.PhysicsId
: facultative (and not recommended). Overrides the way the cars will interact physically with the surface. You should not overuse this feature because it is usually a bad idea (for gameplay and fun) to have a surface looking like grass but behaving like dirt. You can find the list of possible values in thePhysicsId library
below.GameplayId
: facultative. Setting a value different thanNone
will add a special gameplay effect to the surface, like activating free wheeling or slow motion modes. Some of those gameplay effects such asTurbo
orReactorBoost
are "oriented": the direction of this effect is automatically the local z-axis of the item. You can find the list of possible values in theGameplayId library
below. This option is available only for specific values of theLink
attribute: seeMaterials compatible with GameplayId
below.
You should get something like this:
<MeshParams MeshType="Static" Collection="Stadium">
<Materials>
<Material Name="Road1" Link="RoadDirt" />
<Material Name="Road2" Link="RoadBump" />
<Material Name="Wall" Link="TrackWall" />
</Materials>
</MeshParams>
PhysicsId library
Here is the list of all PhysicsId
in the game.
Each one has a different effect on car grip and speed (it also affects sound and skid marks).
Each material has a default PhysicsId
that you can see in {Trackmania_exe_dir}\NadeoImporterMaterialLib.txt
, next to NadeoImporter.exe
(see section Download and install).
You can override this default behavior with the PhysicsId
attribute of the Material
tag, but it is not recommended (see the description of this attribute above).
Asphalt
: the actual base material of TrackMania, used on every normal road and platformsConcrete
: "base" material, but not used for base roads in TM !Dirt
: used in dirt blocksGrass
: used in the default grass of the stadium (not to be mistaken with Green surfaces) and as a speed penalty surfaceGreen
: used in synthetic grass platforms (not to be mistaken with Grass surfaces)Ice
: used in the colorable CustomIce materialMetal
: used in black platform blocksMetalTrans
: mostly used on screensNotCollidable
: used for decals, to... not be collidable. But instead of using this PhysicsId, you should rather use the_notcollidable_
prefix in your fbx objects, as described in section How to create the fbx file.Pavement
: used in the colorable CustomBricks materialPlastic
: used in inflatable items introduced in June 2021 updateResonantMetal
: also used in black platform blocks, usually makes a noise on collisionRoadIce
: used in "bobsleigh" ice blocksRoadSynthetic
: used in bump roadsRock
: used in colorable CustomRock materialRubber
: used on the sides of the roads, gives speed penalty when hitSand
: used as a speed penalty surface in dirt platform blocksSnow
: used in colorable CustomSnow material and as a speed penalty surfaceTechMagnetic
: not used in any game material, makes the car attracted to that surfaceTechMagneticAccel
: not used in any game material, makes the car attracted to that surface and gives it a better acceleration while on itTechSuperMagnetic
: not used in any game material, makes the car attracted strongly to that surfaceWood
: used in colorable CustomRoughWood material
GameplayId library
Here are the values you can use for the GameplayId
attribute of the Material
tag:
Bumper
: makes the car bump a bitBumper2
: makes the car bump a lotCruise
: makes the car maintain its speedForceAcceleration
: disables breaking until next Reset block or next checkpointFragile
: makes the car sensitive to hard bumps and crashes, making it harder to handle and accelerate the more damages it takes. Only gets back to normal with a Reset BlockFreeWheeling
: entirely stops the engine until next Reset block or next checkpointNoBrakes
: disables the car brakesNoGrip
: comparable to ice, but way less handling and no drift mechanic until next Reset block or next checkpointNone
: no gameplay effect (this is the default value for all game materials)NoSteering
: disables steering until next Reset block or next checkpointReactorBoost
: activates flames at the sides of the wheels that push the car upwards or downwards for some time or until next Reset block (direction of ReactorBoost is along Z-axis: towards positive Z is ReactorBoost Up and towards negative is ReactorBoost Down)ReactorBoost2
: same effect asReactorBoost
, but strongerReset
: disables any ongoing gameplay effectsSlowMotion
: slows down the behaviour of the car (but not the timer) for some time or until next Reset blockTurbo
: "yellow turbo" blocks, sudden burst of acceleration (direction of Turbo is North / along Z-axis)Turbo2
: "red turbo" blocks, stronger burst of acceleration (direction of Turbo2 is North / along the Z-axis)
Materials compatible with GameplayId
Here are the values of attribute Link
that enable the use of attribute GameplayId
:
PlatformDirt_PlatformTech
PlatformGrass_PlatformTech
PlatformIce_PlatformTech
PlatformTech
RoadBump
RoadDirt
RoadIce
RoadTech