Rolling Line Guide

Modding: Props, the incomplete guide for beginners to advanced. for Rolling Line

Modding: Props, the incomplete guide for beginners to advanced.

Overview

This guide will show you how to create props in blender and bring it into game.

Disclaimer.

The new prop modding system is fully finished as far as I am aware. There are still two missing features from this guide and they are sound and animation.

I will be updating the guide to have info and how-to on animation soon. Sound is easy though I will cover it briefly.
Guide will be updated as soon as time permits.

What this guide will show you.

This guide will show you how to model your prop in blender. Note that this is not a step by step tutorial to modelling in blender, I will attach videos further down that you can go watch to learn Blender if you are not already proficient with it.

After modelling I will show you how to do Rolling Line style texturing. Once texturing is complete I will walk you through getting your model into the game and ready to be shared to the workshop. The texturing section will also include instructions on in-game multipaint support. This new features is extremely useful for items that can come in a variety of colours.

Workshop support has been implemented with version 3.10.6, at the end of the guide the video will show you how to upload to the workshop plus some tips.

Getting started.

Before you start

What you need:

  • Blender3D[www.blender.org], download the latest version at the time of reading this. Currently 2.83 but 2.90 which is coming soon has some neat new features. The program is completely free.
  • PaintNet[www.getpaint.net], this is what most modders and the even the developer use. Although you can use any image editor of your choice. GIMP, Photoshop, MS Paint, PaintNet, they all work!
  • , obviously.
  • , having good reference images to make your models is always important. Orthographic drawings and dimensions also help greatly.

If you aren’t already proficient in modelling and texturing in blender I would recommend watching either https://www.youtube.com/user/blendercookie or https://www.youtube.com/user/AndrewPPrice for modelling tutorials. https://www.youtube.com/user/AndrewPPrice has a very good UV unwrapping tutorial , however, for RL I would recommend colour atlas texturing, shows how to do it well. I will cover this method lower down in the guide too. This method is also used by the developer.

Some resources for modelling and organisation

Below are download links for a standard piece of straight track and a metre-cube. The metre cube is what an RL-scale metre looks like. This will let you scale your models accordingly. The vanilla track is cape gauge 1067mm but for many mods is treated as 1435mm standard gauge.

The track. [drive.google.com]
The cube.[drive.google.com]

It is important for keeping your files organised when modding. Best way to do it is to keep all files for one project inside a single project folder, this makes sure you know where everything is. I usually make one project folder, inside that folder I make two sub folders one named “final” and the other “dev”. I keep all files like exported models and textures in “final” and all reference images and blend files in “dev”. How you do this is totally up to you it just gets more and more important as the number of projects on your system grow. With like 100+ individual mods I kinda need to put some effort into organisation.

Modelling and Tips.

For the purpose of this guide I will use screenshots from the red phonebooth I modeled. This is actually part of my London prop pack that will be released when the full system is released.

#SelfPromotion: Also in the pack will be two black cabs (Austin FX4 and LTI TX4), three double deck buses (different generations), red postbox, Boris bikes and docks, and some other miscellaneous bits and pieces.

Setting up the blender scene

The nice thing with Blender 2.8 is that it let’s you drag and drop images from file explorer straight into Blender. They will be imported as images that can be moved, scaled, and rotated. First thing you want to do is put your reference images in an orient them to the correct view as shown in the image below.

Take note that the base and center of the phonebooth is at the world origin, this is important. The ground in RL is at Z=0 (actually in Unity it’s Y, but in Blender it’s Z)

Scaling these images is important too, you want them to be the size the prop is supposed to show up in game. For this you need to know roughly how big your prop is in real life, then import into blender the metre cube I attached earlier on. Scale this to the known dimensions and then scale the images to fit.
The important part here is where it says “scale” in the “transform” tab, that’s the actual dimensions. A scale of 1 means 1 metre, a scale of 0.5 means 0.5 metres. Ignore the “dimensions”. I know that the phonebox is roughly 1 metre wide so I’ve already scaled my images to fit.

Now there’s not much to show, you just go ahead and create the model of your prop. Best to watch some blender tutorials by channels linked at the start of the guide if you don’t already know how.

Before texturing.

Now you should have hopefully finished your model without much trouble. Here’s mine:
As you can see, you can make out all of the individual faces. This is because it’s flat shaded. For performance reasons and to give it an RL look you want to shade smooth. Shown below.

There’s one more thing we need to check before texturing… normals!!!!! Everyone hates them.
The image below shows a pretty bad scenario, I just flipped some faces randomly for teaching purposes. You want to click on “viewport overlays” top right and select “face orientation”. Now this is pretty simple to understand: Red=Bad Blue=Good. You don’t want to be able to see any red, those show up invisible in game.

To fix this go into edit mode then continue with the next keys: a > alt+n > recalculate outside
Hopefully everything turns blue, that’s great. If not you’re either missing interior faces or you need to do it manually.

Some modelling tips.

A common mistake I see beginner to modelling make is using cylinders with the default 32 sides. 32 sides is just too much. An unnecessary waste of vertices.

With modelling for any game conserving vertices and polygons is number one priority. More verts mean worse performance and longer loading times. So logically, you try to keep these as low as possible.

When modelling keep in mind that smooth shade makes things look a lot rounder than they actually are, take advantage of that.
Here’s some recommended numbers:

  • For wheels on a train, use 16-24 sides.
  • For wheels on a car, use 12 sides.
  • For bolts, use 6. Irl bolts are 6 sided already so think about it.
  • For handrails I like to use an odd number, 5 works nicely.

Here’s some total vert numbers:

  • Vanilla trains are roughly 10k
  • QuickMods range from 10k to 50k
  • The in-game prop cars are on average 2k
  • The game currently has a rough vert limit at 55k. Go past this and weird stuff happens. But really 55k is already too much to be honest with you, try simplifying your model.

Not so important for RL but good practice anyway, try to avoid using non-planar n-gons. N-gons are faces with more than 4 sides. Quads are perfect and make modelling the easiest because it allows selecting edge loops. Tris always work well. N-gons should only be used on perfectly planar faces.

When modelling something symmetrical use the mirror modifier, why do more than half the work if you can avoid it?

Now let’s move on to texturing.

UV unwrapping, texturing, and exporting.

Here I will show you how to texture using a colour atlas, this is the same way the developer does it.
Before we begin you want to change some settings in the viewport shader to make the colour appear more true what they look like in game. Copy the settings as in the screenshot below, the shader tab is top right on your screen. You can turn cavity on to emphasise edges but it does affect the displayed colour. I like to keep it off.

Making your texture image – (for textured only, not needed for multipaint but read anyway)

Now it’s time to open your image editing software, any editor works. Create a new image when setting resolution make sure your image is a square and a power of 2 large. Try to keep this as small as possible, again for performance reasons.
Example resolutions: 2×2, 4×4, 16×16, 32×32, 64×64, 128×128, 256×256, 512×512, 1024×1024, 2048×2048. Don’t exceed 2k, the performance drops like crazy at 4k and above.

On this image paint some colour squares. Use colours that you need on your model. Also to make your model look better, add various shades of the same colour by changing the lightness but keeping saturation and hue the same. The texture image needs to be saved as a PNG, JPG will not work.

Here is an example image of a texture I’m using for details on cars, this covers stuff like lights and things that don’t change colour. The bodies on my cars are set up for multipaint, more on this later in the guide. The image used in game is only 16×16. Each shade has a lightness difference of 3/100. 5/100 works well for grey shades, 10/100 and the differences start too become too stark.

To the right is an image I used for a quickMod locomotive with alpha colours. The chequered pattern means that the colour has an alpha layer. You need this is you want your mesh to have some translucency in game. The original is only 4×4.

Setting up the material

Next thing we need to do is setup a material for blender to display on our model.
Select your model and go to the materials panel bottom right on your screen. Then create a new material, in the colour click on the circle and select “image texture”. Then open your texture file.
Now one extra thing for multipaint, rather than opening a texture you made open this texture instead. This is what each painter in the game looks like as a texture. Going sideways you’ve got hue variation, going vertical you have lightness variation. The far white column is unused.
For multipaint UV map your model using this texture ignoring the colour but taking note of the hue and brightness variations. You want to make use of these variations for good shading on your model. This texture won’t be needed after texturing, you don’t need to import it into the game as the game makes it’s own.

UV mapping

At the top of the screen select the “UV editing” window. You should be greeted with you texture file already loaded in the left window and your model in the right.
First thing to do in the 3D viewport (right) is select all and press “U” > then select “smart UV project”. Select all in the UV window and scale down as small as you can so it fits nicely in any one colour square. Top left take note of the button with two arrows facing in opposite directions on it, that changes the selection mode. Play around with it. If it’s set like mine then anything you select in the 3D viewport is selected in the UV viewport. Now just select different faces and drag them on to the colour you want. Super easy.

The above technique also applies to multipaint just make sure not to leave any UVs in the white column to the right. Put everything into one of the 3 left columns and the game will colour it with any painter. Another thing you should do now is separate everything into different colour groups.

Explanation: for multipaint, each colour is for one object. If you want 4 different paint colours you need to have 4 completely separate meshes/ bodies to colour. To separate your model, select everything you want to have one colour (select faces) and press “P” and select “by selection”. This separates the selected faces into a separate object that can be coloured independtly in game. Now finish your UV map for each body.

Once you’ve done that all the work in blender is finished, time to get it into game.
The texture image used for this phonebooth is 4×4 pixels. That white is only one pixel.

Below is a visual representation of separated meshes for each colour. Each colour represents a separate object, there’s 4.
The left most object is details and things that don’t change colour, I’m using a conventional texture for that (the car one posted above). The right three objects are for multipaint mapped onto a gray version of the yellow texture above. Each can be painted separately in game.

Slow there boy, first we need to export our model.

This is so easy it’s rather cringe I need to put this in the guide but I did it anyway.
If your model is made of multiple meshes that all use the same material select them all and press “ctrl+j” to join. For objects with different materials do not join them, you must also export them separately.
Navigate to the top left of your screen and select:
File > export > wavefront (.obj)

In the menu that comes up make sure you check “selected only” if you have other objects in the scene that you don’t want exported. Save it in your project folder. Do this for every object separately and give them a good name.

For the car posted above I named them like so:

  • car_benzE_sedan_body
  • car_benzE_sedan_interior
  • car_benzE_sedan_seats
  • car_benzE_sedan_textured

Getting your prop into the game and set up.

Navigate to your project folder, select all of your exported models (obj) and your texture images (png or jpg) and copy them. Textures only needed for meshes that are not multipaint. Then paste them all into:

C:Program Files (x86)SteamsteamappscommonRolling LineModdingcustom assets

This places them into the game itself. Now you need to launch the game. A new drawer labelled “C:” is now present, this is where mods live. On the first page is a mod selection menu with thumbnails, downloaded mods and your own will appear here. Clicking on the thumbnail spawns in the mod.
Select “Open the mod menu to create your own mods!”. The modding menu appears on the wall to the right, the camera will be teleported automatically.

Here you can see all of the editable mods. Clicking on one will give you four options:

  • edit
  • duplicate
  • upload (steam workshop)
  • spawn

On the main page you can also see a button “Add new”, select this and then type in a name and press enter. Now select the newly created blank mod and select “edit”.
At the top you see “tags”, click on that and go through the menu selecting and adding the correct tags for your model. Now save and go back. In the middle you have “models”, these are all the separate meshes that you exported to make up one model. “Add new” to add extra meshes. Click on each mesh name to configure it. First you need to select the mesh, you can scroll through the menu to find the one you just exported. Now select whether you want it paintable or not. If not then you will need to select a texture image using the menu, if yes then you need to paint the little square with a painter of your choice.

“Material type” is for textures only. Unlit will appear in the dark as luminous but doesn’t give off light, alpha is somewhat translucent. Now select “done editing”. Add another mesh if you have multiple, repeat this until you have added all your meshes for this model.

Now select your collision options. No collision means object do not collide, you cannot easily place something on top of this mesh. “Box” creates a hitbox on the bounding box of your model, bounding box is the smallet cuboid box that encompasses the entire model. “mesh” is a hitbox on the mesh itself not the bounding box.

Lastly select the layer type appropriate for your model then “save”. Spawn in your model and go back into edit to capture a thumbnail. Once you’ve done all that your mod is finished.

You can also upload your mod to the workshop using this menu by selecting “upload” and going through the menus the game guides you through. You can add further images and better description by editing the mod on the Workshop page itself.

SteamSolo.com