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 fil e ..................................................................................................... .............................................................................................................................. ......................... 21 Editing a TOBJ file f ile ............................................................................... .............................................................................................................................. ............................................... 23 Editing a MAT file .................................................................... .............................................................................................................................. .......................................................... 23 Editing a DDS file f ile ............................................................................................................................... ............................................................................................................................... 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 y ears 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 diff erent 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 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 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 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 or der 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 b etween those it’s important to add a directory in the installation folder. This directory must be called base. base. In this directory there must be another one called map. 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 k eep 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 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 w ill 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 f ile. 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". “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 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. 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 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 edit ” ” to to reach the editor. Typing the name of the map file behind it would automatically open the map. So when editing editing usa.mbd you can type “edit “edit usa” to 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.) et c.) 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 c ould also cause game crashes, for fo r 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 c heck 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 Map
Shortcut
Function 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!!
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
H
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 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.
Edit mode
Snap
F6
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 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 (toggle) C (toggle)
Top camera; This gives the user the top view of the map
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.
Free camera; This gives the user a bird eye view of the map. With the arrow keys you can fly around. By pressing space you can toggle between flying and selecting elements in the view.
Tools
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 (shortcut: 1 & E). The following screen should appear:
Tips and Tricks 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 ci rcle) 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 gr een line indicates that ai vehicles will take that route. Now that we have made our first crossing it’s time 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. mo re detailed and less rough. This option doesn’t have effect High-poly road: This will make the road more 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 foo l 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 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 e xplained 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 t heir 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 bar riers. Once you get ex perience 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 th e “.” 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 F 6 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.
sii
pmd (pmg/pmc)
mat
tobj
dds
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”. “def/world/model.sii”. The 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 always show the path it’s looking for. Great Gr eat for debugging purposes to check whether the model works correctly.
Tips and Tricks When editing a path in HxD you are 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..sii” . An example of a file name would be: model.ice.sii. Now that you have made a file you will need to fill i t 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 I t’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. 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 configur ation 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 i s 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 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. file. Again this has to be placed in the “def/world” directory. 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 c ollision 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, whic h 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 dis played in the editor. The min/max of fset 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 defi ned 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 file in the “def/world” directory. 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 o ccurrence speak for themselves. Experiment with this to g et 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 PMA’s. Movers are defined in the mover.sii located in the “def/world” directory. 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.