• Dear visitors,

    The email issue has been finally solved.
    Thank you for your patience and happy browsing.

    Team ACM.

TUTORIAL Creating a vao patch

Gunnar333

Well-Known Member
I hope this post will help to create a vao patch for your track. I am sure there are other ways to do this but this is how I managed to do vaos for my tracks. Please feel free to add and correct content to it.

What is a vao-patch
If you are using the Custom Shader Patch with AC you are able to apply another texture layer with prebaked shadows on your track objects. Called: Vertex AO

Here is what I found out about creating a vao patch:
For building the .vao-patch file you need the following tool, which runs in your command line:
CustomTracksBakery
v1.0.0.712 can be found here:
https://cdn.discordapp.com/attachments/453595062299918337/557046527156289546/CustomTracksBakery.zip
or optiXBakery (an alternative bakery, WIP/DEV, only works on Nvidia GPUs)
can be found here:
https://cdn.discordapp.com/attachments/479442360284086281/559878885466963978/optiXBakery-v0.zip

optiXBakery is much faster but I get better results with CustomTrackBakery. So I use this.

You have to copy the .exe and .dll files to your track folder where your kn5 files or your models.ini file are located.
open a command window and run CustomTracksBakery.exe. You will get a small help how to use it and a list of usable arguments.
CustomTracksBakery <model.kn5/model.ini>
If you have more than one kn5 file for your track which contains objects you like to bake you can point to your models.ini file which already points to your kn5 files.

In the same folder you can create a file called: Arguments.txt. Here you can put all your arguments you want to use in your bakery process. Here is what I used for Norisring:

Code:
--opacity=0.6
--saturation-gain=1
--multiplier=1.0
--extra-pass
--extra-pass-brightness-mult=1.8
--include-kn5s=*
--occluders-split-threshold=250
--skip=AC*, pstand*, trib*
--sync-normals=shader:ksTree, shader:ksGrass
--queue-size=8000
How to build your vao
After all this explanation here is a short example how I baked the vao for Norisring:

copy/create these files to "content\tracks\norisring":
CustomTracksBakery.exe, SlimDX.dll, Arguments.txt

open command promt or PowerShell or similar and go to content\tracks\norisring and run:
CustomTracksBakery.exe models.ini

the bakery will do its job for one or two minutes and creates a file called: models.vao-patch

rename it to norisring.vao-patch and leave it in your track folder for testing.
launch your track in AC et voilà!​

You can enable/disable vao with the BLM Lights app. If the vao switch is greyed out your patch is not loaded correctly.
I do think there's another method to enable/disable the vao patch (with SOL or one of the CSP Apps) but I don't remember now. :(

If you want to do a vao patch for a track that's not your creation join the AC Custom Shaders channel on discord:
https://discord.gg/4YErJw
Here you will find a lot of vao patches posted.

All vao-patches wich can be loaded/updated via content manager are located here:
assettocorsa\extension\vao-patches
To use them: go to settings -> Custom Shader Patch -> TRACKS VAO -> three points icon on the top right -> Install.
Or go to the GitHubPage:
https://github.com/ac-custom-shaders-patch/acc-extension-extra-vao/tree/84ad17daa5c8c66708393ae8aecd5347f7590955
All the available vaos can be downloaded here manually.
If you want to upload your own patch here you need a GitHub account and ask for access.

Where to put your vao-files:
You can put your vao in your track folder, but I only recommend this for tweaking and testing your file.
When you are happy with the result, move it to: assettocorsa\extension\vao-patches
Here you will find all vaos downloaded by Content Manager.
There is also a folder called:
assettocorsa\extension\vao-patches\loaded
but I cannot say for sure what is the need of it.

If you have released your track already, and nobody had done a vao yet, post your vao in the discord channel or ask for access to upload it to GitHub.

if you want to release a your track with your vao included: just include it to your track release but be aware of many user requests of how to handle this file, where to put it, what to do with it, etc...

further vao-patch naming rules (copied from discord):

when creating a .vao-patch file of a multi-layout track, use the formula:
  • track-folder-name__layout-ini-name.vao-patch
with DOUBLE underscore inbetween, and WITHOUT "models" name part of the .ini.
e.g.:
  • ks_vallelunga__extended_circuit.vao-patch
  • ks_drag__drag400.vao-patch
  • lakelouise_208__west_rev.vao-patch
Otherwise, if track only have 1 layout, just name it:
  • track-folder-name.vao-patch
 

AlleyViper

New Member
Just a small something to add,

The original debug app were you can check VAO at work, is AccExtHelper that you can find here along with the other apps that aren't included in the CSP package anymore. It's another useful tool to compare results for both creating methods, so you can have VAO-only grays on screen.

Because this VAO stuff was probably meant to be used equally on older stuff without proper baking on textures, the end result might look a bit too dark here and there on tracks were baking is already present. To deal with that, you can both further reduce opacity (Gunnar's example above already has a reduction from default), and add more stuff to --skip. In there you can both set object names and materials (with material:matname) for exclusion.

The resulting files with .vao-patch extension are zip files. So after creating them, you can still open them with your favorite compression program and re-adjust opacity (and brightness multiplier) under Config.ini, then pack them back (in the same zip format, but keeping .vao-patch extension naming) without the need of starting from scratch. On many of these existing vao patch files, you can also check "Baked Shadows Params.txt" inside to see what arguments the author has used.

Inside a track config, you can also force opacity and brightness multiplier values with:
Code:
[VAO]
OPACITY = 0.6 ; override opacity of VAO patch if set
MULTIPLIER = 1.0 ; override brightness multiplier of VAO patch if set
I've seen this present on some github configs, but I guess it's better to keep it under the Config.ini inside the final .vao-patch file (even if it can be handy for testing).
 
Last edited:
Top