Author Topic: How to set PBR Glass material?  (Read 565 times)

2021-09-01, 16:00:22

Ennex

  • Active Users
  • **
  • Posts: 7
    • View Profile
Hi Guys

I know it's easy to set PBR materials in general but I really don't know how to set a PBR Glass material like this:

https://cgaxis.com/product/green-glass-wall-pbr-texture/

or even like this free one:

https://3dtextures.me/2019/12/26/glass-blocks-001/

I guess it's easy too but I can't find any information about it. However I set it, it's not looking like it should..

A simple Screenshot would be awesome, thank you very much!

2021-09-01, 19:10:03
Reply #1

dj_buckley

  • Active Users
  • **
  • Posts: 464
    • View Profile
The CG Axis one shows you which maps they're using.

Or why not buy it and see how they've got it setup?

Personally for something that detailed I'd model it

2021-09-01, 19:44:22
Reply #2

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 7238
  • Let's move this topic, shall we?
    • View Profile
    • My Models
The setup is nothing fancy, i think you'll be able to figure out what's what from attached screenshot, but as dj_buckley mentioned above, you'd get better results if you model it honestly with geometry. It's impossible to get trully realistic result from a single cube with textures.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-09-01, 21:25:17
Reply #3

Ennex

  • Active Users
  • **
  • Posts: 7
    • View Profile
Thank you very much for your answers!! So quick, really kind

I bought a package from this glass and crystal Cgaxis collection. This is why I really like to know how the material setting is working. (there is no corona presetting, just the maps)

I'm pretty new in the game so please forgive me this stupid question but what kind of controller is used on the left and which additional Params do I need for each map?

Sorry and thanks again!

2021-09-01, 22:02:24
Reply #4

TomG

  • Corona Team
  • Active Users
  • ****
  • Posts: 3975
    • View Profile
At a quick glance, my thought is it's a linear float controller, being used to adjust the scale of all the bitmaps from one place rather than have to adjust each individually to keep them matching.

2021-09-01, 22:55:41
Reply #5

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 7238
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Tom is correct, that's the linear float controller for convenient control over bitmap tiling. It has nothing to do with that particular material and you can ignore it if you're not familiar with more advanced material features yet, or if you're planning to control tiling at object level.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-09-01, 23:26:03
Reply #6

Ennex

  • Active Users
  • **
  • Posts: 7
    • View Profile
Thanks for your time and the great support! It's working perfectly now

I'm really happy, thank you very much!

2021-09-01, 23:32:33
Reply #7

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 7238
  • Let's move this topic, shall we?
    • View Profile
    • My Models
You're welcome!
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-09-02, 12:32:40
Reply #8

philipbonum

  • Active Users
  • **
  • Posts: 19
    • View Profile
Tom is correct, that's the linear float controller for convenient control over bitmap tiling. It has nothing to do with that particular material and you can ignore it if you're not familiar with more advanced material features yet, or if you're planning to control tiling at object level.

Sorry to hijack this thread, but this is a function I've been wanting for a while, good to know it's possible!
I'd really like to know what you specifically did off-screen.
What I got working was:
Controller(Linear Float) > Controller(Point3 XYZ) > uvwScale(CoronaBitmap)
This works well, except if I want to use Real-World Scale, as this seems to be(at least in my case) 10 times the number I set in the float. I've tried to use an OSL: Divide node to divide my real-world inputs into uv, but this doesn't want to connect to Controllers or CoronaBitmaps.

Could you give me a breakdown of what you did, and also how you would solve this?

I've also attached an image of the current setup and how the float values doesn't convert well to real-world size.

2021-09-02, 13:58:42
Reply #9

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 7238
  • Let's move this topic, shall we?
    • View Profile
    • My Models
You got it right, i did exactly the same thing as you do, except that i have used native bitmap, so i didn't need to use point3 controller. Using real world scale slightly complicates setup if you want to control tiling with controller itself and not from bitmap node, because real world size is expressed as 1/tiling in scene units and cotroller always uses tiling. Maybe you can use OSL math nodes to overcome this issue, but i can't test this since i'm working with max 2016 and it doesn't have OSL nodes. For me this isn't a problem, since usually i don't use controller to set values, it's there just to link parameters between nodes, so i don't have to enter them in multiple places.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-09-03, 08:24:10
Reply #10

philipbonum

  • Active Users
  • **
  • Posts: 19
    • View Profile
Ah, good to know, thanks!

Yeah, having to change the scale/tiling of materials with several maps one by one is "hell", so not really a comfortable workflow. For 5 maps I'd have to change it 10 times per change in scale. I've cheated a bit with a UVW Xform modifier on the object, but that is not always the best solution.

Sadly I haven't been able to mix OSL and Controller nodes no matter what I use.
I've also noticed that if I make a full material with tiling controlled by Controllers, save this material to my library and load it again, the Controllers are gone. The values have been baked into the bitmap nodes, so not the biggest issue, but still sad.

I tried to only use OSL nodes with a Corona Material and that worked, it even saved everything to the material library. Seems to be the best way so far. A little scared of never using CoronaBitmap in my materials anymore, might get some unexpected issues. Wish me luck!


2021-09-03, 14:16:12
Reply #11

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 7238
  • Let's move this topic, shall we?
    • View Profile
    • My Models
I've cheated a bit with a UVW Xform modifier on the object, but that is not always the best solution.

I'm not sure why you'd consider UVW xform modifier as some form of cheating. It's very useful modifier and i use it all the time, but you're right about that it's not always applicable. Anyway, you shouldn't be afraid to use it anytime you feel it could make your life a bit easier.

I've also noticed that if I make a full material with tiling controlled by Controllers, save this material to my library and load it again, the Controllers are gone. The values have been baked into the bitmap nodes, so not the biggest issue, but still sad.

Actually, when you're copying material from library to slate editor, controllers are not lost, they are just hidden from view. You can easily unhide them by right-clicking on bitmap node and selecting show additional parameters. It's a strange decision by Autodesk to hide those parameters by default, but i believe this can be changed in slate preferences.

Sadly i can't help you with OSL in any way, since i have zero experience with them :[
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2021-09-06, 08:35:35
Reply #12

philipbonum

  • Active Users
  • **
  • Posts: 19
    • View Profile
Hehe, I'm afraid I forgot to put the word in "", it was more of an expression than it being an actual cheat or a negative :)

You are 100% correct, I did actually figure this out after a few searches online. It sure is strange, but hey, we take what we can get!