AC Modding Questions Thread

Hello again,
I've been learning more and more about track modeling for Assetto Corsa and other games. One thing that I am stuck on, though, is how people do "3DSmax" style curbs (the way the curbs are integrated with the track and grass meshes) in Blender. I think it is possible, because I have seen these curbs being used in tracks that are allegedly made in Blender.

My current method of doing curbs is to take a curb-shaped object and array it along a curve, which someone mentioned in this chat that was fine, but I've run into a few situations where it's really not fine.
 
Well, this is even weirder. I just loaded the car with a bunch of AI car and this happened

Screenshot_madformulateam_mft01_southern-circuit_17-3-122-11-7-14.jpg

To clarify, this only occurs with AI cars. My car loads fine and it's perfectly driveable. I fact I can put my car in Autodrive and it'll work fine. Not sure why this happens but any help will be greatly appreciated

PS. Ignore the model reflections, I'm still working on smoothing the surface
 
Last edited:
Well, this is even weirder. I just loaded the car with a bunch of AI car and this happened

View attachment 559266
To clarify, this only occurs with AI cars. My car loads fine and it's perfectly driveable. I fact I can put my car in Autodrive and it'll work fine. Not sure why this happens but any help will be greatly appreciated

PS. Ignore the model reflections, I'm still working on smoothing the surface
my first thought is maybe the AI randomly change setup items (I don't know if this is true, at least for all setup options, if not that puts a stop to this theory already), and the setup range for toe is far too big, meaning AI are allowed to choose toe rod lengths that break the geometry.
Try limiting the toe angle range in setup.ini and see if it changes anything.

may also be a ride height thing too, so again you can limit the range to something sensible and try again.

edit* looking at AI race logs, it seems they only change wing level and tyres, so my above theory probably isn't correct. Worth trying though, just in case
 
Last edited:
Hello again,
I've been learning more and more about track modeling for Assetto Corsa and other games. One thing that I am stuck on, though, is how people do "3DSmax" style curbs (the way the curbs are integrated with the track and grass meshes) in Blender. I think it is possible, because I have seen these curbs being used in tracks that are allegedly made in Blender.

My current method of doing curbs is to take a curb-shaped object and array it along a curve, which someone mentioned in this chat that was fine, but I've run into a few situations where it's really not fine.
Depending on the situation, you are probably going to need to do a lot of manual labour. Make a mesh and snap it to the kerb objects for instance.
 
My current method of doing curbs is to take a curb-shaped object and array it along a curve, which someone mentioned in this chat that was fine, but I've run into a few situations where it's really not fine.
The shrinewrap modifier is really handy to fill gaps between everything. Then there's also a lot to play around with with the individual source curb object as they bend around vertices etc.
 
Who can help with lights reflection issue. On this Golf, lights from headlights and lamp posts looking matte, metal_material.dds and map.dds do not affect on that. Maybe i need to change something in 3dsimed?
IMG_20220417_195652.jpg
 
Last edited:
Who can help with lights reflection issue. On this Golf, lights from headlights and lamp posts looking matte, metal_material.dds and map.dds do not affect on that. Maybe i need to change something in 3dsimed?
3dsimed is not typically the right tool to use but you do need to set the material properties, not just textures:
gslaCF9.png

All the ones I marked in white affect the things you're talking about. fresnel and sunSpecular should always be these values on glossy objects. isAdditive also needs to be 2. usedetail and ksSpecular influence each other so it's not always straight forward. if usedetail is true then specular gets multiplied by the detail texture's alpha channel, which generally means you use a higher ksSpecular to give you a range of workable values from the texture. with no usedetail you'll probably want ksspecular 0.1-0.2 instead.

if it's not using ksPerPixelMultimap then the other shaders may not allow reflections at all, easiest solution is always use this shader on reflective objects.
 
Last edited:
3dsimed is not typically the right tool to use but you do need to set the material properties, not just textures:
gslaCF9.png

All the ones I marked in white affect the things you're talking about. fresnel and sunSpecular should always be these values on glossy objects. isAdditive also needs to be 2. usedetail and ksSpecular influence each other so it's not always straight forward. if usedetail is true then specular gets multiplied by the detail texture's alpha channel, which generally means you use a higher ksSpecular to give you a range of workable values from the texture. with no usedetail you'll probably want ksspecular 0.1-0.2 instead.

if it's not using ksPerPixelMultimap then the other shaders may not allow reflections at all, easiest solution is always use this shader on reflective objects.
Big thank you. Maybe you can suggest, how to change flakes colour, i need to change metal material.dds or it must be changed in extension? In extension i dont find any hex or rgb colours or something about flakes. I want to change flakes to purple so bad
Screenshot_20220418-124056_Video Player.jpg
 
Last edited:
my first thought is maybe the AI randomly change setup items (I don't know if this is true, at least for all setup options, if not that puts a stop to this theory already), and the setup range for toe is far too big, meaning AI are allowed to choose toe rod lengths that break the geometry.
Try limiting the toe angle range in setup.ini and see if it changes anything.

may also be a ride height thing too, so again you can limit the range to something sensible and try again.

edit* looking at AI race logs, it seems they only change wing level and tyres, so my above theory probably isn't correct. Worth trying though, just in case
Reduced the rod length, and that seems to have fixed it. Thanks!

While we're at it. Do you know how to make the AI use DRS? I'm talking about a P1 style DRS (So ignoring existing zones). I can't figure out how to make the AI use it, which surprises me as with other cars like the F1 cars it activates it as soon as it can do so

Also. The fans IRL can be switched off when pushing a DRS button. I have added moving fans as an extra animation, however I'm not sure if it's possible to have them in such a way they turn off when DRS is active. I was thinking on having it as a DRS animation, but then they wouldn't move when DRS is disabled (So fans on). Is this possible to do?
 
Last edited:
3dsimed is not typically the right tool to use but you do need to set the material properties, not just textures:
gslaCF9.png

All the ones I marked in white affect the things you're talking about. fresnel and sunSpecular should always be these values on glossy objects. isAdditive also needs to be 2. usedetail and ksSpecular influence each other so it's not always straight forward. if usedetail is true then specular gets multiplied by the detail texture's alpha channel, which generally means you use a higher ksSpecular to give you a range of workable values from the texture. with no usedetail you'll probably want ksspecular 0.1-0.2 instead.

if it's not using ksPerPixelMultimap then the other shaders may not allow reflections at all, easiest solution is always use this shader on reflective objects.
Thanks again, i figured out how it works, paint looks great, but glass and rear lights still mate, i copied some lines with glass parameters to main extension file, but it still matte. Maybe you know how to fix it too?
Screenshot_vw_golf_mk3_vr6_shuto_revival_project_beta_17-3-122-21-54-19.jpg
 
Reduced the rod length, and that seems to have fixed it. Thanks!

While we're at it. Do you know how to make the AI use DRS? I'm talking about a P1 style DRS (So ignoring existing zones). I can't figure out how to make the AI use it, which surprises me as with other cars like the F1 cars it activates it as soon as it can do so

Also. The fans IRL can be switched off when pushing a DRS button. I have added moving fans as an extra animation, however I'm not sure if it's possible to have them in such a way they turn off when DRS is active. I was thinking on having it as a DRS animation, but then they wouldn't move when DRS is disabled (So fans on). Is this possible to do?
Finally, and I promise I stop here, any decent tutorial regarding how the wing height luts work would be greatly appreciated
 
While we're at it. Do you know how to make the AI use DRS? I'm talking about a P1 style DRS (So ignoring existing zones). I can't figure out how to make the AI use it, which surprises me as with other cars like the F1 cars it activates it as soon as it can do so

Also. The fans IRL can be switched off when pushing a DRS button. I have added moving fans as an extra animation, however I'm not sure if it's possible to have them in such a way they turn off when DRS is active. I was thinking on having it as a DRS animation, but then they wouldn't move when DRS is disabled (So fans on). Is this possible to do?
Sorry I dont have any answers for these. If the P1 AI aren't using DRS then i guess its just not something they do. And i don't think its possible to turn an infinitely rotating animation off/on
any decent tutorial regarding how the wing height luts work would be greatly appreciated
not sure what specifically you are after but its quite simple, the luts are just multipliers.
So 0.050|1.05 means at 50mm, the wing is making 105% drag/downforce it would have otherwise been.
The height value can be seen in the Wings App ingame, listed under GH in mm (the luts are in metres)
 
Last edited:
Hi, I'm making my first car in AC & I have 2 questions regarding FBX & ksEditor:
- When I load up the car model in ksEditor, I have to apply a texture to the entire model. I can't apply a texture to just the wheels, even though they are separate objects in Blender. How do I fix this?
- When I try to load the collider, I get a message saying: "ERROR, FOUND SCALING ON NODE: RootNode". How do I fix this (if I even need to)?
I can provide pics if asked. Thank you in advance.
 
Hi, I'm making my first car in AC & I have 2 questions regarding FBX & ksEditor:
- When I load up the car model in ksEditor, I have to apply a texture to the entire model. I can't apply a texture to just the wheels, even though they are separate objects in Blender. How do I fix this?
- When I try to load the collider, I get a message saying: "ERROR, FOUND SCALING ON NODE: RootNode". How do I fix this (if I even need to)?
I can provide pics if asked. Thank you in advance.
You must apply materials in Blender before exporting to FBX; the KSEditor takes the material IDs from the FBX file. The only thing the materials need in Blender is a unique name, and ideally the diffuse texture so the KSEditor auto loads this texture on first import. Don't forget to save the persistence file after editing in KSEditor so that you don't have to redo all the material setup every time you make some changes.

For the scaling, check any empties you have in your scene, and make sure their scale is set to 1. That's about the only idea I've got there. Generally in Blender we work in metric, meters, and export our FBX files with a scale of 0.01 IIRC. This results in a proper scale within the editor.
 
Is there a way to add an object to a car for a specific skin, e.g. a rear wing, using ext_config.ini file? What would the code look like? I'd assume it's specifying the object (a .kn5?) and it's position within the LOD_A, but I've no idea how to proceed.
 
Is there a way to add an object to a car for a specific skin, e.g. a rear wing, using ext_config.ini file? What would the code look like? I'd assume it's specifying the object (a .kn5?) and it's position within the LOD_A, but I've no idea how to proceed.
It would be something like this
[MODEL_REPLACEMENT_...]
FILE=porsche_912_outlaw.kn5 ; LODA file name
HIDE=HUB_LF ; any meshes you want to hide
INSERT=porsche_912_fuchs.kn5 ; kn5 containing the new object
INSERT_AFTER=COCKPIT_HR ; in the object tree, it becomes a child of the same parent as the named object. so here being after COCKPIT_HR means it's not in the interior
SKINS=light_ivory ; folder name of any skins it should apply to

You might need to replace the _... with a specific number depending on what other [MODEL_REPLACEMENT] sections the config has. It needs to be assigned a different number from any other ones and ... just lets it autoguess.
 
Last edited:
It would be something like this
[MODEL_REPLACEMENT_...]
FILE=porsche_912_outlaw.kn5 ; LODA file name
HIDE=HUB_LF ; any meshes you want to hide
INSERT=porsche_912_fuchs.kn5 ; kn5 containing the new object
INSERT_AFTER=COCKPIT_HR ; in the object tree, it becomes a child of the same parent as the named object. so here being after COCKPIT_HR means it's not in the interior
SKINS=light_ivory ; folder name of any skins it should apply to

You might need to replace the _... with a specific number depending on what other [MODEL_REPLACEMENT] sections the config has. It needs to be assigned a different number from any other ones and ... just lets it autoguess.
Great; thanks for this starting template.
So, in my example of adding a wing, I've several questions:

  1. I'm not hiding any meshes so I don't need HIDE= ; is that okay?
  2. INSERT= is the wing that I want to bolt on the back of the car in .kn5 format. And as long as the wing has the correct x,y,z and rotation w.r.t. to the LODA then it will land in the correct position?
  3. INSERT_AFTER= ; how is this command different than INSERT= ? I don't understand the distinction.
  4. SKINS= ; I understand this is the skin folder name, but wouldn't the ext_config.ini be sitting inside the relevant skins folder, and therefore it's self evident which skin is impacted?
  5. And similarly, is the new object .kn5 placed in the relevant skins folder?
  6. Or, are the ext_config.ini and new object .kn5 placed elsewhere in the folder structure?
  7. What about LODB, in cases where having object dropped in LODB would look odd in-game? Do I just repeat the code for LODB, LODC, etc.?
Thanks again
 
Last edited:
1. yeah it's fine to skip it
2. yes
3. it names an object in the kn5. This is mostly useful for stuff like wheels that need specific parents in order to function.
4. if it's in the skin folder, then no you don't need it. That's so you can do it in the car folder and just name half a dozen skins at once.
5. this is why you might not want to; I don't know if the kn5 can be in the skins folder. Varies by csp version.
7. yeah you could do the same for lod b etc.
 
1. yeah it's fine to skip it
2. yes
3. it names an object in the kn5. This is mostly useful for stuff like wheels that need specific parents in order to function.
4. if it's in the skin folder, then no you don't need it. That's so you can do it in the car folder and just name half a dozen skins at once.
5. this is why you might not want to; I don't know if the kn5 can be in the skins folder. Varies by csp version.
7. yeah you could do the same for lod b etc.
I tried a simple example, but I can't get it to insert the object. The code I used:
[MODEL_REPLACEMENT]​
FILE=mclaren_m1b.kn5 ; LODA file name​
HIDE=ac_m1b_body_1_SUB3 ; mesh to hide​
INSERT=m1b_wing.kn5; kn5 containing the new object​
SKINS=Jeff Jones; folder name of any skins it should apply to​

I tried this code several ways:
  1. ext_config.ini file in folder cars/ac_legends_m1b/extension, and .kn5 in folder cars/ac_legends_m1b
  2. ext_config.ini file in folder cars/ac_legends_m1b/extension, and .kn5 in folder cars/ac_legends_m1b/extension
  3. ext_config.ini file in cars/ac_legends_m1b/skins/Jeff Jones, and .kn5 in folder cars/ac_legends_m1b/skins/Jeff Jones
  4. ext_config.ini file in cars/ac_legends_m1b/skins/Jeff Jones, and .kn5 in folder cars/ac_legends_m1b
In short, I tried all combinations of locations for the .ini and the .kn5 and it's not working. :(
Any ideas?
 
Last edited:
Not a valid skin folder name so that would cause issues, they need to be all lowercase letters, numbers, and underscores.

I guess INSERT_AFTER is not optional after all also.
 
Last edited:

Latest News

What's needed for simracing in 2024?

  • More games, period

  • Better graphics/visuals

  • Advanced physics and handling

  • More cars and tracks

  • AI improvements

  • AI engineering

  • Cross-platform play

  • New game Modes

  • Other, post your idea


Results are only viewable after voting.
Back
Top