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.
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?
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.
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.
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.
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!
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.
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 :[