• Dear visitors,

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

    Team ACM.

SHADER Photo Quality Road Surface

Johnr777

Moderator
I have tried to put a flat normal map of a single blue color and the problem remains the same, I think it is not because of the normal map
In the A box of images you posted… look at the 3rd one; the normal maps look inverted.

That’s how the shader works, the detail maps follow the UV direction.
 

Xuacu

Member
In the A box of images you posted… look at the 3rd one; the normal maps look inverted.

That’s how the shader works, the detail maps follow the UV direction.
As I said here, I used a plain single color normal map and the result is the same
I have tried to put a flat normal map of a single blue color and the problem remains the same, I think it is not because of the normal map
Even I´ve used a single color diffuse texture for both segments and the problem is the same.

But well, I'll do more tests and try rotating the normal map to see if that solves it.

Thanks for the suggestions!
 

Xuacu

Member
With these values I have managed to improve it a lot. The normals map was not the problem,
the main problem was the difference in brightness of the texture without taking into account the reflection of the sun

Road_Solucion.jpg


however, when the sunlight reflects it you do see that distortion that you mentioned.
but this is totally logical

Road_Solucion_normals.jpg


In any case, the google earth texture is provisional, I have to create good quality textures and I will surely do it as explained at the beginning of this thread
 
Last edited:

silva

New Member
YO THANK YOU. Landsberg Rallye Project 23 NEEDED this! I see there is something going on about normal maps and also the uv mapping is unclear. Maybe I can help to sort this out.
TO THE FRESH READER: you need to be able to write your RGBA channels INDEPENDENTLY. Your photoshop may not know what you want. Here you find textures to start with:
https://ambientcg.com/list?category=Asphalt
 

Attachments

Last edited:

immortalx

New Member
Maybe this is already obvious to most but is there a way to do a similar technique on a terrain, with the difference being that the mask doesn't get repeated with the texture tiling, but covers the whole mesh?
For those familiar with the old Source engine, that was possible by using was was called "blend modulation". Basically 2 textures and an alpha value "painted" directly to the terrain vertices. So the terrain had a tiled grass texture, underneath a tiled dirt texture, and you "chose" where to reveal the dirt texture (without it getting repeated with the tiling).
Since AFAIK there isn't such a feature in AC, is there a shader or a trick to do something similar?
I hope my explanation makes sense (completely new to AC modding )
 

Johnr777

Moderator
Yes, the mask feature of the multilayer shader.

Each color channel and alpha of this texture represents a detail map you can assign
 

immortalx

New Member
Yes, the mask feature of the multilayer shader.

Each color channel and alpha of this texture represents a detail map you can assign
Isn't that following the UV map of the mesh though? In some quick tests I made that seems to be the case. What I mean is that my test terrain has its UVs scaled so that it gets a repeating pattern of the grass (that's intended). That however also scales the mask texture too. The effect I'm looking for is as in the Source engine, where the alpha layer is like having a secondary, un-scaled UV map where the verices of the mesh are within the bounds of the alpha layer image.
 

Johnr777

Moderator
Isn't that following the UV map of the mesh though? In some quick tests I made that seems to be the case. What I mean is that my test terrain has its UVs scaled so that it gets a repeating pattern of the grass (that's intended). That however also scales the mask texture too. The effect I'm looking for is as in the Source engine, where the alpha layer is like having a secondary, un-scaled UV map where the verices of the mesh are within the bounds of the alpha layer image.
Hmmm not sure what you are seeing.

In my projects for example, I use a large satellite texture as my diffuse, then I convert that satellite texture into a mask, by inverting colors, manually painting in color channels, etc. Assign whatever detail I need to those mask colors, adjust shader parameters as needed, etc.

The mask uses the UV of the diffuse, but the detail maps are global
 

immortalx

New Member
Hmmm not sure what you are seeing.

In my projects for example, I use a large satellite texture as my diffuse, then I convert that satellite texture into a mask, by inverting colors, manually painting in color channels, etc. Assign whatever detail I need to those mask colors, adjust shader parameters as needed, etc.

The mask uses the UV of the diffuse, but the detail maps are global
Thanks John! At least that confirms I'm doing something wrong on my end. I'll try to follow your write-up and can't thank you enough!
 

Rob Pawn

Active Member
Hallo Guys. ATM i do a "rework" of my road textures. I run into a problem with the road edge which gave me some hedache a while ago already and iam at this point again...

I would lovely use some Transparent Shader to make it happen. MultiFresnel like on the road itself seems not to work. Only pixelAT looks to weird in comparison to the road. And with Multimap_At i do not have progress yet. Nordschleife has the edge put into the gras material to avoid the Transparency... but this would not work in my case.

I hoped to get it done, kinda like this: (lift the road 1mm above the gras)
8831


any idea to have similar look between edge and main part of the road (due to fresnel and detail)

8832
 

Johnr777

Moderator
Hallo Guys. ATM i do a "rework" of my road textures. I run into a problem with the road edge which gave me some hedache a while ago already and iam at this point again...

I would lovely use some Transparent Shader to make it happen. MultiFresnel like on the road itself seems not to work. Only pixelAT looks to weird in comparison to the road. And with Multimap_At i do not have progress yet. Nordschleife has the edge put into the gras material to avoid the Transparency... but this would not work in my case.

I hoped to get it done, kinda like this: (lift the road 1mm above the gras)
View attachment 8831

any idea to have similar look between edge and main part of the road (due to fresnel and detail)

View attachment 8832
Dont over complicate it, make a floater mesh on top of road and grass, give it a proper long texture with alpha borders

In my case, I used multimap_AT_nmdetail, which requires the alpha for transparency in the normal map texture, not diffuse.

8833
 

Rob Pawn

Active Member
sry - meanwhile - after hangin around here since probably 2 years i should know...
but what is your track? i always need it kinda in my hands to look up those things.
btw. this looks pretty much exactly how i want it! <3 Thank You!
____

:EDIT: :lol:... its written in source column of object inspector... XD I need some sleep...
 
Last edited:

Xuacu

Member
The shader to use (the that Kunos also uses in official tracks) is ksMultilayer_fresnel_nm
Here are the settings from the SDK Editor.

View attachment 1308

View attachment 1309

...
Hi everyone, I've tried following this guide to make a realistic asphalt and I've gotten a good result, but there's one thing that's impossible with this method: the cube map being reflected in the material.

As stated in: ASSETTO CORSA MODDING MANUAL 3.0_0.34revD.pdf

"13. ksMultilayer_fresnel_nm...

...The downside of using this is the zero reflection property. So it's mainly used for non-reflective objects."

Do you know if there's any way to make the environment, cube map, cars, etc., be reflected?
I think some people put a mesh over the road with reflection material that creates those reflections that I am looking for.

I don't understand why the ksMultilayer_fresnel_nm material doesn't support reflections and has Fresnel parameters that don't affect the material at all.

Well, if anyone has any ideas on how to do this or better alternatives to ksMultilayer_fresnel_nm...

When I asked Chat GPT, it told me I could force an object like ksMultilayer_fresnel_nm that doesn't allow cubemap reflections to apply reflections, but I think he made it up because I write what it told me in "ext config" (Material adjustment), and it doesn't work.

Something like useCustomCubemap; cubeMapintensity; cubeMapFresnel...


My parameters explained, some don't affect the material at all and I don't understand why they are there, maybe it's because with CSP they act differently?:

ksAmbient, 0.3 ; Ambient light affecting shadows. 0 is black shadows, 0.3 is OK.
ksDiffuse, 0.3 ; Light reflecting material: 0 absorbs all light, no light reflected, 0.3 ok
ksSpecular, 0 ; Does nothing with ksMultilayer_fresnel_nm
ksSpecularEXP, 20 ; Concentration of light reflection: lower value more dispersed, higher value more concentrated, more polished
ksEmissive, 0,0,0 ; If we want it to emit light, RGB values
ksAlphaRef, 0 ; It does nothing with ksMultilayer_fresnel_nm. It's used to define shadows for materials that use an alpha opacity value, such as 2D trees.
multR, 1 ; Texture scale txDetailR. 1= 1x1 meter value?
multG, 1 ; Texture scale txDetailG
multB, 0.4 ; Texture scale txDetailB
multA, 0,0 ; Texture scale txDetailA
magicMult, 1 ; 0 is black, 1 is Ok, more than one seems emissive.
fresnelC, 0.1 ; fresnelEXP if it is at 0 it does nothing, with ksMultilayer_fresnel_nm, if the fresnelEXP value is more than 0 it gives brightness to the areas that have been eliminated from the fresnelEXP, values between 0 and 1 (1 restores what has been lost in fresnelEXP) Normal use: Ambient reflections (used for interiors when the sun does not shine on them) It is not affected by FresnelEXP. It is easy to go over > 0.07 ok
fresnelEXP, 3 ; It reflects according to the angle of incidence, the higher the value, the further the reflection is from the area that is most frontal and closest to the view (like reflection of car body, - Value = more chrome = continuous reflection; (2 - 3.5 OK))
In the absence of ambient reflections of ksMultilayer_fresnel_nm, it is not advisable to use high values because it moves the reflection of the sun away from the view.
fresnelMaxLevel, 1 ; Light reflection level. MAX=1
tarmacSpecularMultipl, 2 ; It does nothing with ksMultilayer_fresnel_nm
detailNMMult, 10,50 ; Texture scale txDetaiNM

Greetings to all!
 
Last edited:

Xuacu

Member
That guide is full of mistakes, I recommend you don’t follow it.

Increase fresnel max level… it’s not complicated
fresnel max level more than 1 is not working. But that does not solve the problem that reflections of the surrounding elements (cubemap, cars, etc) do not exist in this material.
 
Last edited:

glurbs

New Member
fresnel max level more than 1 is not working well. But that does not solve the problem that reflections of the surrounding elements (cubemap, cars, etc) do not exist in this material.
Do your textures have alfa maps? I think the diffuse and r g or b needs them.
 

Xuacu

Member
Do your textures have alfa maps? I think the diffuse and r g or b needs them.
Yes, all textures except the normal map have an alpha channel for specular highlights. TxMask has black alpha channel to avoid DetailA.

I'm quite happy with the final result; it can always be improved, and I'm starting to understand many of Kseditor's parameters (previously, I simply copied them from other examples).

Only that this material, at least until now, cannot reflect the sky and the rest of the elements that make up the scene (cubemap and/or local reflections)
 

Attachments

Last edited:
Top