Sunteți pe pagina 1din 28

2016

ATS map modding guide


ONE BIG MANUAL TO CREATE YOUR IDEAS
NICO

Rev 1
Inhoud
Introduction............................................................................................................................................. 2
Getting started ........................................................................................................................................ 3
How to setup your game ......................................................................................................................... 4
Creating an .scs archive ....................................................................................................................... 4
How to open the map editor ................................................................................................................... 5
The map editor ........................................................................................................................................ 5
Mapping functions. ............................................................................................................................. 7
How to use the map editor ..................................................................................................................... 8
Placing roads ....................................................................................................................................... 8
Intersections ...................................................................................................................................... 10
Adjusting properties .......................................................................................................................... 11
Road items ..................................................................................................................................... 11
Prefab items .................................................................................................................................. 14
How to create details ............................................................................................................................ 16
Learning about models and buildings ............................................................................................... 16
How to use them? ......................................................................................................................... 16
Advance use of buildings and models ........................................................................................... 18
Creating your own map assets .............................................................................................................. 19
Understanding how models work ......................................................................................................... 19
Adding models to the game .................................................................................................................. 21
Editing a model ...................................................................................................................................... 21
Editing a PMD file .............................................................................................................................. 21
Editing a TOBJ file .............................................................................................................................. 23
Editing a MAT file .............................................................................................................................. 23
Editing a DDS file ............................................................................................................................... 23
Editing other assets data ....................................................................................................................... 24
Adding building items ........................................................................................................................ 24
Adding vegetation ............................................................................................................................. 24
Trees and bushes ........................................................................................................................... 24
Grass .............................................................................................................................................. 26
Adding movers................................................................................................................................... 26
Revision ................................................................................................................................................. 27
Introduction
Welcome to the map editing manual for ATS. This manual is based on ATS v1.4.3.2s but almost
everything described will also be relevant for ETS2. The manual contains all the information I have
gathered over the past five years modding in the ETS/GTS/ETS2/ATS community. The guide is ment
to be a living product. New content will be added, outdated content may be removed and new
chapters might be added upon request. The goal is to try and get one central document to use as a
reference for people who start modding. Of course, people who have been modding for a longer
period of time might profit from all the information as well.

I want to start off with a short introduction about myself. My name is Nico and for the last couple of
years I have been developing ProMods. When I started modding (and ProMods) there weren’t a lot
of good recourses around providing useful information. My goal is to have reduce the learning curve
of the map editor and try to give the much requested information all in one place. Everything is
written in English and I won’t translate it. There will probably be enough mistakes, since my native
language isn’t English. Please feel free to point them out and report to me.

During all those years I had the pleasure to work with a lot of different modders who all shared a bit
of their knowledge in order to create this big document. Credits go out to everyone who helped me
in the past. Hopefully I can now help others in the future. One big shout out is deserved for Crockett,
who create the BASIC MAP EDITING MANUAL for ETS a long time ago. Without this document I would
never have been able to start the slightest map. The document can still be found here.

Also since a couple of years, SCS has been providing extra information on a wiki. This modding wiki
can be found here: http://modding.scssoft.com/wiki/Main_Page. It will be used more through this
document.

I hope that this tutorial will help you, create the ideas you have. If you have any questions, requests,
feedback etc. join one of the discussions on the ProMods or SCS forum.

Nico
Getting started
To get started with modding isn’t that hard. If you just want to do some basic mapping without
saving you can skip this and go to the next chapter. If you want to create a bigger mapping project,
I’d advise to stick around here.

A lot of people assume that it’s needed to have an unpacked base.scs in order to map. This is wrong!
The map editor can still save without any issues when the base isn’t unpacked. What is important to
remember is where the game can read files and where the game will generate its output.

When using the map editor, the game will read every file placed in C:\Documents\American Truck
Simulator\mod. Be aware of this! The mod manager doesn’t work for the map editor.

The other thing to be aware of, is where the game will generate its output. This is the location where
the game is installed. For a Steam installation this is for example: C:\Program Files
(x86)\Steam\steamapps\common\American Truck Simulator. If you don’t have a steam installation,
it’s typically somewhere in the program files directory.

Now that we know the difference between those it’s important to add a directory in the installation
folder. This directory must be called base. In this directory there must be another one called map.
This will result in the following path: C:\Program Files (x86)\Steam\steamapps\common\American
Truck Simulator\base\map

In this map directory the map editor will save its sectors. Some people unpack their base on this
location. I would advise not to do this. When you are creating a map mod create a source directory
somewhere. In this source directory you create a couple of directory’s called wip, base and released.
In the wip directory you can keep all your content for the mod. If you keep this the same structure as
required for the game you can easily pack the wip folder in an .scs archive and use this in your game.
An example of this:

Unpacking the base.scs is not that hard either. Create a folder in which you want to extract the base
and place the base.scs in it. Then download the base extractor from here. Place the extractor in the
folder and drag the base.scs on the extractor application. A command prompt window will appear.
Don’t close this window. Once the unpacking is done it will close automatically.

Now that you have setup your directories it’s time to setup your game.
How to setup your game
When opening the game, you will have noticed that nowhere there is a button editor. This is because
per default the editor is disabled. In order to enable the editor, you have to edit the config.cfg file.
This can be found here: C:\Documents\American Truck Simulator\. This file can be opened by any
text editor. What you do next is try to find the following lines: uset g_developer "0" and uset
g_console “0". Now change those values into: uset g_developer "2" uset g_console "1". Developer
can also be set to 1 but it will generate limited feedback in the game log. My advice is to always use 2
when developing. Furthermore it might be useful to enable the uset g_minicon and the uset g_fps.
Both of them provide extra useful information to the modder.

Creating an .scs archive


Now that we have setup our game we can start. There is only one thing I still have to explain:
creating an scs archive. Creating one is very easy. An .scs archive is not much more than a .zip
archive. All you need is a program that can create zip archives. The one I have been using for a while
is WinRAR. Creating an archive is not that hard. What is harder is the content you have to put into
the file. What is important to remember is that the game works according to a file structure. For
example, all the files containing model data will have to be placed in def/world/model.sii. All the files
of the map have to be placed in the map directory. When you have your base extracted you will see
the logic of the paths that need to be made. Be aware that a lot of the files containing settings of the
game are located in the def.scs which has to be extracted separately.

For example in this case I’m going to pack my complete wip file:

As you can see I have selected all the files


and with the right mouse click opened the
dropdown menu. Here I will click on add to
archive. This will open a WinRAR window. In
here I specify the name of the file and the
extension, in this case .zip:

Now I press OK and the .scs file will be made. Place


this file in the mod directory and load the game.
How to open the map editor
Once you have setup your game correctly it’s time to open the editor of the game. Before starting
the game I advise to run the game in administrator mode all the time, just in case.

Once you have started the game you have to open the so called console. This
can be done by pressing the tilde key. This key is often found at the top left of
the keyboard next to the 1 key.

When the console appears you have to type “edit” to reach the editor. Typing
the name of the map file behind it would automatically open the map. So
when editing usa.mbd you can type “edit usa” to open the usa map in the editor.

In this example I will start with a clean project, thus only opening the editor by typing “edit”.

Now you have the map editor in front of you. The map editor contains a lot of different tools in order
to create a map. In the coming chapters those tools will be explained. Once all the different tools you
can use are explained I will start with placing a road.

The map editor


At first the map editor might look a bit complicated but if you open it regularly you will get used to it.
The top bars contain all the buttons you need to use in order to make a map. These functions can
also be approached with short keys; a list is available when you press F1.

The first row of buttons (file, edit etc.) are speaking for themselves and therefor I won’t explain
them. The less obvious buttons I will explain in a short list.
View

Under the button view are various options in which you can set the editor. Enabling collisions for
example will show all the collisions that the objects in the map have. Useful to know when debugging
for invisible walls.

Map

The button map contains various actions you can do with the map. Validating items is a function I
have never used. The validating connections is a useful tool in order to see where certain road types
cause errors. For example when a road isn’t properly connected the error that might happen will be
displayed here including the location of the problem.

Recompute map is a function in which the game revalidates every single item placed. On a large map
this procedure could take 30-60 minutes. During a recompute the editor checks every item for errors
and validates all company routes. After a recompute the game dumps all the errors found in the log.
This way you can easily check all the error that might be present in the map without having to fly
everywhere. Some errors won’t generate warnings when they are not rendered in the view!

The last function, run map, basically loads the map. Be aware that the map loaded is the map placed
in the mods folder!! Thus running the work you made has to be saved and packed first!

Tools

Under the button tools there are tools that help you map easier. The content browser (F2) is a
preview mode for all the assets currently in the mod.

You can use the content browser when you want to search a certain model/sign/road type etc.
Please be aware that the content browser could also cause game crashes, for instance with ProMods
combined the content browser acts quite unstable.

Another tool that the game provides are settings (F9). With this you can alter the environment
settings inside the editor. A useful tool if you want to see how your map looks like in the dark or in
the rain. I have often used it to debug raining tunnels or to check if streetlights lit the road network.
The last tool the map editor provides is item visibility. With this function you can set the visibility of
all the items that appear in the map editor. Right row hides the pin; left row hides the element itself.
Useful when areas of the map get too crowded and you need a way to reach the nodes more easily.

Help

The last button, help, provides some basic help to the user of the editor. Here you can get a list of all
the shortcuts and there is a link to the online documentation SCS provides.

Mapping functions.
The second row of the map editor provides a huge array of symbols, all having different functions to
alter or create your map.

In a short table I will try to explain as much of the functions as possible. It’s useful to know what
everything means before reading the next chapter in which we will start building our own map.

Symbol Shortcut Function


Map
New map; This will create a new, empty map in the editor.
Open map; With this you can load a map (.mbd) file.
Ctrl+S Save map; This saves your map.
Ctrl+E Export map; This will make an export of your map
I Import map; With this you can import a map in the specified binary
format.
Run map; This will make sure you can drive the map from the editor.
It will only load the map in the SCS file, not the one currently in
editor!!
Edit mode
E New Item; This will prepare the editor to place a new item
M Move Item; With this you can move items in the editor.
D Delete Item; This deletes an item in the editor
P Item Properties; This will show the properties of an item
N Node Properties; This will show the properties of a node (different to
item, will be explained later)
Place Start; This will place the start for the run map action so the
game has a spawning point for the player’s truck
H Height; With this you can adjust the height of an item
R Rotate X/Y/Z; This will rotate the item over one of the axes.
B Brush; With this you can brush a different terrain texture over
another one (will be explained later)
Ruler; This will give a ruler to measure a distance in the editor.
Result is shown in the bottom left of the screen.
Terrain picker; No idea what this does, never used it.
Snap
Snap to nodes; This function makes sure you can snap to nodes.
When this function is disabled you won’t be able to connect roads
(node to node).
Snap to vertices; With this function you can snap nodes to the sides
of a road. The use of this will be explained later.
Snap to grid; This snaps the node to the grid. You can enable grid
view under the view->grid button
F6 Snap to ground; This makes sure the node gets snapped to the
ground, if the ground has a collision. When this fails the game
generates this error:
ray cast failed!
Camera
C Top camera; This gives the user the top view of the map
(toggle)
C Free camera; This gives the user a bird eye view of the map. With
(toggle) the arrow keys you can fly around. By pressing space you can toggle
between flying and selecting elements in the view.
Tools
F2 Content Browser
F9 Weather/Settings
F Find; With this you can enter various options to find certain objects
or towns. Exact use of the find function will be explained later.
Item type; Here you can select the item type you want to place. For
example, roads/prefabs/terrain etc. This option will keep coming
back in this manual.
Grid; Here you can set the grid size.
Gizmo; This sets the way the gizmo reacts. Local means it takes the
local axes of a node. Global and View take the global axes.

How to use the map editor


Placing roads
Now that you know the basic functions of the map editor it’s time to start building a map. In this
manual we will create a simple town with a couple of roads, junctions and a company. In order to
make this you also need to create definition files (def-files).

First we have to build a road. Placing a road is not that hard at all.
Under item type you select road and you select new item Tips and Tricks
(shortcut: 1 & E). The following screen should appear: When you have an item screen open
you can quickly get a preview of the
item in the content browser by
clicking on this symbol:
The content of the screen might differ depending on the objects selected. You can change a couple of
settings before placing a road, but it’s always possible to change everything after it’s placed. Now
that you have the new item enabled you simply click in the editor on the location you want the road
to be. A line will appear. Clicking a second time will place the next node of the road. The result should
be something like this:

Now you have placed your first road. There are a couple of things I want to explain first before
continuing placing more roads. The circle objects at the start and end of the road (blue circle) are
called nodes. The red one is the backward node, which contains all the properties of the item. The
green node is the forward node which contains
the so called direction. What is important to
know is that red nodes never connect. Also a Tips and Tricks
green circle and a green circle will never
If you want to add another node within an
connect. When you want to continue this road
already placed road element you can do so by
you have to continue on the green node. If you
clicking the mouse wheel on the red node.
want to connect a road to this road from the
other side you have to make sure that this is a
green node.

The green arrows on the road indicate the ai lanes. When you notice that arrows are not correct it
could be due to a bug or a wrong road type. In ETS2 this is useful to debug between UK and EU roads.
Intersections
Now that we know the basics of placing roads you will probably soon come to the problem of an
intersection. In my situation I have three roads that meet in one spot now:

The game doesn’t auto generate junctions when you place roads on top of each other. For this you
need so called prefabs. A prefab can be placed when you have new item and as item type prefab
selected (shortcuts: E & 2). The following screen will appear:

Tips and Tricks


It happens often that the nodes of the prefab
don’t fit on the nodes of the road. You can
change the position of the red node by altering
the origin option in the prefab item dialog.

In my case I would like a t-cross to connect these roads. After a while you will get used with the
various options of prefabs the game offers. I have now placed my prefab in game:
As you will notice the prefab is not correctly placed. In order to place this prefab correctly I have to
rotate it. This can be done with the rotate Y option (shortcut: press R two times). Once the prefab is
correctly lined up you can connect it to the roads. Prefabs can also be rotated when they are
connected.

You can see that the prefab is properly connected when you look at the green ai lines on it. Left is not
properly connected, right is properly connected.

A dark green line indicates that no ai vehicles will be allowed to drive over that route. The light green
line indicates that ai vehicles will take that route.

Now that we have made our first crossing it’s time to start worrying about the details.

Adjusting properties
As explained earlier there is an option called item properties. This will probably be most used when
making your map. It works on almost every node and will make sure you can adjust anything you
might have to. In this case we want to adjust the properties of the road and the prefab. Since these
are used a lot I will explain the screen and give an example of what is possible.

Road items

The road item properties screens might seem to be big and confusing at first but it’s actually very
simple. Most of the screen is double since you can change the properties of either side of the road.
There is one thing to take note of. Currently ETS2 supports two road types. Normal roads and so
called road templates. They work a bit differently but in game they give the same results. The
controls differ a bit however.
Now let’s dive into the details of this screen. At the top you will see this screen:

Road type: This will allow you to set the type of road. This could be a simple one lane road, a 6 lane
highway or a one-way street. It all depends on what the game offers or what you created.

Road material: The road material is the texture that the road has. When the road is a templated road
type this option won’t work.

Center -> Material: This is the terrain shader in the center of the road. Only applies to highways or
divided city roads.

Center -> Vegetation: This is the vegetation you want to place in the center of the road. You can
adjust the density, scale and offset of the vegetation next to the dropdown list.

On the top right of the screen you will find the following options you can give a road.

Road/City road: This option only works if you have a non-templated road. City road will add kerbs
and sidewalks. Templated roads have this option somewhere else.

Distance type: Here you can set the distance on which this road has to be rendered. Default will pick
the value predefined in the def file. You can experiment with this option.

High-poly road: This will make the road more detailed and less rough. This option doesn’t have effect
on a templated road but does have effect on the terrain at the sides.

Low-poly veg.: This will make the vegetation along the road less detailed.

Superfine: Will make the road even more detailed than high-poly road. Keep in mind that this will
draw extra performance from the game.

No collision: This will disable the collision of the road.

Ignore cut planes: This option will make sure that the road will ignore cut planes (will be explained
later).

Tunnel: Not sure what this does, option is relatively new and probably has to be used for tunnel
roads.

Show in UI map: This will make sure that the road is shown in the UI map.
Water reflection: When you enable this the road and its elements (like trees) will reflect in the
water. We will experiment with this later in the manual.

Terrain shadows: Not sure what this option does. I have seen no effects between enabled and
disabled.

No AI vehicles: This will disable any traffic on the road.

Left-hand traffic: This will make sure that the road supports left hand traffic for countries like the UK.

Smooth detail veg.: Not sure what this option does. I have seen no effects between enabled and
disabled.

No boundary: Disables the walls located next to the road which are used to limit the movement of
the player. These can be seen when you enable the collisions under the view button.

Stretch terrain: This will stretch the terrain. Will also stretch placed brushes.

DLC guard: Something you don’t have to worry about.

In the middle there are two columns. The left one is for the left side of the road, the right one for the
right side. Both contain exactly the same settings.

Road height off.: The road height offset can regulate the height of the road of either side. This can be
used for highways to create different heights for both directions. Experiment with this option to get
the best results.

Terrain size: This is the size of the terrain, in game meters.

Terrain shader: The material shader you want to use for the terrain.

Terrain: The terrain profile you want to use. For example, plain for a flat surrounding or hills for a
hilly surrounding. Next to the terrain you can set the coefficient. 1 is default. Something to
experiment with whilst building. The noise is the bumpiness of the terrain profile. 100% is very
bumpy, 0% is off. The tranisition is the transition between different terrain profiles bordering the
road. 16 is a smooth transition, 4 is a quick transition. Another setting you can play around with.
Sidewalk: If the road is a non-templated road and you select city road at the top of the window then
you can set the sidewalk material here. In the size dropdown box, you can set the size of this
sidewalk.

Road Look: This option only works when you have a templated road. It will set the road material.
Same as the Road material option at the top of the window.

Road variant: Templated roads come in various variants. For example, with dashes, no dashes etc.
Experiment around with this. It depends on the road what it has to offer.

Left/Right edge: A templated road can have a right and left edge setting. Play around with this to get
used to it. Be aware that a simple road has two edges and a highway has 4 edges (two either side).

No detail veg.: This removes the grass from any terrain shader and it only applies to one side of the
road. The slider next to it regulates how far the grass will be spawned from the road. Another thing
to experiment with.

Veg. collision: This enables collisions on the trees next to the road.

Vegetation: Works the same as the center vegetation. In the dropdown list you can select the tree
types you want. Next to it you can adjust the scale, sparsity and offset from the road. The only
addition here is that you can set the distance of the high poly vegetation. 50 means that the first 50
meters of vegetation is high poly. Experiment with it.

At the bottom of the window there are a couple of buttons.

OK: Do I need to explain this one?

Set as default: This will put your current settings as default. When you want to place a new road
those default will be placed automatically.

Use default: With this you can apply the saved default to the current road.

Load/Save preset: You can save and load presets for certain types of settings that you want to use
more oftern.

Remove stamps: This will remove the stamps/brushes applied to the terrain of your road item.

Add veg. sphere: This adds a vegetation sphere. This will be explained as well, later in the manual.

Cancel: obvious.

Now that I have explained a bit about the properties of a road you can fool a bit around with the
settings.

Prefab items
The prefab window looks almost the same as the road properties window. A lot of the adjustments
that are possible on roads are of course also possible on prefabs. The ones missing will be explained
below the picture. In this example I have used a t-cross. This means that I have 3 edges, hence why
node 3 is disabled in the picture. Every prefab can have a max of 4 nodes and edges. Depending on
the prefab the are located on different positions. Sometimes you have to fool around first before
knowing which side is where.
At the top everything looks almost the same. Only difference is that a prefab has a look for the
different road types and a variant for different models types. This prefab is one of the first templated
prefabs and it could be that in the future this changes a bit further.

The settings on the top right are mostly the same as well. Additions are:

No activation: No idea, I have never used this.

State border: This should or could be enabled when you create a border of a state. Why I don’t
know. Borders should be defined in another way as well, something which we will talk later about.

Use semaphores: This will enable traffic lights on the prefab (if the prefab supports traffic lights).

Additional parts: This is used with templated crossings. In this case the additional parts contain the
various road lines that can be added to the prefab.

Beneath the top there is a new part that isn’t present in the road properties window. The prefab
vegetation name will be present if you have a prefab that supports vegetation in certain areas of the
prefab. Big highway crossing prefabs have this option. If you see it, experiment with it. If you have
selected the name you can select the vegetation on the right of it.

The 4 node boxes are nearly the same as the sides for a road element. Only difference is the corner
dropdown list which so far never has been used, but my guesses are that in the future this will be an
option for the templated prefabs.

At the bottom there are addition settings to add predefined road signs or remove them. They will
appear depending on what the model supports.
How to create details
So now that I explained everything that is possible, it’s time to start making a nice road. I have
already done some settings on my roads and prefabs:

The result is this road:

So now that we have a start with a simple road with an intersection it’s time to start worrying about
the details. From this point on everybody has their own techniques. That is the fun of mapping. There
is no wrong or right way.

Learning about models and buildings


In order to add more details, the game has various extra tools in the editor. Models and so called
buildings might help you lift up your map to a higher level. They can be found in the item type
dropdown list or with shortcuts 4 (model) and 5 (buildings).

Models can be used to place objects around in your map. They can be literally anything depending on
what you have added to your map. Under models you can find houses, vehicles, rocks etc. You can
recognise models in game by their blue square node.

Buildings are a sort of model, with the main difference that they are a repeating model. They work
the same as a road item. They have a forward and backward node, both red/green and can are
connected the same way. Only difference is that they have a rectangle node. Buildings are for
example powerlines, barriers and the dead end barriers. Once you get experience with modelling you
can add whatever you like to the game by making them a model or building.

How to use them?


The use of models and buildings are not that hard. You select new item and either of the two
(shortcut E & 4 or 5). The following screen will appear:
Just as with road items you can get a preview of these objects in the content browser. Useful if you
are looking for a certain object.

In my example I want to add some details to the side of the road. I have modelled so called snow
banks which should give the impression that the snow is higher and pushed to the side by a snow
plow. Placing buildings is just as easy as roads. The result:

There is no right or wrong way with placing buildings and models. It all requires a bit of inspiration to
create the details. The more you do it the quicker and easier you will make detailed scenery.

As an example I created this quickly. A serviceman is checking the wooden powerlines. A


combination of models and buildings:
Advance use of buildings and models
Once you are busy with buildings you will notice that there quite a lot of clicking and dragging
involved. In order to make this detailing process easier SCS has introduced various hotkey tricks in
the past years. For example, the “.” hotkey. This key can do several things. This will also work on road
items!

When you have this key pressed and you click on a building node it will select all nodes.
This will result into This:

When a node is already selected; by pressing the key the next node will be selected too.
This will result into This:

Another great trick for placing buildings is using the F6 key. This will make sure that the building
items will all touch the ground, even on complicated terrains. Collision must be enabled when using
this key.
Creating your own map assets
Now that you know the basics of mapping it’s time to try and create your own map assets. This is of
course not a must, however it will increase the detail and realism in your map a lot. Creating map
assets can be done in many ways. You can edit existing models; you can create new models or add
existing models from other people. The possibilities are endless. The only thing you have to know is
how models work and how you have to define them. This I will explain in the coming chapters
including various software applications to use in order to achieve this.

Understanding how models work


When you look into the base you will see a huge array of files with various unknown file types. In this
chapter I will shortly explain what models are build off, what the files mean and what software you
need to edit them.

First of all, let’s talk about what elements make a model. In 3D modelling software you can model an
object. On this object a texture is projected. This texture often has certain properties like
reflectiveness. These properties are so called material properties. A material contains properties and
often a texture as well.

Programs that can open models


from SCS are Zmodeler3 and
Blender (needs a plugin to
work). In my manual everything
will be done with Zmodeler3,
since that is the software I use.
Please be aware that this
product is not free.

In this manual I won’t explain


Zmodeler3 and how to make
your own custom models. I will
only tell how to export and add models to your game. Also how to edit the various model files will
explained.

Now that I have briefly explained the basics of a model I will explain how this works in the SCS games.

Underneath is a graphic that shows how the game reads the model. Each file type holds a certain
property. The game always has to read it in this order with getting the information from the previous
file.

pmd
sii mat tobj dds
(pmg/pmc)

The .sii file is where is starts. Almost all the .sii files can be found in the def folder. In this example we
will look at the model from the picture. Models are defined in “def/world/model.sii”. The specific
declaration of this model is:
model_def : model.az_42 {
#category: "Arizona"
model_desc: "/model/building/house/az_house03.pmd"
static_lod_name[]: "LOD from 100m"
static_lod_path[]: "/model/building/house/az_house03_lod1.pmd"
}

The first line of the model definition is very important. The model_def must be unique. If not the
complete file will be rejected by the game causing big crashes. Once the model_def is defined an
accolade is used to state all the parameters that are part of this models declaration. The model_desc
is the path to the pmd file. That is the least a model declaration needs. In this case the model has a
static LOD as well. I won’t explain LOD’s but the basic theory can be found here:
https://en.wikipedia.org/wiki/Level_of_detail

When you see a hashtag in a .sii file it means that the line is “commented”. In this case the line with
category will be ignored by the game.

As seen in the graphic, the .sii file points to a .pmd file. When you go to the location where this .pmd
file is you will find the .pmd file, as well as a .pmg file and optionally a .pmc or .ppd file (those are
used for signs and/or prefabs).

The .pmd and .pmg file need to always have the same name. They have an important relation
together. The .pmg file contains the geometry of the model and the .pmd the so called description.
The .pmd file links the .mat files to the geometry. When you open the .pmd file you will find the
various path names.

In this example the model has multiple .mat files in the


automat folder. In the next chapter I will explain how to
open the .pmd files.

If you go to the location of one of the .mat files you can see
the path linking to the .tobj file including many properties
of the material. I’m not going to explain those; you would
have to experiment with these. Copying SCS their material
properties is a great way to learn adjusting them.

Tobj files on their end only have a path to the location of


the .dds file. The .tobj is the texture object declaration file.

The .dds file then contains the texture. I won’t explain how
to edit textures; I will just show examples of software you
could use.

What is important to remember is that the game will follow


these paths. When it complains about missing paths it will Tips and Tricks
always show the path it’s looking for. Great for debugging When editing a path in HxD you are
purposes to check whether the model works correctly. not allowed to change the length of
the file. So if the old path is 20
characters long the new path must
be equally long!
Adding models to the game
Now that I have explained the basics of the models I will teach you how to add new models to the
game. In this example I will again only explain models but the same principal works for buildings,
movers etc. The only thing that will differ are some of the definitions in the .sii files.

First step is to create a def directory with in there a world directory. Do this at the same location as
where you keep your project (the map files etc.). Once you have made the directories create a .sii file
in there. It’s important that you keep this naming systematic: “model.<yourmodname>.sii”. An
example of a file name would be: model.ice.sii.

Now that you have made a file you will need to fill it with its first declaration. .sii files are simple text
files. They can be edited in programs as notepad, notepad++, word, wordpad etc. The declaration
used for this example:
SiiNunit
{
model_def : model.ice01 {
model_desc: "/model/rock/snowy_top_flat_long.pmd"
category: "Snow Rocks"
}
}

In this example I’m adding a snowy rock to the game. It’s important to have the file started with
SiiNunit and an accolade. This will mark the file in the game. When not added the game will complain
about a missing magic marker. I have also added the model to a category. This way it’s easier for me
to find the model in game.

Now that I have declared my rock it’s important to add the files themselves. As seen in the
model_desc declaration we have to add the .pmd and .pmg files in the model/rock directory. Once
those directories are created I can add my files.

Now that my files are included


in the correct directory you
have to search for the
remaining data. So the .mat,
.tobj and .dds files. It’s advised
to have all the files in your
mod, even if you use files from
the game itself. Reason is that the files might change in the future making your mod crash.

Editing a model
As previously said there are many ways to edit a model. In this manual I will explain a simple
freeware tool that makes it possible to add/edit looks and variants of a model. Editing the geometry
should be done in software tools like Zmodeler3 or Blender.

Editing a PMD file


For this example, you need a tool called SCS models editor. I have setup a download link here:
http://www.mediafire.com/download/nouznuyhwc3kam6/scseditor.exe
The tool is made by avmark, all credits go to him. There are not a lot of tutorials about this tool
online. Another tool that people have been using is called ETSedit. I would strongly advise not to use
this tool since it’s very outdated.

The SCS models extractor can open three file types. BTF, MAT and PMD files. In this example we will
only look at the PMD option and the TOBJ option. In this example I will open my
snowy_top_flat_rounded.pmd model. You will see the following:

At the top there are three tabs. Only two of them are important. The looks &
visibility will be the tab most used. It’s also possible to alter the variants of a
model with this tool but I would advise to use 3D modelling software to do this.

Adding a look is very easy. You can click on the big green plus (+) located in the
looks window. It will add a look in the list. Here you can put the name of the
new look you want to add. On the right you will see a list of the materials
that this look contains. They can be easily edited within this program but
could also be edited by tools like HxD when first saved in the SCS models
editor.

When you want to alter the material of a look in the SCS models editor you
will first have to set a default folder first. In order to do this
you will click on the top button named settings and then click
on set default folder. You would have to do this so the
program knows the path in which the base starts. Since you
want the paths to be model/… you would need to tell the
program where the root folder is. Once this is done it will be
saved in a special .ini file so the configuration won’t be lost. In
my example I have set my default folder up like this:
If you want to edit the path of a material of a certain look you can click the small button behind the
materials path name:

Just select the new file here you want this look to have. Once done you can easily save your changes
by pressing ctrl+s.

Editing and deleting looks can be done with the other two symbols next to the big green plus.
Experiment with the program to get used to how it works.

Editing a TOBJ file


A .tobj file is ,like a .pmd file, in a binary format. So to edit a .tobj file you will need a tool like HxD as
well. Keep in mind that you still aren’t able to change the length of the paths. Luckily SCS models
edior opens .tobj files as well. You simply have to open the .tobj file in the program and adjust the
path name.

As you can see the game type is set to extreme


trucker 2. This is correct. The program has been
around for some time and the extreme trucker 2
tobj format is still relevant in the current ETS2/ATS
games. When a .tobj file is unknown you have
opened a damaged file. Easiest solution is to delete
that file and use a .tobj file that isn’t damaged.

Editing a MAT file


As previously said, .mat files are very easy to edit. Just use any text editor installed on your
computer. The only thing what makes it confusing for a starter is the amount of different shaders.
When you want to edit the shader types as well I recommend you to consult the zmodeler3 website
as well as the SCS wiki page.

Editing a DDS file


The .dds file contains the texture of the model. It often happens that one model has multiple
textures. DDS files can be opened with a couple of programs. One program that is used a lot is called
DXTBmp. This program can open and convert .dds files. It cannot edit them! Another program you
can use to edit DDS files is Photoshop with the DDS plugin installed. I’m using that combination.

I have heard rumour that paint.net supports DDS extensions. I however am not 100% sure if that is
true.

When saving DDS files, it’s very important to keep the size a power of two. So texture resolutions like
these are allowed: 32x32, 128x128, 256x1024 etc. If this is not the case the game will complain with
a “npot” error (Not a Power Of Two).
Editing other assets data
In the above examples I have mainly been talking about models. Of course the game has more than
just models. The basic principle is the same; SII files in the def and then the model data starts. What’s
now important that you understand the various def files so that will be explained in the coming
chapters.

Adding building items


Building items require a bit more work in the def/wold directory.

For this you will need two files. The building_model.sii and the building_scheme.sii. The files itself are
very easy to understand. In the building_model.sii you will have the definition of the model. For
example, I’m adding a snow bank and this will be added in the file:
SiiNunit
{
building_model : bld_model.ice1 {
model_desc: "/model/snow_banks/snow_bank_1.pmd"
}
}
Once you have the model data defined it’s time declare the “scheme”. What is important here is that
that the models entry is the same as the building_model, as highlighted.
SiiNunit
{
building_scheme : bld_scheme.ice1 {
name: "snow bank 1"
models[]: bld_model.ice1
category: "Snow banks"
}
}
As you can see I have set a category again, something that I will keep on advising to do for
everything. The rest of the building items work the same as for the models. Internally there are some
differences but those would have to be edited in 3D editing software.

Adding vegetation
Adding vegetation to the game is very easy. But be aware that the game has two types of vegetation.
One part of the vegetation are the trees and bushes. The other vegetation the game has is the 3D
vegetation on terrain material likes grass and stones. I will first discus the trees and bushes
vegetation.

Trees and bushes


The first thing you would need is the vegetation_model.sii file. Again this has to be placed in the
“def/world” directory. In this file you need to define the following:
SiiNunit
{
vegetation_model : vegetmodel.spruce.small_snow1 {
sprite_model:
"/model/vegetation/spruces/heavy_snow/spruce_small_1_sprite.pmd"
med_poly_model:
"/model/vegetation/spruces/heavy_snow/spruce_small_1_med.pmd"
hi_poly_model:
"/model/vegetation/spruces/heavy_snow/spruce_small_1.pmd"
use_collision: true
colbox_size: (1, 10, 1)
}
At first sight it looks very complicated. However, this is not the case. Again, I’m not going to explain
the modelling. One thing that is important to know is that vegetation has three different modes.
Hi_poly model (close to player), med_poly model (medium distance) and sprite_model (far away).
Defining your vegetation with proper sprite and med models will make sure that the game is better
optimised. Furthermore you can set the collision that the tree needs to have (x,y,z). Collision is not
needed, but advised since it can be turned off in the editor as well.

Tips and Tricks


Some modders like the vegetation to be a model, since you can place it more freely. This is an
excellent idea, however some people add the PMD to the model definition as I taught before. What
can be done in the model.sii is the following:
vegetation_model: vegetmodel.spruce.small_snow1

This way the game will use the vegetation properties on the model, which is better for performance
as well.

Now that you know how to create a vegetation_model definition it’s time to create your own forest
type. This can be done in the vegetation.sii file. An example is this:
SiiNunit
{
vegetation_data : veg.ice01 {

name: "snow - Spruces heavy snow"

models[]:vegetmodel.spruce.small_snow1
models[]:vegetmodel.spruce.med_snow1
models[]:vegetmodel.spruce.big_snow1
models[]:vegetmodel.spruce.big_snow2

min_offset: 5
max_offset: 150
density: 400
}
As you can see you need to define the various vegetation models you want the forest to have. The
name parameter will be the name displayed in the editor. The min/max offset and density
parameters are now obsolete and adjustable in game. I have kept them here in the manual just in
case this might change. SCS also never removed these parameters from the def files.
When you are done with this you have defined your own new forest type which you can use in game.
You can use any defined vegetation_model type. Even the ones from SCS but be aware that when
they change them you have to make the same alterations in your own mod.

Grass
Now that I have explained how to add trees and bushes I will start explaining how to add your own
3D grass to a terrain material. For this you can of course also add the already available grass to a new
material. For this you need to create a detail_vegetation_def.sii file in the “def/world” directory. The
following needs to be added:
SiiNunit
{
detail_vegetation_def : ice1 {
texture: "/material/terrain/ice/snow_rocks_big.tobj"
density: 120
model[]: "/model/vegetation/stones/snow_stone_big1.pmd"
occurrence[]: 2
model[]: "/model/vegetation/stones/snow_stone_big2.pmd"
occurrence[]: 2
model[]: "/model/vegetation/stones/snow_stone_big3.pmd"
occurrence[]: 1
model[]: "/model/vegetation/stones/snow_stone_big4.pmd"
occurrence[]: 1
model[]: "/model/vegetation/stones/snow_stone_small1.pmd"
occurrence[]: 6
model[]: "/model/vegetation/stones/snow_stone_small2.pmd"
occurrence[]: 2
}
}

As you can see this almost works the same as the vegetation_model.sii file. In this case you have to
add the grass models to the definition. Under texture you will set the material on which the 3D grass
has to spawn. The density and occurrence speak for themselves. Experiment with this to get the best
settings.

Keep in mind that you need to have the texture already added in the terrain.sii def otherwise it’s not
possible to use the terrain in the game.

Adding movers
Adding movers to the game is relatively easy. Creating one is a lot harder. Movers thank their
animation from the so called PMA file. These animations can be made in zmodeler3. I don’t know if
blender supports PMA’s. Movers are defined in the mover.sii located in the “def/world” directory. An
example of a mover definition:
SiiNunit
{
mover_model : mover.tower_crane {
mover_name: "tower crane"
model_desc: "/model/mover/machine/tower_crane.pmd"
model_anim: "/model/mover/machine/tower_crane.pma"
}
}
I don’t think I have to explain how this works anymore.
Revision
Revision 1: Initial version of the document.

S-ar putea să vă placă și