Hello & Welcome!
This information in blue has been added on Dec 4th, 2015. Another guide has been posted on the workshop created by myself and many other modders in the CSL scene. It talks about texturing and general asset creation concepts. It goes well together with this 3DS Max Guide. When I first created this 3DS Max guide I was new to modding so I didnt really go over texturing much.
Visit this new Guide here titled "Asset Creation 101"
http://steamcommunity.com/sharedfiles/filedetails/?id=500036497
------------------------------------------------------------------------------------------------------
This is a Tutorial/Guide for people using 3DS Max on how to turn any free model into a working in game asset for Cities:Skylines but you could still benefit and learn by searching up for the related ways to do things for your specific 3D Modeling Program. I will specifically be going over how to turn a free vehicle into a game ready model but the same method I explain can be used for any other model you are thinking about using.
If you are new to 3DS Max or never have touched it. Check out this great playlist Tutorial Series for 3Ds Max Beginners. This is what I watched when I first started and only took me a couple days to start making my own assets! If you are new to 3D modeling this video series linked below will help you to understand how to navigate 3DS Max better.
3DS MAX BEGINNER YOUTUBE SERIES BY thenewboston
Here is a list of the most popular free 3D sites where you can find free models to use.
Free 3D Models
Introduction
When I'm searching for free models that I wish to use for the game I don't just pick anything I see that looks cool. I'm looking for stuff that will be relatively small in polygon/triangle size as well. It's important to keep the load times down in the game with so many assets and mods to subscribe to it will add up quickly and trying to Import a 50k triangle car will only bog down peoples video cards.
So what should you look for in a model? When I browse for something that I want to use I will look right off the bat for models that have boxier shapes and less curves to them. This is an indicator that the model is probably lower poly. Some of the sites I've listed have poly counts listed in the details of objects page and some of them don't and you'll have to download to see for yourself. The 3D warehouse is great though because it has an advanced search option that lets you limit the poly count you want to see. I personally have been searching for models that are listed with 6000 polys or less but keep in mind that sometimes these listed poly counts are inaccurate.
According to the Skylines Wiki Page it says...
The model size is not limited other than by Unity's limit of about 65000 vertices per mesh, but even approaching that is too much for single assets. To give some rough guidelines, the triangle count of the building models in the stock game ranges from less than 1000 triangles for the smallest and simplest buildings to about 5000 for large and complex buildings. A few exceptional buildings use up to 10-15k triangles. Vehicles typically have 500-1000 triangles, while trees vary from a few hundred for simple bushes to about 2000 for the more complex ones. Also note that a large number of props can also make the asset rendering slower, which is why there is a limit in the asset editor.
So this means we definitely should be trying to keep our triangle counts as low as possible. I personally have a set limit in mind which is 3,500 triangles for a vehicle. It is a little over 3 times the size of some of the default cars in game. I think this seems reasonable enough where it won't completely ruin your fps and still have some nice looking vehicles. It's a much better number than some of the cars I'm sure you will see being uploaded that have 25k+ triangles and the uploader doesn't list the triangle count leaving you guessing. So please when you upload be sure to list how many triangles it has so people know if they would like to use it or not. Sometimes I go a little above this limit I set for myself, depending on the model.
LODS (Level of Detail Models) should be created for whatever it is your are trying to import as well. It's what keeps the game optimized when you are zoomed out by switching the models to a lower triangle count version and it will swap back to the larger more detailed model when you zoom back in. This is to keep your fps higher. If you don't create your own LOD the game will auto generate one for you and usually it's a very bad version of your model and people will complain on the workshop.
I will continue to update this guide when I find out new techniques or information.
Please feel free to share your ideas and thoughts to improve the guide. Thanks!
TABLE OF CONTENTS
First off have you found a low poly model to use? If it's a Sketchup file such as .skp I usually open it up in Sketchup first and export it as a .3ds, you could also export it as a .obj or .dae as well. It will then extract all the textures with it. I do this first to see if the model has a uvw mapped texture attached to it which could save me a lot of work. Then proceed to import the file into your favorite 3D Program.
SHOWING STATISTICS
Good, your file is now imported. What I like to do first is to show my poly/triangle count for selected objects. I do this in the Viewport by clicking the + sign then going to xView > Show Statistics or you can hit the 7 key.
Then you can configure what you want to see by going to the Configure Viewports option in that same dropdown menu which will give you the screen below. You'll want to make sure you have at least Triangle Count and Total+Selection checked. Hit Apply and Ok. This will allow you to see the yellow statistics in the screenshot above in the top left hand corner of the Viewport. As you can see I selected 2 wheels on this Rolls Royce and it's showing me that the total triangle count for those objects combined is 136. The entire vehicle itself is 4,827. This will be great for finding what parts of the model are producing the most triangles.
SCALING
Now we should scale our scene so that the grid which you are working on will have 8m x 8m tiles and will allow you to get the proper scale you are trying to go for without needed to us the in game asset editor scale entry form which is buggy and will most likely not work at the current state of the game. It's also advisable not to use that even if it did work. Scaling within your 3D program is more accurate and lets precisely size your object.
I used to scale using the editors form but after I found this post one day I never do anymore.
Originally posted by rik4000 (How to Scale in 3DS MAX Original Post Link)
Just follow these simple steps to properly set your scene to scale and you are done!
Also do not forget the last step when you are done and ready to export your object as an fbx to make sure to rotate your axis so that Y is standing straight up. You will learn about this at the end of the tutorial.
OPTIMIZING / CLEANING
Now that we have the statistics showing it's time to find out what we should delete or modify. I usually start off by deleting every single polygon on the bottom of the car because no one will see these at all. Then I will look at what's inside the car, is there any chairs, steering wheel etc? If so you can safely start deleting those items because no one will see inside anyways because windows are only a reflection and are not transparent in game. You can easily select things such as chairs or what not by using the select element option under editable poly/mesh show in the screenshot below. That will allow you click on the chair and have it select the whole thing leaving you to just hit the delete key.
Ignore Backfacing is also great for bulk deletion of the interior car. What you can do is check that option under editable poly/mesh in the screenshot below and then with the vehicle upside down you can click and drag and select the whole car as polygon mode and it should select a bunch of the polys but not the outside of the car. Then once you do that you can scan over the vehicle and alt click polys that accidentally got selected in the process, once everything looks good hit delete. Thinking about it now there might even be an easier way to do all of this by just doing select all and alt selecting all the outside parts of the vehicle and the deleting the rest not visible if you know what I mean.
After I've removed the bulk of the interior sometimes there are some stray polygons lingering around, so I switch over to the polygon selection tool and will ctrl click all those extra polygons until all of them are selected. Then before deleting I will rotate and scan around the vehicle to make sure no outside polys were selected by accident.
RE-CREATION / MODIFYING
Now that we have cleaned out the interior of the car it's time to take a look at the exterior. What about your vehicle is producing so many triangles? Head on over to editable poly/mesh mode and select the element selection mode. Click around the vehicle and see what is producing the most. Maybe it's the exhaust pipe with 500 triangles or perhaps it's the headlights with 200 triangle a piece.
Once I find out what is causing the most I will then go ahead and make a simpler version of it. For example I will just make a new cylinder with far less polys and position it right on top of the older version until it looks about the same and then delete the old one. Same thing goes for any other object.
Sometimes people create elaborate images using geometry on the side of a truck or something. You could just delete the whole side of the truck and then connect the 2 end edges back together.
For Example on this Postal Truck you see that the side of the truck has a geometric image consuming 316 triangles when I could easily replace it with a single polygon and apply a texture of the image instead later. So I will go ahead and delete it.
Then I must right click the model and convert it to an editable poly so I can use the bridge tool under the Edge selection. I will then select both edges and under Edit Edges I will click the bridge function to join the edges to form a new connected polygon face.
There you have a brand new truck wall...
I will then go ahead and do the same for the 2 other sides of the truck saving me a total of 942 triangles. You can use this technique for various parts of the car. I use it quite a lot especially if there are gaps in the model that were there from the start that would allow people to see through the car after being imported into the game.
LESS DETAIL IS OK
Not everything needs to be hyper detailed either. Sometimes you can get away with just having flat faces representing stuff like lights. In the example below this postal trucks back lights are taking up a total of 1,760 triangles! So what I did was selected the faces of the metal and light part and duplicated it to a new object by holding shift and moving them on the x plane creating a copy. Then I went back and deleted all the lights and even the wall panel because it had an outline of the lights built into its side. So I had to do a bridge connection to make a new wall face. then I moved those lights that I duplicated back to the wall and even moved the actual light face closer to the metal edge.
I could just have created a texture for the wall representing the lights but I've found that sometimes textures end up bleeding and not becoming as sharp as you want them to be so creating a geometric face can stop the bleed effect. I personally am probably going to end up making a transparent plane with the lights as a texture face and delete even that extra geometry I kept around because making an alpha transparent texture can also reduce color bleeding. I will explain more about alpha transparency later though.
FINAL CLEANUP
There is still one final step you could take to reduce the triangle count down even further. I well let this video do the explaining though as it is very informative and has helped me in many projects. While this video talks about how to make a proper lod this can also be applied to your main model because this game is low poly in general.
Alright so that explains a lot about how to reduce the triangle count which is a very important thing to do when making an asset for Cities:Skylines. Please do not attempt to skip these steps as they are essential in keeping peoples games running smoothly and effectively.
UVW Mapping
Now it's time to make a new UVWmap for the vehicle/model. 95% of the time you will have to do this and sometimes like I stated earlier you will find that the model has a uvwmap texture and is totally mapped, Score!. I start off by selecting everything in the scene. Then I go to the Unwrap UVW in the modifier list shown in green. Then once you do that you will see a new button at the bottom right hand side of the screenshot called Open UV Editor. which will open the window to the left hand side. You will want to select the square polygon icon tool. Then after that do Ctrl + A to select all. After you have selected all you can hit 1 of 2 buttons. "Flatten by Polygon Angle" & "Flatten by Smoothing Group" shown in the blue circle. I usually use the "Flatten by Polygon Angle" most of the time but sometimes the other option will have better results for certain things I'm trying to do.
Then after you have done so you should use the move tool at the top left hand corner and move everything to the left side just outside of the UVW space shown below... I do this because when you import something into the game and if every polygon is not inside the uvwmap space the LOD can become distorted even if you have a proper LOD made for it. It will cause your LOD to change colors and textures from other models not even related to your own. It's some weird bug.
By moving all these faces just outside of the space I can easily see later if I have used all the polygons in the texture space and know if I haven't and don't have to go searching around for stray polys way off the map.
Afterwards I will close the window and at the right hand side of 3DS max I will right click the Unwrap UVW modifer and select Collapse All and hit Yes. I do this because in the next step we will be selecting poly faces and our newly made uvwmap can get reverted, by collapsing all we ensure that this won't happen.
SELECTING PARTS OF THE MODEL TO UNWRAP
So normally after you do that initial unwrapping your model should still contain the colors like it did before if it had any to begin with. Then what I will do is select the area that I want to move on the uvwmap texture space. In the example below I have selected all the chrome elements on the vehicle and did a Unwrap UVW modifier from the dropdown like before. Then open the UV Editor again and as before select the square poly tool. Do a select all and hit the "Flatten by Polygon Angle" button. This will bring all those chrome elements into the texture space. Then what you can do is select the scale tool at the top left of the window and scale down all the elements into a tiny clump of wire frames as you see in the screen below. Move this clump to an area where you know where it will be. I personally usually start off doing my models unwrapping the base color first and placing in the top left corner of the texture space making the clump fit into a 3x3 checkered area which you will see in another screenshot later.
HIDING EXTRAS
After I've moved that clump to its position I will close the window and do a collapse all on that uvw unwrap so it won't move again. Then with all the chrome polygon pieces still selected find the hide options under the editable poly options, you can scroll down under the category "Edit Geometry" and select "Hide Selected" to hide all those chrome pieces so you don't have to dance around them when selecting other parts of the car. This does not work in Editable Mesh. View Screenshot below to see hide buttons.
I continue to repeat the process on different parts of the car until I've mapped and moved the texture maps to where I want them to be. As you can see in the screenshot below the different stages of selecting and mapping the rest of the car and hiding the selected polygons each time I unwrap, move the wireframes do the collapse all. This diagram is just a quick example, you will want to do the headlights, brakelights, turn signals, windows, body color, metal pieces and what not such as a license plate. By the time you get to the end you can just easily do a select all.
I also want to mention that you can end up finding extra polygon faces that you didn't see before that you can just end up deleting to optimize some more.
By hiding the finished mapped selections each time it gets easier and quicker to do the next parts of the model.
When you are done you can just hit the "Unhide All" button
TIRES & Proper Overlapping UVW Map lines.
Ok so many times the tires that come with the model will have way too many polygons for what we need. The game doesn't need a perfectly round tire and you can get away with making a much simpler sided one. So I will keep the tires around for now and make a new cylinder giving it 10 sides, basically what the default cars in game have. I did end up giving this Rolls Royce an 18 sided cylinder tire to make it a bit rounder and now that I'm writing this guide I'm thinking I may want to reduce that down a little bit because remember this tire are going to be duplicated 3 times to create a set of 4, essentially multiplying the triangle count by a lot.
Ok so now that you have created a 10 sided cylinder you will want to rotate it 90 degrees so it is standing up like the tire should be. Next I move the tire to where the models current tire is sitting and center the new cylinder over it and I will adjust the radius and width of the tire so that it matches the current tire of the car. You can see an example in my LOD video later.
Now that you have the first tire created you will want to convert the cylinder to an editable poly and do an unwrap uvw modifer from the drop down and open the UV Editor. Hit the square poly tool, then select all and hit the "Flatten by Smoothing Group". You will see here about what I said earlier with trying out both options, test them out and you will see that "Smoothing Group" works better here because it collapses the outer rim of the tire and does some of the work for us. You will see that there are circles now that we must overlay on top of each other so that we only need to have one rim/hubcap texture for all the tires.
So start off by deselecting everything and selecting the top circle polygon. If you then click and hold down the move tool icon at the top left of the window you can select an up and down tool so that the polygon can only move up and down. There is also a move left and right tool. The same goes for the scaling tool, it too has both these options which you will use from time to time. So now that you have the up and down move tool selected move the top circle and drag it down over the bottom circle, it looks good right? Wrong, you will want to zoom in after it's overlayed and you will see the lines don't quite match up perfectly. So I will zoom in further to the top edge of the circle and drag the poly some more until the top lines are lined up perfectly and will keep zooming in and repeating the process.
Ok now you have the 2 circles laying on top of each other and the rectangle of polys sitting to the side of it. Select all of that and move it to the right, just outside of the UVW map space. Then close the window and do a collapse all to the modifier. You now have a tire you can duplicate and not worry about having to overlay 8 circles on top of each other because now when you duplicate all the circles will copy to that overlaying position.
Once I have a perfect sized looking cylinder all uvw mapped I will then hold shift and move the tire to the back section of the car duplicating it. I will then move the tire if I have to until the back tire is aligned properly like the front tire and adjusting the radius if the back tire is bigger. Then I will select both tires and hold shift and duplicate those 2 tires to the other side of the car and adjust the tires if needed. Now you have a set of 4 tires, go ahead and select these 4 newly created tires and right click and click hide selected to hide the tires from the Viewport. Now go ahead and start deleting the old tires, once done right click the Viewport and hit Unhide All to bring your tires back.
Also to note that the game automatically recognizes the lowest part of the model as wheels and will actually spin and turn left and right. So if you don't make wheels the whole body of the car will flip instead. So if you happen to find a model with wheels attached to the model itself you will have to define new wheels for it so this doesn't happen.
REPEATING THE PROCESS WITH LIGHTS
This entire process can be used to replicate any lights you may have needed to recreate because the old ones had too many triangles. But normally for me the lights are usually fine and I just select both of the default lights and overlap those. Sometimes the lights you select will be fragmented into polygon shards in the UV Editor. It's ok if things don't line up perfectly for lights. I personally use an orange and red light texture and will align the main polygon faces over the image texture I use and will align the little shards that match up from both lights but then I will just place the little shards into the bigger polygon map line which you will see in a screenshot further below if you don't understand what I'm talking about. I'm talking about the red and orange lights.
MOVING UVW MAP LINES WHEN FINISHED
Ok, So you have unwrapped and defined all your models areas. Now it's time to move them to their final locations. Do a select all to select the whole model and Unwrap UVW modifier. Open the UV Editor and now you will see all your lines. Remember how we moved the tires just outside of the space? Ok now it's time to move it to its final location, find a good spot on the map and place it there. You can do this for all your defined map clumps.
By the time you are done you should have a map with areas that are separated from each other that you want to define certain colors for. Then you will want to go to Tools > Render UVW Template which will bring up the little window in the left of the screenshot. There you will want to change the width and height to 512x512 because we don't need a bigger texture map for a vehicle. Then change the 2 colors circled in blue to the color black, this will cause our saved wireframe map to have black outlines and is easier when viewing in Photoshop. Then click the Grey button "Render UVW Template on the small window. This will bring up the big black window you see on the right, normally it would have neon green wireframes but we changed the color to black. Then click the save button and save it as "z.png". The reason I save it as z.png is because sometimes you are constantly saving new UVW map templates and when I go to open in Photoshop I can easily find it by just scrolling down to the bottom and clicking the file.
After saving your new template go ahead and close the windows and do a collapse all on your modifier so you don't lose your work you just did.
FURTHER UVW MAP EDITING VIDEOS
Here are 2 videos that I found when I first started learning how to uvwmap. They were extremely helpful.
Short Video
Long Video
TEXTURING
DIFFUSE TEXTURE
Now you can open the z.png file you just created in Photoshop and should get something that looks like the UVW Template show below. There will be no white background so go ahead and make a new layer and fill it in white so you can see the lines a bit easier. Then you want to start filling in the areas defined with color or images as you see in the Diffuse Texture. The colored text is just to show you my defined areas. I normally put my base color to the left and my dark areas of the car that I want to be the same color next to it but only 50% grey so that when we use the color variation in the asset editor it will show this area of the car a similar color only darker. I normally use the dark color for areas like behind the wheels. I made colors for the Top and Chrome parts as well. I usually make the glass black because it seems to be a nice consistent color for windows opposed to something like blue, but you can change it to any color you want and it will affect how the glass looks.
Then you can crop some textures for parts like the lights or tire but make sure the texture goes past the map line so you don't end up having issues in game with the color not showing up totally. You can see my example in the screenshot below with the green lines.
ILLUMINATION MASK
For the Illumination Mask you will want to fill that in with 50% grey which will then define what we don't want to blink or light up. Fill in the areas that you want to represent head or brake lights with 100% white, this will cause these to illuminate and have the brake lights actually turn on and off when they brake. Fill in the orange turn signal area with 100% black, this will actually make the turn signals flicker when they turn left or right. If you don't make this mask half of your car will blink when they turn.
COLOR MASK
The color mask will define what parts of the model you want to change colors when selecting a color variation in the asset editor. Anything black will be disregarded and anything white will be the color variation. So In this example I've selected only the Base and Dark color to change.
ALPHA MASK
The Alpha mask is there to define transparency. In this example I wanted to place a licence plate on the car. and instead of selecting a a bunch of polys, going to the UV editor having to position them right and do a bunch of work that's not needed. I made a single polygon plane and unwrapped that and made an alpha mask so that there would be no black color around the outter edge of the licence plate as you can see in the image below. The red line is the outer part of the plane but I've defined certain parts of it to be transparent so that only the license plate shows up. So in the Alpha Mask I've defined the color white as everything I want to remain visible and the black areas where I would like the transparent parts to be.
SPECULAR MASK
The Specular Mask is where you want to define a reflective quality to your object.
Here's the Green Outline image that I told you about earlier. See how the orange and red lights have small stacked polygon shards on top of each other? Just like the color clumps only a little bit bigger and defined this time because we are using a image and want the texture to show properly.
FURTHER TEXTURE DEFINING
Now that you know how to define Images such as lights and tires you could take it a step further if you really wanted to and select say the doors of a car and give them an outline texture. Maybe there is a spot on the car that you want to apply some sort of decal. Go ahead and select the polygon area you want to do that in and do an unwrap and modify the lines and position in an empty spot on diffuse map so you can add that decal perhaps.
If you notice in many of the above screenshots you will see that UV map Editor has a checker board background. At the top right of the UV Editor there is a drop down menu and you can actually select Pick Texture and then select Bitmap and pick your saved Filename_d.jpg file and it will show that instead letting you easily see where you could place some new map lines.
SAVING TEXTURES
Time to save your textures using the suffixs you see below. You should save them as .jpgs. There is no real reason to save your files as .png all that will do is create bigger texture files when a high resolution .jpg is just fine. Also as said before you only need a 512x512 map space so be sure to set that to the width and height when rendering your uvw map template.
Here's some more info quoted from the Skylines Wiki Page...
The material for Buildings supports up to 6 textures, each needs to use the same filename as the FBX file with a texture type suffix.
NORMAL MAPPING
You will notice I did not include a normal map with this vehicle because I did not see the need to, there wasn't anything really that I felt the need to give a bumpy raised texture to.
I'm not gonna go into much detail about normal mapping but there are 2 payed programs that will easily allow you make a normal map if you so choose to make one as well as a few free ones suggested by BuilditwithProfanity. Here are the links to those programs...
Free Programs
Basically you would Import your diffuse texture into one of those programs and play around with the settings to create a raised surface area for a part of your model such as a rocky face or a metal mesh wireframe, rivets etc. you would then save that file as your Filename_n.jpg and it will cause your object to have a raised surface. Keep in mind though when doing so that you would want to create a counter part in the specular mask to give it some extra visibility. If you want to know more about normal mapping do some searches on Google.
CREATING A LOD
I've created a 22 minute video of me making a LOD for this Rolls Royce. There is no voice, just music, but i will explain some things that happen in the video before you watch it so you can have a better understanding of what is going on.
First off for some reason the video does not show the right click menu when I convert to an editable poly or hide unhide stuff. So when you see that small grey box appear on the screen I am actually right clicking and either Converting something to an editable poly or hiding/unhiding stuff. It should be pretty easy to tell what I'm doing.
CREATING THE BASIC SHAPE
So I usually start off by creating a 1x1 rectangle shape and then move it to the car and then create edges and form the box to the cars curves. You'll see in the video that I use the function "Connect" under Edit Edges. You can only use this function as an Editable Poly. Basically you can select edges and then hit the connect settings box next to the word Connect. You can't see it in the video for some reason but an options box will pop up and at the top of that settings box you can type in the number of edges you want and then click a Check Mark.
I usually make an edge for every angle change on the top of the car. As you will see later in the video I also missed a window so I went back and made one extra edge to make that spot for the window texture.
NORMALS
When I am working on the wheels you will notice that when I duplicate the first 2 wheels to go to the other side of the car I select only the 2 newly created wheels and apply the modifier called Normal and then do a Collapse All. The reason I do this is because if I don't then those wheels will seem invisible in the game because the game only renders one side of the poly face. So by using the normal function I am reversing the side that the polygon is facing.
To show you what I mean, you could convert your object to an Editable Mesh because as an editable mesh you can choose the option check box called Show Normals as you see here... You'll notice when all the polygons are selected that there are blue lines now facing outwards, this is to represent which polygon face will be shown to the camera. Can you see now that the wheels normals are facing inwards to the car. That is why we needed to reverse them using the modifier. Normals not facing outwards will also appear darker than the rest of the correct polygons making it easier to tell what needs to be flipped.
Sometimes you will encounter some free models that have a lot of normals facing the wrong direction and you will need to use that normal modifier to flip them otherwise if you import a model without doing so you will see they have a lot of invisible looking areas.
Another thing I want to explain is when I'm going to apply the textures to the LODS polys you see in the UV Editor that I hit that icon next to the "Flatten by Polygon Angles" icon. The little red and white icon with a split in the middle that looks like a V. That is the BREAK function. If you select certain polys and then drag, other lines may happen to move with them and so they need to be broken apart from the rest so they become a separate entity.
Once you have created your base model/wheels for the LOD you will want to collapse them all into a single mesh. Which you see towards the end of the video. This is so we can more clearly define the axis pivot point.
Now that you have 2 models in the scene. Your Main Model and your LOD both stacked perfectly on top of each other you will want to edit the pivot points. You see me do this at the end of the video. I select both objects at the same time and edit the axis and check the Affect Pivot Only. Then I select Center To Object. This will center the pivot point to the middle of both objects. Then what you want to do is move the models at the same time so that they are positioned over 0,0 on the x and y axis on the Grid. Then go back to change the axis again doing affect pivot only and then move the pivot by entering in the numbers 0,0,0 for the x,y,z axis. This will move the axis to the bottom and center of everything. Then you need to rotate the pivot point so that the Y Axis is standing up straight as you see me do in the video. This is so when you go to import the vehicle it will load with the wheels flat on the ground and not have to select the "Bottom center pivot" in the asset editor. I do this because if you don't change the axis y to be up your lod could be standing up on its side if you do happen to check the "bottom-center pivot" option.
There you have it, a good looking LOD that will resemble your model from a far. Please remember that a LOD does not need to be overly complicated and you can be sure its safe to not even include stuff like fenders or other extremities coming off the vehicle such as bumpers because when you are zoomed out they all mesh into a little blob of color anyways.
In this video I created an 88 Triangle LOD but I managed to get that number down to 68 triangles. You can do so by sometimes clicking the optimize modifier in the same drop down as the uvw unwrap. Sometimes it could mess up your model though so pay attention.
HERE'S THE VIDEO
According to the Skylines Wiki it says this about LODS....
You may notice your custom models sometimes gets very distorted when viewed from far away : that's because the game automatically generates a low poly version (LOD) of your model and your texture in order to save resources. To solve this problem, you need to provide your own low poly version of the model (the fewest polys the better) and name it yourModelName_lod.fbx
For growable assets, the suggested limit on tris is 100. For larger buildings and monuments, you can go slightly higher (200). For props and vehicles, less than 50 triangles should be enough. For the sake of other players, please abide by these LOD limitations unless its absolutely necessary to break them. This is how the game regains performance when you are zoomed out.
Your low poly model should have a new UV set that is probably different than your original high-poly model, this is anticipated. The UVs should be kept in the 0...1 interval, since the LOD textures use a texture atlas and values outside that range will result in colors being taken from other random models. The game will automatically bake the textures from your high-poly base model to your new low-poly model upon import. Also, make sure no vertices in both high detail and LOD models are below the 0-level since they can confuse the baking process.
If for some reason you would like to override the auto-texture generation process (also called baking), you can create a diffuse texture for this low-poly model by importing a texture with "_lod_d" suffix (lowercase "lod" is important). If the diffuse texture is overwritten, the baking process is skipped entirely, so normals, speculars, etc also need to be set manually.
EXPORTING
Now that you have an Optimized Model and LOD you can Export each model individually to the Import folder. Before you do that however you must collapse your objects into a single mesh. To do that you must first do a select all and then go to the utilities tab seen below. You must go to Collapse then select mesh and below that into single object. Then you can hit the Collapse Selected Button to merge all your objects together.
Before doing all of this I usually save my stacked model and lod file. Then I just delete one of the models such as the LOD, Do the collapse all and export the main model as a .fbx. Then I will undo everything I did including deleting the lod and delete the main model this time. Then if you haven't already you can collapse the lod as well and save a .fbx too. They should look something like this...
Filename.fbx
Filename_lod.fbx
While we are on the Collapse panel tab I would like to explain about the "Modifier Stack Result" check circle. If you check that instead of Mesh and do a Collapse Selected. It will actually collapse all of your modifiers on any selected objects. Such as XForm / Unwrap UVW / ETC. This is good for when you have lots of modifiers on different objects and don't want to go to each one collapsing everything individually.
RESET XFORM
I would also like to go over Reset XForm. Now I had a lot of trouble when I first imported a model into the game and couldn't figure out what was happening. Weird things would happen to my model such as showing up slanted or being white, etc. Someone told me to do a Reset XForm. So I selected all my objects and did a Reset XForm, Collapse All and exported it to the game and it worked. So if you happen to have issues this may be a solution for you.
AXIS ROTATION
You must also rotate your objects axis now after the collapse and reset xform. You can do that by following the image below and making sure you rotate your Y Axis 90 degrees so that it is standing up straight to orient the object right in the asset editor. You can also move the pivot left or right / up and down to make the object offset on your building space in the editor. So for example you could make your building appear very far left or right in your map space. You could also move the pivot far below your object to make it appear up in the sky, or down in the earth. Play around with it!
Finally we can place our new files into the Import folder which is located here...
C:\Users\Yourname\AppData\Local\Colossal Order\Cities_Skylines\Addons\Import
You should also save all your texture files there as well. Once I have my main texture files saved I will open them all up in Photoshop and resize them to 64x64 and save those as their lod counter parts such as...
Filename_lod_d.jpg
Filename_lod_s.jpg
etc...
So now you will have a set of 512x512 textures and a set of 64x64 LOD textures.
IMPORTING
Go ahead and open the Asset Editor in game now. Click the category you want, in this case I selected Vehicle and selected a template, I went to residential > sedan and hit continue. Now your filename should show up as an fbx at the left hand panel. You may need to rotate your model on the Y axis using the in game rotate button so that it will be facing the right direction when you view it in game. I've had side ways cars driving down the street before lol. Click Continue.
Now you can edit the Material Color Variations as well as the speed. I believe that 20 is the max speed for the game. I've tried higher and nothing happens, but I know you can go slower. Then go ahead and save your file when you are done and check it out in game. You may have to go back rescale your model or change colors etc until it looks right.
There you have it! A newly imported functioning, optimized model.
If you are having trouble Importing the model you are working on, you may want to take a look at this thread linked below. It was a very helpful source of information for me as well as others when Cities:Skylines first launched. If all else fails you can search the forums for any specific related problems.
Some issues with importing models
ADVANCED MODIFICATION
Anytime I find new information about advanced topics or other related information to asset modification I will post descriptions and links here.
UPLOADING TO WORKSHOP
Once you have your game ready asset ready to upload to the Steam Workshop. Please Remember to leave a link in the description of your uploaded asset to the free model and to credit the original author for their original work! Thanks
Closing
As said at the start of this guide, I will continue to update this guide when I find out new techniques or information. Please feel free to share your ideas and thoughts to improve the guide. Thanks!
If you are having trouble and would like to talk to someone live you can do so at the Modders IRC Channel.
There are a lot of helpful people there willing to give advice. You can find it here...
#skylines-modders @ irc.esper.net
For those of you that don't know, you can't just type irc.esper.net as a website...
You need to have an IRC client to access the chat.
I suggest using Hex Chat which you can download here.
https://hexchat.github.io/
Other Sources of Helpful Information
Simtropolis.com - Cities:Skylines Modding - Open Discussion
http://www.reddit.com/r/CitiesSkylinesModding
http://www.skylineswiki.com/Modding
CGSociety.org
The Models used in this Tutorial
USPS Postal Truck - By Supreme Ruler of the Universe
Rolls Royce Phantom IV 1970 - By Gonzalo
Feel free to ask any questions, Hope you enjoyed the guide!
This information in blue has been added on Dec 4th, 2015. Another guide has been posted on the workshop created by myself and many other modders in the CSL scene. It talks about texturing and general asset creation concepts. It goes well together with this 3DS Max Guide. When I first created this 3DS Max guide I was new to modding so I didnt really go over texturing much.
Visit this new Guide here titled "Asset Creation 101"
http://steamcommunity.com/sharedfiles/filedetails/?id=500036497
------------------------------------------------------------------------------------------------------
This is a Tutorial/Guide for people using 3DS Max on how to turn any free model into a working in game asset for Cities:Skylines but you could still benefit and learn by searching up for the related ways to do things for your specific 3D Modeling Program. I will specifically be going over how to turn a free vehicle into a game ready model but the same method I explain can be used for any other model you are thinking about using.
If you are new to 3DS Max or never have touched it. Check out this great playlist Tutorial Series for 3Ds Max Beginners. This is what I watched when I first started and only took me a couple days to start making my own assets! If you are new to 3D modeling this video series linked below will help you to understand how to navigate 3DS Max better.
3DS MAX BEGINNER YOUTUBE SERIES BY thenewboston
Here is a list of the most popular free 3D sites where you can find free models to use.
- https://3dwarehouse.sketchup.com/
- http://www.turbosquid.com/
- http://tf3dm.com/
- http://archive3d.net/
- http://www.cgtrader.com/
- http://www.blendswap.com/
- https://www.yobi3d.com/
Free 3D Models
Introduction
When I'm searching for free models that I wish to use for the game I don't just pick anything I see that looks cool. I'm looking for stuff that will be relatively small in polygon/triangle size as well. It's important to keep the load times down in the game with so many assets and mods to subscribe to it will add up quickly and trying to Import a 50k triangle car will only bog down peoples video cards.
So what should you look for in a model? When I browse for something that I want to use I will look right off the bat for models that have boxier shapes and less curves to them. This is an indicator that the model is probably lower poly. Some of the sites I've listed have poly counts listed in the details of objects page and some of them don't and you'll have to download to see for yourself. The 3D warehouse is great though because it has an advanced search option that lets you limit the poly count you want to see. I personally have been searching for models that are listed with 6000 polys or less but keep in mind that sometimes these listed poly counts are inaccurate.
According to the Skylines Wiki Page it says...
The model size is not limited other than by Unity's limit of about 65000 vertices per mesh, but even approaching that is too much for single assets. To give some rough guidelines, the triangle count of the building models in the stock game ranges from less than 1000 triangles for the smallest and simplest buildings to about 5000 for large and complex buildings. A few exceptional buildings use up to 10-15k triangles. Vehicles typically have 500-1000 triangles, while trees vary from a few hundred for simple bushes to about 2000 for the more complex ones. Also note that a large number of props can also make the asset rendering slower, which is why there is a limit in the asset editor.
So this means we definitely should be trying to keep our triangle counts as low as possible. I personally have a set limit in mind which is 3,500 triangles for a vehicle. It is a little over 3 times the size of some of the default cars in game. I think this seems reasonable enough where it won't completely ruin your fps and still have some nice looking vehicles. It's a much better number than some of the cars I'm sure you will see being uploaded that have 25k+ triangles and the uploader doesn't list the triangle count leaving you guessing. So please when you upload be sure to list how many triangles it has so people know if they would like to use it or not. Sometimes I go a little above this limit I set for myself, depending on the model.
LODS (Level of Detail Models) should be created for whatever it is your are trying to import as well. It's what keeps the game optimized when you are zoomed out by switching the models to a lower triangle count version and it will swap back to the larger more detailed model when you zoom back in. This is to keep your fps higher. If you don't create your own LOD the game will auto generate one for you and usually it's a very bad version of your model and people will complain on the workshop.
I will continue to update this guide when I find out new techniques or information.
Please feel free to share your ideas and thoughts to improve the guide. Thanks!
TABLE OF CONTENTS
- How to show Statistics
- Optimizing, Modifying & Cleaning
- Defining UVW Map Spaces
- Texturing
- LODS - How to create them
- Exporting / Importing
First off have you found a low poly model to use? If it's a Sketchup file such as .skp I usually open it up in Sketchup first and export it as a .3ds, you could also export it as a .obj or .dae as well. It will then extract all the textures with it. I do this first to see if the model has a uvw mapped texture attached to it which could save me a lot of work. Then proceed to import the file into your favorite 3D Program.
SHOWING STATISTICS
Good, your file is now imported. What I like to do first is to show my poly/triangle count for selected objects. I do this in the Viewport by clicking the + sign then going to xView > Show Statistics or you can hit the 7 key.

Then you can configure what you want to see by going to the Configure Viewports option in that same dropdown menu which will give you the screen below. You'll want to make sure you have at least Triangle Count and Total+Selection checked. Hit Apply and Ok. This will allow you to see the yellow statistics in the screenshot above in the top left hand corner of the Viewport. As you can see I selected 2 wheels on this Rolls Royce and it's showing me that the total triangle count for those objects combined is 136. The entire vehicle itself is 4,827. This will be great for finding what parts of the model are producing the most triangles.

SCALING
Now we should scale our scene so that the grid which you are working on will have 8m x 8m tiles and will allow you to get the proper scale you are trying to go for without needed to us the in game asset editor scale entry form which is buggy and will most likely not work at the current state of the game. It's also advisable not to use that even if it did work. Scaling within your 3D program is more accurate and lets precisely size your object.
I used to scale using the editors form but after I found this post one day I never do anymore.
Originally posted by rik4000 (How to Scale in 3DS MAX Original Post Link)
Just follow these simple steps to properly set your scene to scale and you are done!
Also do not forget the last step when you are done and ready to export your object as an fbx to make sure to rotate your axis so that Y is standing straight up. You will learn about this at the end of the tutorial.

OPTIMIZING / CLEANING
Now that we have the statistics showing it's time to find out what we should delete or modify. I usually start off by deleting every single polygon on the bottom of the car because no one will see these at all. Then I will look at what's inside the car, is there any chairs, steering wheel etc? If so you can safely start deleting those items because no one will see inside anyways because windows are only a reflection and are not transparent in game. You can easily select things such as chairs or what not by using the select element option under editable poly/mesh show in the screenshot below. That will allow you click on the chair and have it select the whole thing leaving you to just hit the delete key.
Ignore Backfacing is also great for bulk deletion of the interior car. What you can do is check that option under editable poly/mesh in the screenshot below and then with the vehicle upside down you can click and drag and select the whole car as polygon mode and it should select a bunch of the polys but not the outside of the car. Then once you do that you can scan over the vehicle and alt click polys that accidentally got selected in the process, once everything looks good hit delete. Thinking about it now there might even be an easier way to do all of this by just doing select all and alt selecting all the outside parts of the vehicle and the deleting the rest not visible if you know what I mean.
After I've removed the bulk of the interior sometimes there are some stray polygons lingering around, so I switch over to the polygon selection tool and will ctrl click all those extra polygons until all of them are selected. Then before deleting I will rotate and scan around the vehicle to make sure no outside polys were selected by accident.

RE-CREATION / MODIFYING
Now that we have cleaned out the interior of the car it's time to take a look at the exterior. What about your vehicle is producing so many triangles? Head on over to editable poly/mesh mode and select the element selection mode. Click around the vehicle and see what is producing the most. Maybe it's the exhaust pipe with 500 triangles or perhaps it's the headlights with 200 triangle a piece.
Once I find out what is causing the most I will then go ahead and make a simpler version of it. For example I will just make a new cylinder with far less polys and position it right on top of the older version until it looks about the same and then delete the old one. Same thing goes for any other object.
Sometimes people create elaborate images using geometry on the side of a truck or something. You could just delete the whole side of the truck and then connect the 2 end edges back together.
For Example on this Postal Truck you see that the side of the truck has a geometric image consuming 316 triangles when I could easily replace it with a single polygon and apply a texture of the image instead later. So I will go ahead and delete it.

Then I must right click the model and convert it to an editable poly so I can use the bridge tool under the Edge selection. I will then select both edges and under Edit Edges I will click the bridge function to join the edges to form a new connected polygon face.

There you have a brand new truck wall...

I will then go ahead and do the same for the 2 other sides of the truck saving me a total of 942 triangles. You can use this technique for various parts of the car. I use it quite a lot especially if there are gaps in the model that were there from the start that would allow people to see through the car after being imported into the game.
LESS DETAIL IS OK
Not everything needs to be hyper detailed either. Sometimes you can get away with just having flat faces representing stuff like lights. In the example below this postal trucks back lights are taking up a total of 1,760 triangles! So what I did was selected the faces of the metal and light part and duplicated it to a new object by holding shift and moving them on the x plane creating a copy. Then I went back and deleted all the lights and even the wall panel because it had an outline of the lights built into its side. So I had to do a bridge connection to make a new wall face. then I moved those lights that I duplicated back to the wall and even moved the actual light face closer to the metal edge.
I could just have created a texture for the wall representing the lights but I've found that sometimes textures end up bleeding and not becoming as sharp as you want them to be so creating a geometric face can stop the bleed effect. I personally am probably going to end up making a transparent plane with the lights as a texture face and delete even that extra geometry I kept around because making an alpha transparent texture can also reduce color bleeding. I will explain more about alpha transparency later though.

FINAL CLEANUP
There is still one final step you could take to reduce the triangle count down even further. I well let this video do the explaining though as it is very informative and has helped me in many projects. While this video talks about how to make a proper lod this can also be applied to your main model because this game is low poly in general.
Alright so that explains a lot about how to reduce the triangle count which is a very important thing to do when making an asset for Cities:Skylines. Please do not attempt to skip these steps as they are essential in keeping peoples games running smoothly and effectively.
UVW Mapping
Now it's time to make a new UVWmap for the vehicle/model. 95% of the time you will have to do this and sometimes like I stated earlier you will find that the model has a uvwmap texture and is totally mapped, Score!. I start off by selecting everything in the scene. Then I go to the Unwrap UVW in the modifier list shown in green. Then once you do that you will see a new button at the bottom right hand side of the screenshot called Open UV Editor. which will open the window to the left hand side. You will want to select the square polygon icon tool. Then after that do Ctrl + A to select all. After you have selected all you can hit 1 of 2 buttons. "Flatten by Polygon Angle" & "Flatten by Smoothing Group" shown in the blue circle. I usually use the "Flatten by Polygon Angle" most of the time but sometimes the other option will have better results for certain things I'm trying to do.

Then after you have done so you should use the move tool at the top left hand corner and move everything to the left side just outside of the UVW space shown below... I do this because when you import something into the game and if every polygon is not inside the uvwmap space the LOD can become distorted even if you have a proper LOD made for it. It will cause your LOD to change colors and textures from other models not even related to your own. It's some weird bug.
By moving all these faces just outside of the space I can easily see later if I have used all the polygons in the texture space and know if I haven't and don't have to go searching around for stray polys way off the map.

Afterwards I will close the window and at the right hand side of 3DS max I will right click the Unwrap UVW modifer and select Collapse All and hit Yes. I do this because in the next step we will be selecting poly faces and our newly made uvwmap can get reverted, by collapsing all we ensure that this won't happen.
SELECTING PARTS OF THE MODEL TO UNWRAP
So normally after you do that initial unwrapping your model should still contain the colors like it did before if it had any to begin with. Then what I will do is select the area that I want to move on the uvwmap texture space. In the example below I have selected all the chrome elements on the vehicle and did a Unwrap UVW modifier from the dropdown like before. Then open the UV Editor again and as before select the square poly tool. Do a select all and hit the "Flatten by Polygon Angle" button. This will bring all those chrome elements into the texture space. Then what you can do is select the scale tool at the top left of the window and scale down all the elements into a tiny clump of wire frames as you see in the screen below. Move this clump to an area where you know where it will be. I personally usually start off doing my models unwrapping the base color first and placing in the top left corner of the texture space making the clump fit into a 3x3 checkered area which you will see in another screenshot later.

HIDING EXTRAS
After I've moved that clump to its position I will close the window and do a collapse all on that uvw unwrap so it won't move again. Then with all the chrome polygon pieces still selected find the hide options under the editable poly options, you can scroll down under the category "Edit Geometry" and select "Hide Selected" to hide all those chrome pieces so you don't have to dance around them when selecting other parts of the car. This does not work in Editable Mesh. View Screenshot below to see hide buttons.
I continue to repeat the process on different parts of the car until I've mapped and moved the texture maps to where I want them to be. As you can see in the screenshot below the different stages of selecting and mapping the rest of the car and hiding the selected polygons each time I unwrap, move the wireframes do the collapse all. This diagram is just a quick example, you will want to do the headlights, brakelights, turn signals, windows, body color, metal pieces and what not such as a license plate. By the time you get to the end you can just easily do a select all.
I also want to mention that you can end up finding extra polygon faces that you didn't see before that you can just end up deleting to optimize some more.
By hiding the finished mapped selections each time it gets easier and quicker to do the next parts of the model.

When you are done you can just hit the "Unhide All" button
TIRES & Proper Overlapping UVW Map lines.
Ok so many times the tires that come with the model will have way too many polygons for what we need. The game doesn't need a perfectly round tire and you can get away with making a much simpler sided one. So I will keep the tires around for now and make a new cylinder giving it 10 sides, basically what the default cars in game have. I did end up giving this Rolls Royce an 18 sided cylinder tire to make it a bit rounder and now that I'm writing this guide I'm thinking I may want to reduce that down a little bit because remember this tire are going to be duplicated 3 times to create a set of 4, essentially multiplying the triangle count by a lot.
Ok so now that you have created a 10 sided cylinder you will want to rotate it 90 degrees so it is standing up like the tire should be. Next I move the tire to where the models current tire is sitting and center the new cylinder over it and I will adjust the radius and width of the tire so that it matches the current tire of the car. You can see an example in my LOD video later.
Now that you have the first tire created you will want to convert the cylinder to an editable poly and do an unwrap uvw modifer from the drop down and open the UV Editor. Hit the square poly tool, then select all and hit the "Flatten by Smoothing Group". You will see here about what I said earlier with trying out both options, test them out and you will see that "Smoothing Group" works better here because it collapses the outer rim of the tire and does some of the work for us. You will see that there are circles now that we must overlay on top of each other so that we only need to have one rim/hubcap texture for all the tires.
So start off by deselecting everything and selecting the top circle polygon. If you then click and hold down the move tool icon at the top left of the window you can select an up and down tool so that the polygon can only move up and down. There is also a move left and right tool. The same goes for the scaling tool, it too has both these options which you will use from time to time. So now that you have the up and down move tool selected move the top circle and drag it down over the bottom circle, it looks good right? Wrong, you will want to zoom in after it's overlayed and you will see the lines don't quite match up perfectly. So I will zoom in further to the top edge of the circle and drag the poly some more until the top lines are lined up perfectly and will keep zooming in and repeating the process.

Ok now you have the 2 circles laying on top of each other and the rectangle of polys sitting to the side of it. Select all of that and move it to the right, just outside of the UVW map space. Then close the window and do a collapse all to the modifier. You now have a tire you can duplicate and not worry about having to overlay 8 circles on top of each other because now when you duplicate all the circles will copy to that overlaying position.
Once I have a perfect sized looking cylinder all uvw mapped I will then hold shift and move the tire to the back section of the car duplicating it. I will then move the tire if I have to until the back tire is aligned properly like the front tire and adjusting the radius if the back tire is bigger. Then I will select both tires and hold shift and duplicate those 2 tires to the other side of the car and adjust the tires if needed. Now you have a set of 4 tires, go ahead and select these 4 newly created tires and right click and click hide selected to hide the tires from the Viewport. Now go ahead and start deleting the old tires, once done right click the Viewport and hit Unhide All to bring your tires back.
Also to note that the game automatically recognizes the lowest part of the model as wheels and will actually spin and turn left and right. So if you don't make wheels the whole body of the car will flip instead. So if you happen to find a model with wheels attached to the model itself you will have to define new wheels for it so this doesn't happen.
REPEATING THE PROCESS WITH LIGHTS
This entire process can be used to replicate any lights you may have needed to recreate because the old ones had too many triangles. But normally for me the lights are usually fine and I just select both of the default lights and overlap those. Sometimes the lights you select will be fragmented into polygon shards in the UV Editor. It's ok if things don't line up perfectly for lights. I personally use an orange and red light texture and will align the main polygon faces over the image texture I use and will align the little shards that match up from both lights but then I will just place the little shards into the bigger polygon map line which you will see in a screenshot further below if you don't understand what I'm talking about. I'm talking about the red and orange lights.
MOVING UVW MAP LINES WHEN FINISHED
Ok, So you have unwrapped and defined all your models areas. Now it's time to move them to their final locations. Do a select all to select the whole model and Unwrap UVW modifier. Open the UV Editor and now you will see all your lines. Remember how we moved the tires just outside of the space? Ok now it's time to move it to its final location, find a good spot on the map and place it there. You can do this for all your defined map clumps.
By the time you are done you should have a map with areas that are separated from each other that you want to define certain colors for. Then you will want to go to Tools > Render UVW Template which will bring up the little window in the left of the screenshot. There you will want to change the width and height to 512x512 because we don't need a bigger texture map for a vehicle. Then change the 2 colors circled in blue to the color black, this will cause our saved wireframe map to have black outlines and is easier when viewing in Photoshop. Then click the Grey button "Render UVW Template on the small window. This will bring up the big black window you see on the right, normally it would have neon green wireframes but we changed the color to black. Then click the save button and save it as "z.png". The reason I save it as z.png is because sometimes you are constantly saving new UVW map templates and when I go to open in Photoshop I can easily find it by just scrolling down to the bottom and clicking the file.

After saving your new template go ahead and close the windows and do a collapse all on your modifier so you don't lose your work you just did.
FURTHER UVW MAP EDITING VIDEOS
Here are 2 videos that I found when I first started learning how to uvwmap. They were extremely helpful.
Short Video
Long Video
TEXTURING
DIFFUSE TEXTURE
Now you can open the z.png file you just created in Photoshop and should get something that looks like the UVW Template show below. There will be no white background so go ahead and make a new layer and fill it in white so you can see the lines a bit easier. Then you want to start filling in the areas defined with color or images as you see in the Diffuse Texture. The colored text is just to show you my defined areas. I normally put my base color to the left and my dark areas of the car that I want to be the same color next to it but only 50% grey so that when we use the color variation in the asset editor it will show this area of the car a similar color only darker. I normally use the dark color for areas like behind the wheels. I made colors for the Top and Chrome parts as well. I usually make the glass black because it seems to be a nice consistent color for windows opposed to something like blue, but you can change it to any color you want and it will affect how the glass looks.
Then you can crop some textures for parts like the lights or tire but make sure the texture goes past the map line so you don't end up having issues in game with the color not showing up totally. You can see my example in the screenshot below with the green lines.
ILLUMINATION MASK
For the Illumination Mask you will want to fill that in with 50% grey which will then define what we don't want to blink or light up. Fill in the areas that you want to represent head or brake lights with 100% white, this will cause these to illuminate and have the brake lights actually turn on and off when they brake. Fill in the orange turn signal area with 100% black, this will actually make the turn signals flicker when they turn left or right. If you don't make this mask half of your car will blink when they turn.
COLOR MASK
The color mask will define what parts of the model you want to change colors when selecting a color variation in the asset editor. Anything black will be disregarded and anything white will be the color variation. So In this example I've selected only the Base and Dark color to change.

ALPHA MASK
The Alpha mask is there to define transparency. In this example I wanted to place a licence plate on the car. and instead of selecting a a bunch of polys, going to the UV editor having to position them right and do a bunch of work that's not needed. I made a single polygon plane and unwrapped that and made an alpha mask so that there would be no black color around the outter edge of the licence plate as you can see in the image below. The red line is the outer part of the plane but I've defined certain parts of it to be transparent so that only the license plate shows up. So in the Alpha Mask I've defined the color white as everything I want to remain visible and the black areas where I would like the transparent parts to be.

SPECULAR MASK
The Specular Mask is where you want to define a reflective quality to your object.
- 100% white is defined as glass.
- 100% Black is defined as no reflection.
- Anything in between will be Semi-Reflective gradually getting more reflective the more white something is.
Here's the Green Outline image that I told you about earlier. See how the orange and red lights have small stacked polygon shards on top of each other? Just like the color clumps only a little bit bigger and defined this time because we are using a image and want the texture to show properly.

FURTHER TEXTURE DEFINING
Now that you know how to define Images such as lights and tires you could take it a step further if you really wanted to and select say the doors of a car and give them an outline texture. Maybe there is a spot on the car that you want to apply some sort of decal. Go ahead and select the polygon area you want to do that in and do an unwrap and modify the lines and position in an empty spot on diffuse map so you can add that decal perhaps.
If you notice in many of the above screenshots you will see that UV map Editor has a checker board background. At the top right of the UV Editor there is a drop down menu and you can actually select Pick Texture and then select Bitmap and pick your saved Filename_d.jpg file and it will show that instead letting you easily see where you could place some new map lines.
SAVING TEXTURES
Time to save your textures using the suffixs you see below. You should save them as .jpgs. There is no real reason to save your files as .png all that will do is create bigger texture files when a high resolution .jpg is just fine. Also as said before you only need a 512x512 map space so be sure to set that to the width and height when rendering your uvw map template.
Here's some more info quoted from the Skylines Wiki Page...
The material for Buildings supports up to 6 textures, each needs to use the same filename as the FBX file with a texture type suffix.
- "_d" suffix stands for the diffuse texture (RGB) - 3 color channels texture defining the albedo.
- "_a" suffix stands for the alpha texture (Mask) - 1 color channel mask specifying per pixel transparency.
- "_c" suffix stands for the color texture (Mask) - 1 color channel mask specifying per pixel where the color variations can be applied.
- "_i" suffix stands for the illumination texture (Mask) - 1 color channel mask specifying per pixel if the diffuse color should be considered emissive.
- "_n" suffix stands for the normal map texture (RGB) - 3 color channels tangent space normal map.
- "_s" suffix stands for the specular texture (Mask) - 1 color channel mask to specifying per pixel specularity.
NORMAL MAPPING
You will notice I did not include a normal map with this vehicle because I did not see the need to, there wasn't anything really that I felt the need to give a bumpy raised texture to.
I'm not gonna go into much detail about normal mapping but there are 2 payed programs that will easily allow you make a normal map if you so choose to make one as well as a few free ones suggested by BuilditwithProfanity. Here are the links to those programs...
Free Programs
- XNormal
- Browser based creator at Normal Map Online
- You could make one in an image editing program (Insane Bump is a free add-on for Gimp that can do it, or you can make one by hand although you won't have the benefit of a live preview.)
- Blender can also make one using texture paint or with baking, depending on what you're trying to do.
Basically you would Import your diffuse texture into one of those programs and play around with the settings to create a raised surface area for a part of your model such as a rocky face or a metal mesh wireframe, rivets etc. you would then save that file as your Filename_n.jpg and it will cause your object to have a raised surface. Keep in mind though when doing so that you would want to create a counter part in the specular mask to give it some extra visibility. If you want to know more about normal mapping do some searches on Google.
CREATING A LOD
I've created a 22 minute video of me making a LOD for this Rolls Royce. There is no voice, just music, but i will explain some things that happen in the video before you watch it so you can have a better understanding of what is going on.
First off for some reason the video does not show the right click menu when I convert to an editable poly or hide unhide stuff. So when you see that small grey box appear on the screen I am actually right clicking and either Converting something to an editable poly or hiding/unhiding stuff. It should be pretty easy to tell what I'm doing.
CREATING THE BASIC SHAPE
So I usually start off by creating a 1x1 rectangle shape and then move it to the car and then create edges and form the box to the cars curves. You'll see in the video that I use the function "Connect" under Edit Edges. You can only use this function as an Editable Poly. Basically you can select edges and then hit the connect settings box next to the word Connect. You can't see it in the video for some reason but an options box will pop up and at the top of that settings box you can type in the number of edges you want and then click a Check Mark.

I usually make an edge for every angle change on the top of the car. As you will see later in the video I also missed a window so I went back and made one extra edge to make that spot for the window texture.
NORMALS
When I am working on the wheels you will notice that when I duplicate the first 2 wheels to go to the other side of the car I select only the 2 newly created wheels and apply the modifier called Normal and then do a Collapse All. The reason I do this is because if I don't then those wheels will seem invisible in the game because the game only renders one side of the poly face. So by using the normal function I am reversing the side that the polygon is facing.
To show you what I mean, you could convert your object to an Editable Mesh because as an editable mesh you can choose the option check box called Show Normals as you see here... You'll notice when all the polygons are selected that there are blue lines now facing outwards, this is to represent which polygon face will be shown to the camera. Can you see now that the wheels normals are facing inwards to the car. That is why we needed to reverse them using the modifier. Normals not facing outwards will also appear darker than the rest of the correct polygons making it easier to tell what needs to be flipped.
Sometimes you will encounter some free models that have a lot of normals facing the wrong direction and you will need to use that normal modifier to flip them otherwise if you import a model without doing so you will see they have a lot of invisible looking areas.

Another thing I want to explain is when I'm going to apply the textures to the LODS polys you see in the UV Editor that I hit that icon next to the "Flatten by Polygon Angles" icon. The little red and white icon with a split in the middle that looks like a V. That is the BREAK function. If you select certain polys and then drag, other lines may happen to move with them and so they need to be broken apart from the rest so they become a separate entity.
Once you have created your base model/wheels for the LOD you will want to collapse them all into a single mesh. Which you see towards the end of the video. This is so we can more clearly define the axis pivot point.
Now that you have 2 models in the scene. Your Main Model and your LOD both stacked perfectly on top of each other you will want to edit the pivot points. You see me do this at the end of the video. I select both objects at the same time and edit the axis and check the Affect Pivot Only. Then I select Center To Object. This will center the pivot point to the middle of both objects. Then what you want to do is move the models at the same time so that they are positioned over 0,0 on the x and y axis on the Grid. Then go back to change the axis again doing affect pivot only and then move the pivot by entering in the numbers 0,0,0 for the x,y,z axis. This will move the axis to the bottom and center of everything. Then you need to rotate the pivot point so that the Y Axis is standing up straight as you see me do in the video. This is so when you go to import the vehicle it will load with the wheels flat on the ground and not have to select the "Bottom center pivot" in the asset editor. I do this because if you don't change the axis y to be up your lod could be standing up on its side if you do happen to check the "bottom-center pivot" option.

There you have it, a good looking LOD that will resemble your model from a far. Please remember that a LOD does not need to be overly complicated and you can be sure its safe to not even include stuff like fenders or other extremities coming off the vehicle such as bumpers because when you are zoomed out they all mesh into a little blob of color anyways.
In this video I created an 88 Triangle LOD but I managed to get that number down to 68 triangles. You can do so by sometimes clicking the optimize modifier in the same drop down as the uvw unwrap. Sometimes it could mess up your model though so pay attention.
HERE'S THE VIDEO
According to the Skylines Wiki it says this about LODS....
You may notice your custom models sometimes gets very distorted when viewed from far away : that's because the game automatically generates a low poly version (LOD) of your model and your texture in order to save resources. To solve this problem, you need to provide your own low poly version of the model (the fewest polys the better) and name it yourModelName_lod.fbx
For growable assets, the suggested limit on tris is 100. For larger buildings and monuments, you can go slightly higher (200). For props and vehicles, less than 50 triangles should be enough. For the sake of other players, please abide by these LOD limitations unless its absolutely necessary to break them. This is how the game regains performance when you are zoomed out.
Your low poly model should have a new UV set that is probably different than your original high-poly model, this is anticipated. The UVs should be kept in the 0...1 interval, since the LOD textures use a texture atlas and values outside that range will result in colors being taken from other random models. The game will automatically bake the textures from your high-poly base model to your new low-poly model upon import. Also, make sure no vertices in both high detail and LOD models are below the 0-level since they can confuse the baking process.
If for some reason you would like to override the auto-texture generation process (also called baking), you can create a diffuse texture for this low-poly model by importing a texture with "_lod_d" suffix (lowercase "lod" is important). If the diffuse texture is overwritten, the baking process is skipped entirely, so normals, speculars, etc also need to be set manually.
EXPORTING
Now that you have an Optimized Model and LOD you can Export each model individually to the Import folder. Before you do that however you must collapse your objects into a single mesh. To do that you must first do a select all and then go to the utilities tab seen below. You must go to Collapse then select mesh and below that into single object. Then you can hit the Collapse Selected Button to merge all your objects together.
Before doing all of this I usually save my stacked model and lod file. Then I just delete one of the models such as the LOD, Do the collapse all and export the main model as a .fbx. Then I will undo everything I did including deleting the lod and delete the main model this time. Then if you haven't already you can collapse the lod as well and save a .fbx too. They should look something like this...
Filename.fbx
Filename_lod.fbx
While we are on the Collapse panel tab I would like to explain about the "Modifier Stack Result" check circle. If you check that instead of Mesh and do a Collapse Selected. It will actually collapse all of your modifiers on any selected objects. Such as XForm / Unwrap UVW / ETC. This is good for when you have lots of modifiers on different objects and don't want to go to each one collapsing everything individually.

RESET XFORM
I would also like to go over Reset XForm. Now I had a lot of trouble when I first imported a model into the game and couldn't figure out what was happening. Weird things would happen to my model such as showing up slanted or being white, etc. Someone told me to do a Reset XForm. So I selected all my objects and did a Reset XForm, Collapse All and exported it to the game and it worked. So if you happen to have issues this may be a solution for you.
AXIS ROTATION
You must also rotate your objects axis now after the collapse and reset xform. You can do that by following the image below and making sure you rotate your Y Axis 90 degrees so that it is standing up straight to orient the object right in the asset editor. You can also move the pivot left or right / up and down to make the object offset on your building space in the editor. So for example you could make your building appear very far left or right in your map space. You could also move the pivot far below your object to make it appear up in the sky, or down in the earth. Play around with it!

Finally we can place our new files into the Import folder which is located here...
C:\Users\Yourname\AppData\Local\Colossal Order\Cities_Skylines\Addons\Import
You should also save all your texture files there as well. Once I have my main texture files saved I will open them all up in Photoshop and resize them to 64x64 and save those as their lod counter parts such as...
Filename_lod_d.jpg
Filename_lod_s.jpg
etc...
So now you will have a set of 512x512 textures and a set of 64x64 LOD textures.
IMPORTING
Go ahead and open the Asset Editor in game now. Click the category you want, in this case I selected Vehicle and selected a template, I went to residential > sedan and hit continue. Now your filename should show up as an fbx at the left hand panel. You may need to rotate your model on the Y axis using the in game rotate button so that it will be facing the right direction when you view it in game. I've had side ways cars driving down the street before lol. Click Continue.
Now you can edit the Material Color Variations as well as the speed. I believe that 20 is the max speed for the game. I've tried higher and nothing happens, but I know you can go slower. Then go ahead and save your file when you are done and check it out in game. You may have to go back rescale your model or change colors etc until it looks right.
There you have it! A newly imported functioning, optimized model.
If you are having trouble Importing the model you are working on, you may want to take a look at this thread linked below. It was a very helpful source of information for me as well as others when Cities:Skylines first launched. If all else fails you can search the forums for any specific related problems.
Some issues with importing models
ADVANCED MODIFICATION
Anytime I find new information about advanced topics or other related information to asset modification I will post descriptions and links here.
- Changing the "Springs" & "Turning" options using mod tools on vehicles. Changing the Up and down motion when stopping and accelerating as well as the swaying left to right when lane changing. https://forum.paradoxplaza.com/foru...-bucking-a-trailer-does-when-stopping.868961/
UPLOADING TO WORKSHOP
Once you have your game ready asset ready to upload to the Steam Workshop. Please Remember to leave a link in the description of your uploaded asset to the free model and to credit the original author for their original work! Thanks
Closing
As said at the start of this guide, I will continue to update this guide when I find out new techniques or information. Please feel free to share your ideas and thoughts to improve the guide. Thanks!
If you are having trouble and would like to talk to someone live you can do so at the Modders IRC Channel.
There are a lot of helpful people there willing to give advice. You can find it here...
#skylines-modders @ irc.esper.net
For those of you that don't know, you can't just type irc.esper.net as a website...
You need to have an IRC client to access the chat.
I suggest using Hex Chat which you can download here.
https://hexchat.github.io/
Other Sources of Helpful Information
Simtropolis.com - Cities:Skylines Modding - Open Discussion
http://www.reddit.com/r/CitiesSkylinesModding
http://www.skylineswiki.com/Modding
CGSociety.org
The Models used in this Tutorial
USPS Postal Truck - By Supreme Ruler of the Universe
Rolls Royce Phantom IV 1970 - By Gonzalo
Feel free to ask any questions, Hope you enjoyed the guide!
Last edited:
- 12
- 6