Skip to content

Making alternate skins

This page serves as an overview page on how to create and modify custom skins.

Step-by-step guide

Step 1 - GUID

Skins are matched against vehicles via GUID (Globally-Unique-IDentifier).

Make sure the vehicle you want to skin has one: Truck file format - GUID

Ideally, all vehicles should have one. You might need to regen the cache, so the GUID will be in the cache as well.

It is recommended to generate a GUID using this site.

Step 2 - the .skin file

Create a file named "MySkinName.skin" (replace MySkinName with any string without spaces) with the following content:

Sarens Skin for Sennebogen 5500
{
    replaceTexture   = blansjaar41.jpg, blansjaar41_sarens.jpg
    preview          = 9c15cccf8a8dca392b84b7b778e3517139cef287.png
    description      = sarens skin for the sennebogen 5500
    authorName       = Rotexx
    AuthorID         = 39570
    GUID             = 90670430-695d-467b-8c91-dcb67a42633c
}

this skin was made by Rotexx whose Author ID is 39570. The preview image for the skin is 9c15cccf8a8dca392b84b7b778e3517139cef287.png.

There are 2 ways how to replace the original vehicle graphics with yours:

  • Image substitution - The simple one, you name an existing texture file and a replacement file. In this example, 'blansjaar41.jpg' is replaced with 'blansjaar41_sarens.jpg'. This only works with managedmaterials.

  • Material substitution - More complex, you need to know the .material file format of OGRE3D engine. For an example, see the "antonov" tutorial below. The principle is the same - you name the original material and then the new, replacement material.

Step 3 - the package

Put all the files into a zip archive named "sarens.skinzip" and put that into the packs folder (NOT .skinzip.zip, just .skinzip). The .skinzip is important, as it will force RoR to always load this zip to parse the skin information from it.

Step 4 - the game

Start the game and select the truck, it should have a valid GUID in the selection menu. When pressing enter, the skin selection GUI will be displayed.

Skin file reference

Sarens Skin for Sennebogen 5500
{
    // this is a comment line, it is ignored when parsing. It always starts with //
    // replaceTexture = <original_texture.png> <skin_texture.png>
    replaceTexture   = blansjaar41.jpg, blansjaar41_sarens.jpg
    replaceTexture   = blansjaarkleur.jpg, blansjaarkleur_sarens.jpg
    replaceTexture   = blansjaarlogo5500.jpg, blansjaarlogo5500_sarens.jpg
    // preview = <preview_image.png>
    preview          = 9c15cccf8a8dca392b84b7b778e3517139cef287.png
    // description = text that will show in the selectionWindow
    description      = sarens skin for the sennebogen 5500
    // AuthorName = <author name, no special characters>
    authorName       = Rotexx
    // AuthorID = <forum ID of the author>
    AuthorID         = 39570
    // GUID = <of the truck to which this skin fits>
    GUID             = 90670430-695d-467b-8c91-dcb67a42633c
}

replaceTexture - Defines the texture replacements, its first argument is the original texture name, the second argument is the texture name of the skin. Please note that those must be different, or you will get a file collision. You can use this line as much as you like. As noted earlier, this only works with managedmaterials.

preview - The "mini" image that will appear on the skin selector window.

description - A short description of the skin.

authorName - Your username.

AuthorID - Your forum ID. To get your ID, view your forum profile and check the number shown in the URL. For example:

https://forum.rigsofrods.org/members/curiousmike.5831/

5831 would be the ID.

GUID - The GUID that matches the GUID in the .truck file. See Step 1 - GUID.

Replacing OGRE Materials (.material)

If your vehicle uses a .material file for its textures, you will have to use replaceMaterial instead of replaceTexture.

So for an example we will just do this now for the an-12.airplane.

antonov-thumb

Step 1 - The material

Copy the existing material file (5822UID-an-12.material) and change the material and texture name(s), like so:

material 5822UID-tracks/An12-Green
{
    technique
    {
        pass
        {
            scene_blend alpha_blend
            alpha_rejection greater 128 
            texture_unit
            {
                texture 5822UID-an-12-green.dds
            }
        }
    }
}

Step 2 - The .skin file

To find out the original material name, open the An-12's zip file, open the .airplane file then find the globals section and note down the third argument: 5822UID-tracks/An12

Then create a simple .skin file to describe the skin:

Antonov 12 - Green Skin
{
    // The substitution: old material name, new material name
    replaceMaterial = 5822UID-tracks/An12, 5822UID-tracks/An12-Green
    // Preview image. Should be at least 256x256 pixels.
    preview          = an-12-green-skin-mini.png
    // Short description
    description      = Green skin for the An-12
    // Name of the author, optional
    AuthorName = Yourname
    // Forum ID of the author, optional
    AuthorID = 1
    // GUID (globally unique identifier), REQUIRED!
    GUID = ...GUID, see above...
}

This will replace the old material name (take the names from step 1) with the new material (from step 3)
If you want to replace more than one materials (for example for the props or anything else, just add lines with the correct format.

Step 3 - Packaging

Like above - package your skin files to .skinzip, and enjoy it ingame!

More examples

An example skin that replaces materials: 1982 DI Sportster Scheme: HotWheels Challenge

HotWheels Challenge Livery
{
    replaceTexture   = SportsCarUV.png, SportsCarUV_HWChallenge.png
    replaceTexture   = 308Wheel.png, 308Wheel_HWChallenge.png
    replaceTexture   = 308Wheel_S.png, 308Wheel_HWChallenge_S.png
    replaceTexture   = SportsCarMudflaps.png, SportsCarMudflaps_HWChallenge.png
    replaceTexture   = RallyLightsUV.png, RallyLightsUV_HWChallenge.png
    replaceTexture   = Sports_Wing_Red.png, Sports_Wing_HWChallenge.png
    replaceTexture   = SportsLeather.png, SportsLeather_Black.png
    replaceTexture   = SportsPlastic.png, SportsPlastic_HWChallenge.png
    replaceTexture   = PlasticSpec.png, PlasticSpec_HWChallenge.png
    replaceMaterial  = Sports_Speedo, Sports_Speedo_HW
    replaceMaterial  = Sports_Oil, Sports_Oil_HW
    replaceMaterial  = Sports_Glow_Blue, Sports_Glow_HW
    replaceMaterial  = Sports_Tacho, Sports_Tacho_HW
    replaceMaterial  = Sports_Needle, Sports_Needle_HW
    preview          = HotWheels_Challenge_Mini.png
    description      = HotWheels Challenge Scheme (Based on a particularly hot Ferrari 360 Modena...)
    authorName       = ShawnVallance
    AuthorID         = 5201995
    GUID             = DI_SPORTSCAR_GUID

}