Tracks Track Building Series

Figured I would post a dedicated thread here for the track building series I am doing. I'll update the OP with each episode as I post them.

I can't have more than 3 media entries in a post so I changed it to links.

Episode 1
Documenting the process of building a track from LiDAR data in Blender. Episode one shows the basic process of using Cloud Compare to bring the data into Blender and to start building the main track surface.

Episode 2
LiDAR Classification, curves for objects, making basic wall objects, various tips and tricks

Episode 3
Basic UV maps and materials

Episode 4
Spawn points, basic exporting into kseditor, setting basic materials and object names to get the track in game.

Episode 5
Basics of moving a project from 2.79 to 2.8

Episode 6
Going over the process of building a high resolution road mesh.

Episode 7
Land filling, wall issues with banking, using displacements for array objects.
 
Last edited:
Awesome.

The amount of bezier curves gets crazy, once you start duplicating one than another etc. You end with so many backups of backups.


One thing that you didn't cover and maybe its coming in another episode? Or you can just reply.

The actual physics mesh and cutting it up into chunks. Same with visual mesh.

Also what about filling in the surrounding area. Are you using curves and than making array plane the shrinkwrapping to the ground? Obviously lot less geometry. Don't need the whole place just small example of your process.


........

if you squint enough you can see the track...just visual and no kerbs and not enough resolution on curves...

yRM8MQg.png

Js499Gm.jpg
 
Thanks so much for doing these, Lilski! Lots of great advice already, looking forward to the rest of the series

Awesome.

The amount of bezier curves gets crazy, once you start duplicating one than another etc. You end with so many backups of backups.


One thing that you didn't cover and maybe its coming in another episode? Or you can just reply.

The actual physics mesh and cutting it up into chunks. Same with visual mesh.

Also what about filling in the surrounding area. Are you using curves and than making array plane the shrinkwrapping to the ground? Obviously lot less geometry. Don't need the whole place just small example of your process.


........

if you squint enough you can see the track...just visual and no kerbs and not enough resolution on curves...

yRM8MQg.png

Js499Gm.jpg

... Is that Mont Tremblant? :D
 
Awesome.

The amount of bezier curves gets crazy, once you start duplicating one than another etc. You end with so many backups of backups.


One thing that you didn't cover and maybe its coming in another episode? Or you can just reply.

The actual physics mesh and cutting it up into chunks. Same with visual mesh.

Also what about filling in the surrounding area. Are you using curves and than making array plane the shrinkwrapping to the ground? Obviously lot less geometry. Don't need the whole place just small example of your process.


........

if you squint enough you can see the track...just visual and no kerbs and not enough resolution on curves...

yRM8MQg.png

Js499Gm.jpg
All that will be covered in future episodes.
 
I hope you don't mind if I post some alternative views. Personally I don't think it is a good idea to store the fbx files and textures inside the ac track folder. The way I have always done it is to have a work folder where I have all my work files in work folder and there I also have an own folder for kn5 exporting. I manually copy the kn5 files to ac folder from that work folder. To me that just feels a lot simpler and you don't need to clean up your ac folder when you make a downloadable package.

It just keeps everything separate and you also get a free low level backups if you keep ac and work folder on different hard drives. Of course backups need to exist elsewhere as well but personally I'd not put anything inside the ac track folder that is not supposed to stay there. Only time I break this rule when I try new textures. Dropping the dds texture into the "texture" folder in ac track folder is very quick way to figure out how it looks inside the game (better than trying it in sdk) and once I get something that looks good enough I'll copy the dds to sdk texture folder and export new version of the kn5 and copy it to ac folder.

I'd also recommend leaving the texture folder in but empty. That way people can use it for skins if they make alternative textures for road or track side ads or anything else. Of course they can make the folder themselves but I think it is a good idea to leave it there. And it is there if you want to quickly test a different texture.

Also for blender there is a useful addon called copy attributes (comes with blender) which I think a lot of the time is better than ctrl-L as it can copy selected modifiers from one object to others plus other things.

Another thing I think that is useful is that if you switch from blender internal to cycles you can setup ac shaders as nodes almost exactly like they they function in the game with masks and so forth. Like the road and grass shaders. With cycles you don't even need to use nodes but I don't really see any reason why not use nodes. In cycles it is pretty easy to make materials with alphatest and alphablend really easily and it is super simple to use and you can build all the ac shaders as well with different texture scalings and whatnot. None of that exports into the sdk but at least everything inside blender looks like ac. At this point in time I'd not bother with blender internal at all. Blender 2.8 doesn't even have it so you need to use cycles or eevee anyways.
 
On the external folder aspect, I use a batch file (.bat) with a line like this for each kn5, and just run it every time I've saved the kn5 from kseditor.
Code:
copy /B delaware_speedway.kn5 "D:\Prog_x86\Steam\steamapps\common\assettocorsa\content\tracks\delaware_speedway\delaware_speedway.kn5"
/B is to move binary files, then it's input and output locations, you can just name the file as input if the script's in the folder you export in.

In the fbx export, going to the 'animation' tab and disabling all animation export is a good idea, 2.79 takes a very long time to calculate baked animations if anything in your scene happens to have animation keyframes.
 
Last edited:
Sure but I'll give the reasons why I do what I do.

I've always worked out of the AC folder because I don't want the extra step of copying over files even if it's a batch file. In the grand scheme of things the fbx files and textures there are throw aways if something where to happen. The source blender/gimp materials are what is important and they live on another drive and are backed up daily. They only thing that could be lost is the persistence files but they can be configured to be backed up to another folder by the editor if you want. And on a final note about cleaning it up for release. I do that once in a 1000 times I export and save kn5s so I would rather save 1 step in the 1000 times I do something compared to the 1 time I make a release folder.

You can include the skins folder instead of the texture folder. The point in the video was just that it isn't needed and should not include any dds files with the release.

As for nodes and shaders in blender be my guest. I have never done it and don't really care to waste time on it. Also the point here is to keep things as simple as possible as the minimums to get something working in game. If the shader values were imported into the editor that is one thing. But I have little interest in doing things twice. How it looks in blender is of little interest to me. Plus at this point I know exactly what something will look like when I say attach a simple mask texture and UV map it.

And yes I use copy attributes too but don't use it too much. I'll use it mainly when I get to displacements on things like Armco and stuff but I haven't shown anything like that yet.
 
As for nodes and shaders in blender be my guest. I have never done it and don't really care to waste time on it. Also the point here is to keep things as simple as possible as the minimums to get something working in game. If the shader values were imported into the editor that is one thing. But I have little interest in doing things twice. How it looks in blender is of little interest to me. Plus at this point I know exactly what something will look like when I say attach a simple mask texture and UV map it.

And yes I use copy attributes too but don't use it too much. I'll use it mainly when I get to displacements on things like Armco and stuff but I haven't shown anything like that yet.

That is something I have been thinking about lately.

I know that Ilja has edited kseditor out. Last week Ilja said he is working on moving some of ksEditor functionality to AC.

Wonder if writing custom script in blender that would write shader values out to persistance file is possible.

Would cut down on time.
 
Last edited:
For what it's worth, on the car side of things, I have all of those files in the directory as well (same reasons as Kevin).

Just make a sub-directory called "dev" or similar and it makes saving kn5s quick and moving files before release easy.
 
@LilSki

what would cause some parts of the track not to export to editor?

I created physics mesh. As separate kn5.
Than I shrink wrapped just visual mesh to it.
Lot less geometry. Just turns like you said to decrease stair affect.

So I split the track into parts etc..

Anyway for weird reason when I export the visual mesh into editor only some parts show up.

I can't figure out why this is happening. Its uv unwrapped, has texture etc. Scale is correct.

Some parts of track show up in the kseditor but when you double click it to zoom in on some its empty space lol.

Q0K2YnB.png

m2bcPiK.png
 
Last edited:
They could have different materials? The default material setting is fully transparent for some reason.

Its all using same exact material. Follow active quads etc. uv uwrapped with follow active quads. Just like video lilski does it.

Hmm. When it was all one piece it works.

Sigh. Gonna rebuild it again.

I notice sometimes with track side buildings if there is not enough thickness ie stairs it won't show up in editor. Using tiny bit of solidify fixes it.
 
Its all using same exact material. Follow active quads etc. uv uwrapped with follow active quads. Just like video lilski does it.

Hmm. When it was all one piece it works.

Sigh. Gonna rebuild it again.

I notice sometimes with track side buildings if there is not enough thickness ie stairs it won't show up in editor. Using tiny bit of solidify fixes it.
Check your normals. If your normals point to wrong direction the mesh becomes invisible as the object can be seen only from one side. You could try recalculate or flip normals. In blender it probably looks as nothing is wrong if you backface culling off. Also be careful how you apply your shrinkwrap modifier. If you do anything to the modifier's target mesh the mesh with shrinkwrap can move around to totally different place.
 
Check your normals. If your normals point to wrong direction the mesh becomes invisible as the object can be seen only from one side. You could try recalculate or flip normals. In blender it probably looks as nothing is wrong if you backface culling off. Also be careful how you apply your shrinkwrap modifier. If you do anything to the modifier's target mesh the mesh with shrinkwrap can move around to totally different place.

Ahhh thanks a lot.

For some reason some normals were flipped. Must gone weird when I applied shrinkwrap that caused it.

Now it shows up.

DIYD3Fr.png
 
I've got two track in development for ages, but I'm runnning into self-doubt and other troubles.
I'm not using Blender, but maybe I can share my problems and progress?
46515945_342973096488211_5944722864992157696_n.jpg
48389216_2543008342392546_8630317201661886464_n.jpg
 
Ignore the crappy google earth texture work.

Managed to get terrain physical/visual...same with road physical/visual done.

Textures just placeholder.

I think it turned out decent enough considering the Lidar was not very high res at some points ply points are 1.5 meters apart.

Still a long long way to go.




keyboard driving video vs real thing. comparison
 
All respect, I think it's wrong of you guys posting your very first trackwork here.
I'd like to see a clean thread with valid information, not a showroom of basic stuff each time you work something out.

A clean thread might inspire more as an A-Z of trackwork, that Lilski is highly capable of producing.

Make your own work-threads.

Thanks
 
All respect, I think it's wrong of you guys posting your very first trackwork here.
I'd like to see a clean thread with valid information, not a showroom of basic stuff each time you work something out.

A clean thread might inspire more as an A-Z of trackwork, that Lilski is highly capable of producing.

Make your own work-threads.

Thanks

If you want clean thread.

Just don't scroll down further after post 1 and problem solved.

This thread is learning process.
 
Back
Top