Material Types
Materials describe how a modelled surface will appear in the game. They specify a range of configurations and resources including classic material properties, textures and shaders. Each Material is an instance of a particular preset Material Type, from the selection described on this page.
This page describes content format v4.6.
Contents |
Material Naming
A material name consists of a creator-supplied given name and a material type suffix. The material type is one of a set of supported types defined below, eg. 'm.onetex'. All material types begin with 'm.' The material type is manually appended to the name of the material within the creation program eg. Autodesk 3ds Max, it is not implied by the configuration of the material. Material type names in Trainz are not case sensitive.
For more info about configuring materials see Exporting with 3D Studio Max.
Material Examples
Download example assets below and drop them into Trainz to see what effect can be created using the Materials listed below:
- Rust - Download Asset. View the tutorial video for this asset HERE - Paint - Download Asset. View the tutorial video for this asset HERE - Creating Specular Maps - Download Asset. View the tutorial video for this asset HERE
Material Types
Trainz uses a Metallic/Roughness style PBR workflow. All materials are expressed in these terms, or (in the case of legacy materials) are converted into these terms using a best-effort approximation. PBR and the Metallic/Roughness workflow are discussed in great detail online, with a number of freely available presentations and demonstrations ranging from beginner material to advanced math. It is recommended that content creators read up on the subject before attempting to configure Trainz materials.
m.pbrmetal
m.pbrmetal is a generic opaque PBR material. This should be considered the starting point for any Trainz content creation which has no special needs.
m.pbrmetalmasked
m.pbrmetalmasked gives identical results to m.pbrmetal but adds masked opacity support.
m.pbrmetaldetail
m.pbrmetaldetail gives identical results to m.pbrmetal but adds support for a detail map.
m.notex
This is a legacy material, and should only be used where compatibility with older versions of Trainz is required.
m.notex is a non-textured material.
Opacity = Uniform opacity can be controlled in the material settings.
Full details here: m.notex
m.onetex
This is a legacy material, and should only be used where compatibility with older versions of Trainz is required.
m.onetex is a diffuse texture mapped material.
Opacity = Per-texel opacity can be controlled via the diffuse texture's alpha channel.
Full details here: m.onetex
m.reflect
This is a legacy material, and should only be used where compatibility with older versions of Trainz is required.
m.reflect is a reflective material.
Full details here: m.reflect
m.gloss
This is a legacy material, and should only be used where compatibility with older versions of Trainz is required.
m.gloss is a glossy reflective material.
Opacity = Uniform opacity can be controlled in the material settings.
Full details here: m.gloss
m.tbumptex
This is a legacy material, and should only be used where compatibility with older versions of Trainz is required.
m.tbumptex is a bump mapped material.
Opacity = Per-texel opacity can be controlled via the diffuse texture's alpha channel.
Specular = Per-texel specular strength can be controlled via the normal texture's alpha channel.
Full details here: m.tbumptex
m.tbumpgloss
This is a legacy material, and should only be used where compatibility with older versions of Trainz is required.
m.tbumpgloss is a bump mapped reflective material.
View the tutorial video on tbumpgloss HERE and download an example asset HERE to drop into Trainz to see what effect can be created using this material. The example asset is a "rust" type material.
Opacity = Uniform opacity can be controlled in the material settings.
Specular = Per-texel specular strength can be controlled via the normal texture's alpha channel.
Reflection = Per-texel blend strength of the reflection can be controlled via the diffuse texture's alpha channel.
Full details here: m.tbumpgloss
m.tbumpenv
This is a legacy material, and should only be used where compatibility with older versions of Trainz is required.
m.tbumpenv is a bump mapped environment reflective material. In current versions of Trainz this is the preferred material for most models lit by world lighting, unless a particular effect is desired. Exceptions include tunnels and interiors.
View the tutorial video on tbumpenv HERE and download an example asset HERE to drop into Trainz to see what effect can be created using this material. The example asset is a "paint" type material.
Opacity = Uniform opacity can be controlled in the material settings.
Specular = Per-texel specular strength can be controlled via the normal texture's alpha channel.
Reflection = Per-texel blend strength of the environment map can be controlled via the diffuse texture's alpha channel.
Full details here: m.tbumpenv