Thx for the reply, I mainly work with fabrics and have made hundreds of attempts to recreate complex shaders such as velvet, satin, silk, wool and so on, including growing millions of fibers in Ornatrix and combing them and then using CoronaHairMtl to get proper anisotropy reflection for the correct velvet, and basically I can create any texture in substance designer e.g.
But at the moment, if I understand everything correctly, we have no way to get the correct direction of the anisotropic reflection along the single fabric thread using height maps or normal maps, no matter how detailed they are, we can only fake it using the anisotropy rotation map.
And we also don’t have a geopattern to mimic the real fabric structure. So I’ll probably have to tweak the faloffs again and wait for the next release
PS
please guys, pay attention to the implementation of coating, which we wrote about above. let it be possible for coating to smooth the surface, creating mirror-like glossy coat with displaying the height details of the surface lying below, as Bormax mentioned here
PPS
and maybe it is worth lowering the metalness map slot below the others, because now I habitually attach base color or diffuse to it as it is the first in the list
It doesn’t make sense to load the scene at all. Try creating a teapot object, with 64 segments, or a sphere of 200 segments, put the material and click the render button. This happens with highly polygonal objects
I have seen that you have improved the BDRF single scattering problem that appears for maximum reflections with high roughtness, where all the 100x100 light should be reflected. Now it reflects much more light than before. Will it end up implementing a multiple scattering BDRF solution where all complete 100x100 of the light is reflected?
It would be nice if there was a numerical value for the amount of metalness because almost no material in reality is pure metal, there is always a film of rust or dust, and we would save time applying a corona color to obtain a gray value, if we could regulate the amount of metalness with a numerical value as an alternative to using a map.
for some reason I now miss the opportunity to change the final level of reflections using a spinner or a BW map, sometimes it helps a lot in bringing the floor material to realism, now you have to create a composite map with two ior values :DDD
Can you explain what exact property you would like to change?
With the new physical material, you should be following the metalness/roughness workflow. You can map metalness, roughness, and IOR.
Of course I understand that I should use a metallic / roughness workflow, there is no problem with that) and of course there is a direct relationship between roughness and the strength of reflections, the same as it was in legacy corona mtl
And despite this, there are some materials in which, to achieve better results, sometimes it is necessary to tweak the final strength of the reflections with spinner or B&W map, and its not very convenient to do this by mixing two linear ior values
as an example, lets take a flooring material, let’s assume I use a generator from Poliigon and at the output, in addition to roughness, I will also get a specular level (pic1) but unfortunately now I can’t use it directly but only as a mask when mixing two IORs, in fact it is not a big problem, except that mixing different IORs give a slightly different result from simply reducing the strength of reflections. e.g. in legacy mtl i used speclvl in reflection color slot with about 5-15% of opacity
I can’t tell you how realistic those maps are - i suspect they are pretty arbitrary, but by mapping IOR instead of reflection level, you get at least physically more correct results, even if it requires more work to set-up.
exactly) no matter how realistic those maps are, my eye and little tweaks will make them look realistic)
and for my part, I’m just looking for a handy tool that will allow me to achieve this in less amount of time.
it would probably be a good idea to allow mapping ior values with rgb where 1.0 is 0.0.0 and 3.0 is 255.255.255, in this case we can easily clamp our speclvl map values to 0-128 and get reasonable results. Just my thoughts.
For metallic materials that accumulate a thin layer of dust, it is interesting to be able to map the metalness so that it has dielectric zones (non-metal), as the physicalmtl now allows. Previously we could do this by lowering the reflection and the diffuse color would appear. The problem now is that you are forced to make the reflection color the same as the diffuse color of the non-metal you are mixing, since there is only one slot for base color. It might be interesting that there is a slot for diffuse so you can separate the gold color for the reflection of the metal and the white color for the diffuse of the layer of dust or dirt. I know that it can usually be solved with the coronalayeredmtl but it is more laborious and makes sense for more complex cases. When you only want to add dust and dirt it would be useful to be able to do it from the physicalmtl itself since it has the option to map the metalness. Another option would be to place an identical color texture to the one we placed in metalness but that has the desired colors for the metal area and for the diffuse area of dirt, but it is difficult to achieve textures like this or they would have to be generated by adding shaders previously, which complicates work, for this reason I think the most practical would be a slot for diffuse that will be activated only in the case that you want to map the metalness, as well as a spinner in metalness would be practical to be able to mix it numerically for little complex cases where we can save the step of putting a map. Thank you!
The issue is that metal and dust are two completely different materials. Layered Mtl would be definitely preferred here.
Maybe you could also use the built in Sheen layer? (you can specify its color, amount, and roughness so it’s a bit like a layer of non-metal).
As I described, I am using this solution now, of course, this is not an “vital” feature, but just my suggestion to simplify the usage of the new shader, is that what you are aiming for in the end? convenience and realism) What I’m most worried about right now is the implementation of changing the bump effect on the clearcoat layer. Everything except the clearcoat layer works well overall, thx
I’ve said it many times and always will - this setup is so cumbersome it hurts. Thinking this is good enough is a mistake, sorry.
You should map incoming images so that RGB 0 is IOR 1.0 and RGB 255 is the specified IOR in the material UI. Or make a new IOR map where users can specify the value mapping in a similar way.
But to me, your setup is just not sufficient in terms of use ease nor setup time, plus you can’t see what the values specified are unless you inspect all nested maps, that’s absolutely insane.
It looks like you guys are going the Autodesk way on this one - “half-assed will do it, let’s not think any further.”
I don’t mean to offend, but we already discussed this elsewhere and it’s frustrating you think it’s good enough.
It doesn’t have to be cumbersome, just set-up this map once, save it to a material library and never get bothered by creating it again. And you can control everything from slate editor view, no need to go to parameter editor.
I think you are well aware that remapping Corona IOR slot as you ask, would break other people’s workflows and your suggestion to introduce new IOR map would go directly against Corona’s policy about simplicity. I think that current solution is more flexible and it’s not complicated at all to anyone who’s using slate material editor.
Would it not be easier to just create a dedicated “IOR map” that the source bitmap feeds into, that automatically inverts, and internally changes the high value according to whatever the main material IOR is? This implementation shouldn’t need a material rewrite or break any pre-existing material setups (kind of like how a bitmap feeds into a “normal map” before going into the bump slot).
If you work on projects with some pressure behind or have to inspect existing materials and need the fastest visual feedback you can get, going into submaps to figure out values is the last thing you need. The new workflow is flawed.
We can agree to disagree.