Assetcreation is based on asset types, when you start creating your own asset, you can choose from a variety of pre-defined asset types, those types provide template behaviors for that particular kind of asset. For instance, when you select Vehicle - Bus, you will be able to upload your own 3D bus model and the uploaded model will automatically have behaviors of a bus! Sometimes you need to follow specific conventions e.g. the orientation of the model to make sure things behave correctly.
When you click on New Asset, a theme selection panel is shown. Themes are collections of assets that share a similar flavor, e.g. European, temperate, tropical, and winter. They are usually purely aesthetic. You can select one of the built in base themes or any custom theme that you have created or subscribed to from Steam Workshop. The theme does not affect your asset itself in any way, but the available asset templates vary slightly depending on the base theme. The selection is also useful for previewing how the asset will look in different themes. Especially with Snowfall, the winter theme can be used to preview how the texture-based snow will look like.
Once the type has been selected, choose an asset template to start from. These are built-in assets and previously created assets. The "Use existing decoration" toggle will load the existing decoration (if any) alongside the asset itself. Selecting the correct template is very important, since many properties will be inherited from it and cannot be changed later. These include things like the AI (which describes the in-game functionality of the asset), and UI category among others.
The next step is the decoration tool, where various objects such as props and trees can be used to decorate the asset. Some props are marked as random. They have several versions, of which a random one is selected for each instance of the asset when it is spawned in the game to make copies of the asset look more varied. Because of this, the asset will not look exactly like in the editor.
There is a toolbar for preview tools in the bottom of the screen. Currently it can be used to select the time of day, and a checkbox for disabling and enabling the automatic snow (only available if the base theme is winter). Note that the snow toggle is only for previewing: even if disabled, your asset will still have generated snow in the game.
Buildings can additionally be supplemented with sub buildings, which will be placed alongside with the main asset. New sub buildings can be placed by clicking the Add Sub Building -button on the bottom right corner of the screen. Sub buildings are copied and saved with the main building, so changes to the original template will require reimporting and saving. Some building types might not fully function as sub buildings.
The asset can be saved from the menu reached from the icon on the top right corner or pressing ESC. It will become available for use in the game, and can be found in the same category as the template that was used in its creation.
For example, when saving an asset, this functionality can be used to change the thumbnail and tooltip image of the asset seen in the in-game UI. This is done by replacing the files in this folder with new ones (of the same name, type and size). The changes will be instantly reflected in the save asset panel. Replacing the main thumbnail image also automatically regenerates the other states of the button, which can then be replaced with custom ones if so wished. Please notice that this temporary folder will be deleted when the save panel is closed, so the original files should be stored elsewhere.
It is important for the model to be one single object with no hierarchy. So make sure to collapse the hierarchy in 3DS Max for example.It is also important for the model to use a single material, otherwise it will be split in sub-meshes and will fail to display parts of it.
If your model imports sideways, you need to experiment with the pivot so that your modeling software matches Unity's coordinate system (left handed coordinate system, +X is right, +Y is up and +Z is forward (into the screen)).Pivot in your model needs to be 0 on Z-axis and in the bottom center of the building. For instance, 3DS Max needs a +90degrees rotation on the X-axis to match Unity's coordinate system.The vertices at the bottom of the building need to be at 0.
Assets size need to fit to a grid where 1 cell is 8x8 meters. When importing an asset, there are constraints on its size depending on what template you use. (i.e. zoning buildings can be at most 4x4 cells while city service buildings can be 16x8). Those limitations are not currently documented in one place but the decoration editor will limit the cells size of a building depending on its type so you should first play around with the template you are planning to use before modeling something which may be too large.Pretty good floor height would be 2.5 to 3 meters.
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.
The material for Buildings supports up to 6 textures in TGA format, each needs to use the same filename as the FBX file with a texture type suffix. All main model textures have to have the same resolution.
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 this is 100 triangles. For larger buildings and monuments, you can go slightly higher (200). For props and vehicles, less than 50 triangles should be enough. A typical texture size for the LOD models is 128 x 128. 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. The effect of the LOD model on runtime performance is often more significant than the high detail version. If the LOD model is too complex, the game may consider the asset broken and display an error message.
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. Often problems with the baking are related to trying to reuse UV space for parts of the buildings that are not similar enough (remember that the baking also bakes normals using the detailed geometry, even if no normal map is defined).
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, or you lose the advantage from the automatic normal map creation. Note: due to a bug in version 1.1.0, using this feature requires additionally importing both lod_s and lod_a for the model to work at all; neutral ones can be used.
The likelihood of a window to be lit at a given time and its intensity are randomized for values within 128 and 255, the closer the value is to a boundary the more likely it is to be lit and stronger.
The color mask in the built in trees is intended to be used to mark the foliage with black and the trunk/branches with white. More exactly, the parts of the tree for which the mask is white are not affected by the brightness and color variations, automatic texture-based snow, and normal recalculation from position (tree leaves are typically created with alpha masked, double-sided planes which cannot provide good normals). Notice that the automatic snow can also be disabled completely for a custom tree using the asset properties panel.
I've taken a break from Cities: Skylines 2 to give Colossal Order time to address its many issues, from performance problems to bugs to critical systems not working as intended. There's a lot of work still to do. I've also been waiting for editor tools, which is essential in a series that places such significance on mods. We've now been given a glimpse of the tools in action, which will be released "soon", though no specific date has been given.
One of the big differences in the sequel's tool set compared to the original is that they're now in a unified editor, allowing you to create custom assets and new maps without jumping between different editors. It also just looks surprisingly accessible, so when you're creating a new map you'll be using a lot of the same tools as you'll already be using in-game.
We do get a quick look at some asset editing, though, with props being added to existing buildings. It all looks manageable enough that I'm thinking of taking a crack at making some stuff myself, though just like with the original game I'll be relying on modders to make much cooler assets and tools so that I can make my perfect city.
3a8082e126