• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Salsuero

Recruit
7 Badges
Jun 16, 2019
7
0
  • Cities: Skylines
  • Cities: Skylines - After Dark
  • Cities: Skylines - Mass Transit
  • Cities: Skylines - Green Cities
  • Cities: Skylines - Parklife
  • Cities: Skylines Industries
  • Cities: Skylines - Campus
I don't know anything about modding or Blender, so it should come as no surprise that I'm having trouble making a simple road change. I have exported the segment .obj mesh file using modtools and opened it in Blender. I've edited the faces to get it to basically have a raised curb only on one side of the road. However, when I import the .obj file back in, I get a blue pavement. I am rattled and I have literally no idea what to do next. I'm just trying to make a duplicate road, but with a raised curb on only one side and I thought it would be pretty simple. It's not. Please help! I have searched for tutorials, but there isn't really anything comprehensive from what I could find.
 

Attachments

  • Salsuero's Road Modding.zip
    945,2 KB · Views: 22
The .obj file is only for the mesh. The texture comes with texture maps. They are missing when you just import the .obj. You can also export texture maps with modtools.

Here is a general guide for asset creation:
https://steamcommunity.com/sharedfiles/filedetails/?id=500036497

Here is the road wiki with important informations for road assets:
https://skylines.paradoxwikis.com/Road_Editor

I guess if you havent changed the UV mappings and just adjusted the road mesh itself it is enough to export the maps with modtools and import the .obj with the respective maps again.
 
The .obj file is only for the mesh. The texture comes with texture maps. They are missing when you just import the .obj. You can also export texture maps with modtools.

I guess if you havent changed the UV mappings and just adjusted the road mesh itself it is enough to export the maps with modtools and import the .obj with the respective maps again.

Thanks for your reply!

I read the references you included already and again just now. But the only thing I see that can be exported with modtools is the mesh file. Obviously, I'm missing something or looking in the wrong place... but I was following a YouTube video that didn't say a whole lot.

I don't see how to import a texture map either. I don't know what to name it or how to import it with the asset editor... only the mesh file. From the resources, I think I have to name it with a _x suffix, but I'm not sure which one(s) I need (I'm guessing the normal map or is it the diffuse texture -- or all of them?)... or most importantly, how to get them from modtools... but do they get imported automatically just for being there with the correct filename+suffix?

Looks like I'm supposed to have a LOD version of the mesh too? Is it just a copy of the main mesh file with a different name?

Also, should I be exporting these as .fbx files or .obj files? Is there an important difference? Will that be the next problem I have after figuring out the texture part?

If I could be given a bit more instruction other than the references alone, that would be really helpful. I don't mind doing the work. But I can't understand the instructions given.
 
Last edited:
It is easier to extract everything from buildings, roads seem to be more complicated. The linked video explains everything. The strange thing is that there is a preview with a "dump mesh+textures" button right next to the segments in the m_segments list and the preview shows the road with texture but nothing gets dumped when you press the button.
 
Ok. My first attempt hasn't gone smoothly, so I've decided to take all of the reading and YouTube watching and attempt to recreate the simple basic two-way road. I've done everything the YouTube video said to do. But when I import the meshes/textures back into the game, the markings don't show up. I'm not really interested in them, but it will help me to understand how to do what I want if I can at least start with doing what the game already does. I can't get the dashes down the middle of the road to show up. The color is off as well, although it's not a huge priority to me, but I would like to understand why. I also notice that the manhole doesn't show up in my version, but I haven't removed any props from the lanes. If I set one to 100% probability, it shows up, so it's not "covered" -- it just doesn't do what the original one does exactly for some reason. I don't know what to do next... what am I missing?!

The attached file has the GIMP files and PNG exports, BLENDER files and OBJ exports, CRP file for my asset, and images showing what I see comparing the original road to my recreation.
 

Attachments

  • RoadWithMarkings.zip
    2,8 MB · Views: 21
The maps in your file are the lod maps (only 64x64 pixels). They should end with _lod_d, _lod_p ect.. You need to find the maps for the normal mesh. I think they are 1024x1024 pixels.
 
Ok, now i have watched the whole part of the video where he actually makes the maps. Only the diffuse map will be extracted. He creates the pavement and road maps himself. And i actually extracted a basic 2 lane road with the crp extractor and i have several 1024x1024 maps with the actual road segment diffuse map.
 

Attachments

  • road.png
    road.png
    652,6 KB · Views: 17
Ok, well I've tried making this work and I can't find the 1024x1024 images in my extracted folder (attached) for the basic two-way road. Clearly I'm not able to figure this out and I've put a LOT of time and effort into it. I made a new road in the asset editor based on the basic two-way road, clicked on it just to make sure it was enabled and usable, and immediately saved it as a new asset (attached). Please ignore the fact that I labeled everything "two-lane" instead of "two-way" -- I'm frustrated and I'm not thinking about names right now. What am I missing? I don't see anything that is 1024x1024 for this road. Thanks for your help!
 

Attachments

  • Two_Lane_Road_(Vanilla_Clone).zip
    835 KB · Views: 16
Is this correct for in-game geometry when it comes to how the two-way road is UV mapped to a 1024x1024 texture image? I'm trying to make sure I create my textures according to how the game presents them, but the UV-mapping seems really weird given that it runs off the image. But... as a noob, I can't say that this is "wrong" or "bad" without actually knowing. It's just a guess as I lined things up based on a mesh and texture used for an alternative two-way road from the workshop that had a 1024x1024 texture I could extract. I'm not sure how the sides work... whether they are supposed to run off the image or they are supposed to be lined up to the edge... because that would involve stretching the UV mapped road sides and I wasn't sure where the part that breaks down/away from the sidewalk is supposed to begin. It's all a guess on my part, honestly. If I'm totally wrong, I'd be happy to learn what's right.
 

Attachments

  • Blender UV Mapping.zip
    1,7 MB · Views: 19
First question:
I have seen this "basic two lane road" but now i can't find it anymore. Don't use it. Export from "two lane road". This is probably the problem but since it currently doesn't appear for me i can't check it. I exportet from "two lane road" and i have got the maps.

Second question:
This version is wrong, the game can't handle this. When i export from the "two lane road" it is correct. The mesh is mapped to the 1024x1024 UV map and must not run off the edge. The reason is that the game engine stretches, bends and slides on the UV map according to its needs. YOu tried to make it look right in blender but that is not how the game needs it.
 
Response to Reply to First Question: Ok, so let's avoid confusion. I'm the one adding the word basic. I'm using the vanilla two-way road. The only thing "basic" about it is its nature in the game. It's not a custom asset. It's the actual vanilla game asset. There's nothing special about it. It should work fine. It doesn't for me.

Response to Reply to Second Question: I don't understand what is "wrong" about it. I didn't have the 1024x1024 texture when I was working in BLENDER (didn't realize you had attached one), so I upsized the 64x64 version in GIMP just to have something to work with. The problem for me is that the OBJ mesh doesn't match the DDS texture from the same asset... the vanilla two-way road. It works perfectly fine in-game, but dumping the OBJ file from the game, and using extract_crp to get the DDS file... they don't align if I unwrap the UV in BLENDER. I unwrap the UV using the simple "unwrap" command (have to remove duplicates first to merge it all properly). It only unwraps to about 1/3 of the 1024 width (since the mesh isn't square itself), so I center the unwrapped content and scale it on the X axis to the full 1024 width. That gives me a fully unwrapped UV aligned to the 1024x1024 grid, but the texture doesn't line up with the mesh unless I do what I did and scale it off the grid. The other problem is that, if I don't scale it the way I did, the texture shows as stretched in the 3D view (as the texture appears to be 1/4 the mesh in the Z axis). In other words, when I scale the unwrapped UV to 400% in the Z axis, the texture looks appropriate in the 3D view. But that clearly shouldn't be the case, so is it just not supposed to look proper in the 3D view to work in-game? If so... how does one gauge how a texture will look in-game while in BLENDER without going back and forth to the game? Obviously I'm doing a lot here, but I'm missing key information to my methodology.
 
Last edited:
Here are my dumped .obj, the .crp from the road, my extracted files from that .crp, the 1024x1024 diffuse and the blender file with the .obj imported. The UV mapping is already present because it is saved in the .obj file. You don't have to unwrap yourself. Only if you modify something that would need parts to be unwrapped.

I don't know what doesn't work with your extraction, but with these files you can import your own road.

Roads are unlike buildings which you plop and which don't change their mesh. Road segments and nodes change according to the needs. A curve ingame will bend the mesh, a long road will stretch the mesh, a short road will squeeze the mesh, a node will look different depending on how many roads are connected and at which angle, the texture will UV scroll and always "repeat". All things that buildings doesn't do. So if you want to check how the road will end up looking you have to switch to the game. But the apperance of every asset heavily depends on game engine, lut, video settings ect. so you should always switch to game to check if everything is according to plan. Especially when you add normal map, specular map, illumination map ect.
 

Attachments

  • Road.rar
    8,3 MB · Views: 22
Last edited: