For the tutorial, I'll be using this concrete texture from AmbientCG. Download the 1K version, it will be more than enough.
I'll also be using Affinity Studio to create the needed textures. It's a free vector and raster editing software for Windows and Mac.
I'm also going to assume you have a basic knowledge of image editing and different PBR image/map types.
First, create a new asset and add these parameters in the config file.
kind "groundtexture"
username "Concrete" (this can be anything)
trainz-build X.X (check here for the number to use)
category-class "GS"
Then add the following:
texture-variants
{
0
{
diffuse-texture "albedo.texture"
normal-texture "normal.texture"
parameters-texture "parameter.texture"
}
}
thumbnails
{
0
{
image "thumbnail.jpg"
width 240
height 180
}
}
Save and close the config file. We're done with it.
Copy the color map into the asset folder and rename it "albedo.jpg"
Open the NormalDX image. Open the displacement map on top of it. Make sure they're both centered and that the displacement map is on top. Right click the displacement map in the layers panel and click "Rasterize to Mask". This will make sure that the displacement map is used for the alpha channel.
The result should look like this:
Save the image as a PNG as "normal.png" and copy it into the asset folder.
Next, open the ambient occlusion map as a new image. Create two new layers and fill them with pure green (#00FF00) and pure blue (#0000FF). Make sure the blue is on top and is set to "Lighten". Rasterize the AO layer as a mask and than drag it into the blue layer.
The result should look like this:
Save the file as "parameter.png" and copy it into the asset folder.
Next, you need to create three files.
albedo.texture.txt
normal.texture.txt
parameter.texture.txt
Inside albedo, copy this:
Primary=albedo.jpg
Tile=st
Inside normal, copy this:
Primary=normal.png
Alpha=normal.png
Tile=st
Inside parameter, copy this:
Primary=parameter.png
Alpha=parameter.png
Tile=st
Almost done. To create a basic thumbnail, you can open the albedo texture in MSPaint or similar and save a new image that's 240px wide by 180px tall and name it "thumbnail.jpg".
Now just submit the changes to the asset and try it out in game.
Optionally, you can also add a greyscale detail texture to make the tiling less noticeable. That will be in another tutorial.