Any features you'd like to see implemented into Maxwell?
User avatar
By Mihai
#394287
Would perhaps be even more useful to have a special texture type, which lets you load say up to 10 different textures and randomize them across objects. Something like Corona does. Most times the material parameters would remain the same, just the textures need changing.
User avatar
By Nasok
#394297
Well, many textures might be something that Render engine doesn't really comfortable with processing :) unless they are tiny (which is probably what you would need for a single grass blade) but what could be a possible solution is just adding a colour variable multiplier. It, basically, assigns a random colour to a specific channel. And you can define the range or set up the ramp of several colours and those colours would be picked over the distance from camera, angle, or just randomly.

That way you can have same texture with just different tint. Imagine a scattered plastic balls over the floor, they all have same material properties and same texture- just maybe different colour. So colour variable multiplier might be a pretty good solution. The way it might work is that it will multiply existing texture with defined range of colours and assign those to individual objects, based on object id (or something). same technique could be applied to a moisture drops, when colour variable applied to a roughness channel so each drop has a little bit different roughness value (shades of grey multiplied).

In fact the entire colour variable multiplier might be connected to object ID (those are unique, and easily changeable) - however then it would be nice to have a little utility to define the object IDs color range. Say you select a group of objects and assign a specific ID attribute to all of them and inside utility you define that each object in that group get a random colour within the selected range of colours - for example from dark green to light green - you would get objects with different shades of green. You can go crazy and colourful there or just define a little angle between grey and light grey to give you buttons on a control panel just a little variation.

Could be a really nice feature - plus I haven't seen it in any other render engines.

Just thinking :)
#394300
I think what would be more efficient is to have something similar to CSS Image Sprites. Basically a huge texture with variants of the texture you want to use, and each grass, stone etc gets UVs to get one of those sprites randomly. But these have to be done in the modeling tool. It may seem that I'm putting in on other's roof. On render time, many of your wishes should be done if we make procedural materials (or procedural bsdfs), and of course make some assistants or wizards to make it easy to make some useful material like this kind of "randomize material".
User avatar
By seghier
#394302
thank you
i don't think the 3d softwares is part of the solution because the feature for maxwell extension.
i can do that with cerate many copies of grass and apply different materials
but using one grass ( for example ) with different materials is better and no need to develop new material editor
i prefer create many materials than use them ; the same logic as in all softwares which have multi-materials feature
and maybe it's easier in developement for the extensions only
User avatar
By Nasok
#394307
Understand, but what I was talking about is something called PrimVar (in pixar's renderman, for example) There is no problem to create 5 or 10 materials (for different grass blades, leaves, etc) but what if you need to create a slightly different shade of the same texture for, say 10 000 objects ?

Variables could be extremely powerful. Especially if NL team will figure out on how to implement them nicely in existing set of tools. All we need is an ability to modify channel's colour (RGB for reflectance 0 and 90) and maybe Greyscale for channels like roughness and transmittance.
User avatar
By Mihai
#394317
This is also why I think it's better to keep one material but allow for variation within that material. A texture randomizer, a hue/sat/val randomizer, and a general randomizer for numeric parameters like Nd, roughness, weight etc. These could of course be combined so you can easily get tens of variations, or "materials" without having to create 10 or more copies of a material, changing the textures for each, and then randomly distribute the materials themselves. That would be much more time consuming and pretty boring for the user.
User avatar
By seghier
#394318
the idea of textures is good and save time
the question can we control the percentage of the texture used ? if i need 30% with bump ; 20% with mask 10% with displacement
also if i don't want the same settings ; some sss materials ; some opaque materials ..
actualy using different materials is better in my opinion and for grass , books , tiles or stones we don't need 1000 materials ; 10 materials in maximum
who used 3dsmax know about Multi/Sub-Object Material
if we can use (n) different materials { 4 for exp ) & the material have the feature to randomize textures and other settings this will be great and the best
User avatar
By Nasok
#394328
Well, not sure how the texture randomiser would be useful, when you still have to spend time and prepare all those textures .. probably we are talking about 2 different techniques and approaches. To get 2 different results.

My thought was closer to what Mihai is summing. You have a material which you generally happy with (with textures where you need those) - you apply it to a group of objects - and you have a few randomisers within. Like random numbers for the values. Say value for roughness, or reflection 0 colour or so. The tricky part would be to create a utility to specify the value range. I mean for roughness you probably don't want your objects to have random number between 0 and 100 but rather wishing specified range - say from 5 to 20 or so.
And I believe even more tricky would be to specify the colour range. Would be cool if a user could specify two colours with the ability to get random values between those like dark green and light green. It might work as a random for Value within a certain HUE. Or as a random for HUE within a certain value.

Something like that :))

Cheers.
#394430
I'm late to the discussion but isn't the brick procedural already using this idea, sort of? Not only one can setup 3 different textures but also the Brick Color tints the textures additionally. Even if only one texture is used for all the 3 bricks, it would still vary thanks to the color bleed. And there's a brightness variation multiplier which defies the strength of color differences (brightness only though, no literal RGB color bleed). Very handy.
What would quite suffice most of the time (grass, tree leaves) is just some little color variation in the reflection channel's texture (like the the Brick Color affects the Brick Textures brightness). Setting up different textures or mxm-s would be more time consuming than for example setting few different color overrides for the reflectance channels texture. But in some other, more complex situations, also the numeric input variation can become quite useful.
How could this be implemented? Maybe a new special procedural type for the materials used with the maxwell grass, cloner and scatter modifiers, if it would be similar to the Brick procedural setup?
User avatar
By Nasok
#394439
Not really. Brick texture is a procedural. While this is a bit different.

I think it should be based on unique Mesh ID, or vertex colour group.
For instance, as I've mentioned earlier Vertex Colours are great example of that. Or Vertex Colour Sets.

Image - Check out this example. Here I did a Vertex Colour Set - and randomised HUE to 10%. That way they all have a yellow colour but with slightly different tint. Which is what you naturally would want for leaves or grass or stones or pretty much anything procedural. Maybe 10% shift in HUE is a bit too much but you get the point.


Cheers.
Sketchup 2024 Released

Any idea of when the Maxwell Sketchup plugin will […]

Will there be a Maxwell Render 6 ?

Let's be realistic. What's left of NL is only milk[…]