Author Topic: physical material  (Read 1289 times)

2023-07-07, 19:45:20

gioba

  • Active Users
  • **
  • Posts: 16
    • View Profile
hi guys, would be nice, to say the least, having back the reflection slot on the physical material;  just like vray and any other render engine. the legacy material of course has it but lack of coat layer, sheen layer and ggx especially. so in the next version hope this stuff can be fixed

thanks

2023-07-08, 11:58:16
Reply #1

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
It's still there "technically", just works even better. Simply switch from default IOR mode to DisneySpecular and that is effectively the reflective slot. But in non-metal mode, the 1.0 value maps to something like IOR 2 so make sure to clamp the texture with output (either directly in bitmap or with Output Node, etc... anything works) to 0.5 if you want 1.52 IOR material.

Mapping reflection is still necessary even for PBR, 100perc. physical correct materials would require microscopic displacement so yup, use that slot.

Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2023-07-08, 22:04:56
Reply #2

Basshunter

  • Active Users
  • **
  • Posts: 279
    • View Profile
Mapping reflection is still necessary even for PBR, 100perc. physical correct materials would require microscopic displacement so yup, use that slot.

Hey Juraj. Would you shed some light on this please? I have always considered mapping the reflection a "not physically correct" practice and hence avoided it. What cases do you considered it to be necessary? What would be the difference between the effect produced by microscopic displacement and the one from roughness?

Dubcat once said something about IOR maps being necessary for most/all materials to look realistic. He tried to explained that to me but to be honest, I didn't fully understand (probably didn't frame the question right). Is this somehow similar to what you achieve by mapping reflection?
« Last Edit: 2023-07-08, 22:14:07 by Basshunter »

2023-07-09, 23:09:56
Reply #3

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
Because most surfaces have cavities that might be wider below than above, so they trap a lot of light, effectively cancelling any reflection (because the light will bounce inside).
But simply using bump/normal map doesn't produce such light-trapping information, and even displacement does not. It would have to be vector-displacement, and very granular.

To create life-like digital twin of some real-world surface, the material + geometry have to fully replicate the total complexity there is. But usually the geometry in 3D is simplified, it's never as super complex and detailed, so the material needs to add that information. But the only way a material can add that remaining information, is by trickery. Thus, 100perc. PBR material will look uncanny, always smoother than should be.

And then there are special cases, like Wood. Wood has multi-directional anisotropy/SSS effect along the grain pattern, something that generalized shader cannot recreate (only true BRDF scan like ChaosScans).
So by doing some reflection mapping, you can at least partly fake it, and make it look more real.

Most people doing scanning have already realized it, it's why when you look at latest Megascans, they bake-down some cavity into Albedo, they don't diffuse it totally.

The reason why Dubcat advocated for IOR mapping, which you can now super simply achieve  just by using DisneySpecular slot :- ), is that CoronaPhysicalMaterial, though almost every generalized 3D shader, just by using either normal mapping or roughness, it doesn't modulate the specularity enough. At least when you compare to real-world sample of same material. Is the Shader wrong? I guess the Devs would say no, but we already went through how many shader models and they always had something wrong :- ). To me we're still long-way from something that behaves absolutely like real material and maybe that's not even possible with generalized shader. The metals are already there, the GGX with Tail can replicate any metal almost 99perc. But the non-metals, particularly materials that have deep micro-structure, like Fabrics and Wood, those still look wrong.

And what is "Sheen" after all :- ) ? Just nice to have non-PBR fake (not needed if you use super-detailed GeoPattern for every fabric, but that would be super impractical, so hence, fake solution to rescue).
« Last Edit: 2023-07-09, 23:13:29 by Juraj »
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2023-07-09, 23:16:48
Reply #4

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
What would be the difference between the effect produced by microscopic displacement and the one from roughness?


Try it ! :- ) Do a comparison, you will find that normal/bump + roughness still not equal (weaker) than effect of displaced geometry.

For "shallow" materials, like Plastics, Plasters, etc.. it's not needed. But the more complex a material would be under microscope in reality (Fabrics, Woods, etc..) the more discrepancy there will be.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2023-07-10, 00:01:35
Reply #5

Basshunter

  • Active Users
  • **
  • Posts: 279
    • View Profile
Because most surfaces have cavities that might be wider below than above, so they trap a lot of light, effectively cancelling any reflection (because the light will bounce inside).
But simply using bump/normal map doesn't produce such light-trapping information, and even displacement does not. It would have to be vector-displacement, and very granular.

To create life-like digital twin of some real-world surface, the material + geometry have to fully replicate the total complexity there is. But usually the geometry in 3D is simplified, it's never as super complex and detailed, so the material needs to add that information. But the only way a material can add that remaining information, is by trickery. Thus, 100perc. PBR material will look uncanny, always smoother than should be.

And then there are special cases, like Wood. Wood has multi-directional anisotropy/SSS effect along the grain pattern, something that generalized shader cannot recreate (only true BRDF scan like ChaosScans).
So by doing some reflection mapping, you can at least partly fake it, and make it look more real.

Most people doing scanning have already realized it, it's why when you look at latest Megascans, they bake-down some cavity into Albedo, they don't diffuse it totally.

The reason why Dubcat advocated for IOR mapping, which you can now super simply achieve  just by using DisneySpecular slot :- ), is that CoronaPhysicalMaterial, though almost every generalized 3D shader, just by using either normal mapping or roughness, it doesn't modulate the specularity enough. At least when you compare to real-world sample of same material. Is the Shader wrong? I guess the Devs would say no, but we already went through how many shader models and they always had something wrong :- ). To me we're still long-way from something that behaves absolutely like real material and maybe that's not even possible with generalized shader. The metals are already there, the GGX with Tail can replicate any metal almost 99perc. But the non-metals, particularly materials that have deep micro-structure, like Fabrics and Wood, those still look wrong.

And what is "Sheen" after all :- ) ? Just nice to have non-PBR fake (not needed if you use super-detailed GeoPattern for every fabric, but that would be super impractical, so hence, fake solution to rescue).

Thanks for taking your time to elaborate. I found this really interesting.

Guess I should start incorporating this into my workflow. Still got lot of questions though. You mentioned fabric and wood as materials where a mapped reflection is needed and excluded metal and more simple materials like plastic and plaster. But I guess there're more materials whose reflection we could map. Terrains and dusty surfaces usually look too shiny to me, specially in V-Ray. Not sure if that's another good case for a mapped reflection.

On the other hand, I'm not sure how a reflection map should look like for these materials. So I wonder if there's any good lecture or tutorial you could recommend.

2023-07-10, 00:48:20
Reply #6

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
I can post example when I get time, but it's effectively a Cavity map, which is sort of detailed AO map that focuses on areas that wouldn't reflect because they're cavities :- ).

It should by no means resemble roughness map, and it shouldn't create any dramatic effect like that. And it's the last step of material look that you add when normal map and roughness alone still look wrong.

Terrains/Dusty is also good example! They are effectively so rough that specular model of generalized shader kind of looks wrong. Even CoronaPhysicalMTL when Roughness is 1.0 (Glossiness 0.0) is still kind... shiny. So you add really strong bump... and it's still shiny and bumpy. But try doing micro-displacement (<1px of very detailed high-res map, like 8K for m2 texel density) and you will see that it's no longer shiny...

But we obviously can't add <1px displacement into whole damn scene (esp. when the final image is 8K wide) and use billion detailed 16bit displacement maps..  render times would be forever and ram would be like 256GB for single-room. And that's where this new fake comes in.. let's add bit of specular mapping by using the IOR/DisneySpecular Slot. I use DisneySpecular instead of IOR because mapping IOR values is super weird. The result is the same but 0-1 values are lot more easy to understand and use.

But this philosophy applies to other parameters, such as:
1) True PBR Albedo would be effectively just posterized color map :- ). But it's good to still keep some Cavity/AO, bit of Light, etc.. baked in. The renderer isn't recreating all the phenomena back that reality has, and even if it could, our maps and models aren't detailed scans enough.
2) Many more..
« Last Edit: 2023-07-10, 00:52:14 by Juraj »
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2023-07-10, 01:03:33
Reply #7

Basshunter

  • Active Users
  • **
  • Posts: 279
    • View Profile
I can post example when I get time, but it's effectively a Cavity map, which is sort of detailed AO map that focuses on areas that wouldn't reflect because they're cavities :- ).
Got it. Once again, thank you for the insight. Really enjoy reading about this kind of stuff : )

2023-07-10, 11:02:38
Reply #8

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 8854
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Guess I should start incorporating this into my workflow. Still got lot of questions though. You mentioned fabric and wood as materials where a mapped reflection is needed and excluded metal and more simple materials like plastic and plaster. But I guess there're more materials whose reflection we could map. Terrains and dusty surfaces usually look too shiny to me, specially in V-Ray. Not sure if that's another good case for a mapped reflection.

On the other hand, I'm not sure how a reflection map should look like for these materials. So I wonder if there's any good lecture or tutorial you could recommend.

Terrains can definitely hugely benefit from specular mapping, especially grassy terrains. I would suggest to download something like "nordic moss" from Megascans' free samples and render the material with and without specular map - the difference is massive.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2023-07-16, 12:38:45
Reply #9

gioba

  • Active Users
  • **
  • Posts: 16
    • View Profile
It's still there "technically", just works even better. Simply switch from default IOR mode to DisneySpecular and that is effectively the reflective slot. But in non-metal mode, the 1.0 value maps to something like IOR 2 so make sure to clamp the texture with output (either directly in bitmap or with Output Node, etc... anything works) to 0.5 if you want 1.52 IOR material.

Mapping reflection is still necessary even for PBR, 100perc. physical correct materials would require microscopic displacement so yup, use that slot.

thanks man for the reply, i understand and tested it. But why do you need to overcomplicate things every time? just leave the ior and the reflection slot, there is no need at all to delete it. just leave it and give freedom to the user to do whatever he wants with his materials. Physical material without reflection is not a physical material in my opinion and noway i need to guess and clamp with disney  specular... hope you understand

2023-07-16, 15:21:36
Reply #10

Juraj

  • Active Users
  • **
  • Posts: 4761
    • View Profile
    • studio website
You can just use the Legacy material if you want existing control. You have perfect freedom to use it, no one is taking it away for now.

CoronaPhysicalMaterial follows the current rules of the industry, and uses the same model as Substance, Unreal 5, Disney PRX, Arnold, etc.. for consistency sake.

How is that over-complicating? It's the same but with different names and parameters.
Please follow my new Instagram for latest projects, tips&tricks, short video tutorials and free models
Behance  Probably best updated portfolio of my work
lysfaere.com Please check the new stuff!

2023-07-17, 09:30:03
Reply #11

gioba

  • Active Users
  • **
  • Posts: 16
    • View Profile
yes of course i can use the legacy, but the legacy lacks completely of the handy tools like coat, ggx sheen etc...

substance unreal, as far as i know, i can map the spec too; fstorm octane vray and vraygpu has it and dont understand why u guys  took it away..nonsense decision in my point of view

anyway thanks for ur reply:)

2023-07-17, 14:24:14
Reply #12

dj_buckley

  • Active Users
  • **
  • Posts: 875
    • View Profile
They've not taken it away though.  It's still there?  As Juraj said, just change the default mode from IOR to Disney Specular or am I missing the point here?

2023-07-17, 16:48:16
Reply #13

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12768
  • Marcin
    • View Profile
CoronaPhysicalMaterial follows the current rules of the industry, and uses the same model as Substance, Unreal 5, Disney PRX, Arnold, etc.. for consistency sake.

substance unreal, as far as i know, i can map the spec too; fstorm octane vray and vraygpu has it

@gioba - you can "map the spec" in Corona too, so I don't understand what exactly you are missing :)

The Corona Physical Mtl is supposed to be physical. That is why it uses IOR/specular and glossiness/roughness.

Can you explain what exactly you are trying to do and what kind of issues you are facing? Why isn't using the Corona Physical Mtl with mappable specular or Corona Legacy Mtl not a viable solution for you? Can you share the specific example?
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us