Assigning Materials

I know there are differing opinions, but the material assignment process doesn’t work for me.

Preface: I am used to Flamingo, with a library. Once I create a material, that’s it. I have a standard set of materials I use and for each new model I assign everything before rendering and off I go. The bad thing about Flamingo is that the materials don’t pack up and go with the model when I send the file. Networked libraries are problematic, too.

So a better solution is fine. But I have these vismats that I use now and I have to select an object, “create” the material, import the vismat, rename the instance. Then if I edit one material instance, the others are unchanged? What if I assign by layer and then edit it?
And for some reason, I crashed and when I opened again I notice that I have stainless0, stainless02, stainless03, etc.
When I browse for a material (which is what I want to almost always do) I can’t tell what I’m looking at. I much prefer the Flamingo interface.

What do others do?

Assigning Materials

Hi craiggorton

Slightly off topic but when using Flamingo you can transport all used materials and decals etc used by using the ‘transport model and materials’ function in the flamingo toolbar.

As for materials in VfR, I’m still finding my way around?

Assigning Materials

I also struggle with that, but the thing is that mcneel is creating a real material editor/library (I think) so the vfr guys will not make one also.

My problem is that I usually start by assigning all objects in the scene the same material. Then I start editing each material but that is not possible because they are all instanced and there is no ‘make unique’ button or something. Renaming doesn’t help because the instances are renamed too.

Basically I would like to be able to create one white plastic on multiple objects at once. Then I would like to select one object, hit edit, change the plastics diffuse, hit a ‘make unique’ button and then ‘ok’.

Assigning Materials

I do understand all of your hardships, and I would like to find a way that is more user friendly.

Would the “Make Unique” button help you too Craig? Also, when you see something like stainless0, stainless1, etc it means that you have copies of the “stainless” material.

I also believe that once we have documentation of how our material system works it will help people develop a workflow that makes the most of our material creation.

Assigning Materials

I was about to post a similar comment regarding the material librairy.
I am brand new to Vray, so I wanted first to experiment before voicing my opinion.
I can already see that the material librairy needs some work in order to be effective and easy to use.
I come from alias studio/image studio background. Image studio in particular does a great job at visualy display all the shader at once and in the event one is duplicated to be tweeked i.e different white plastics, then the naming automatically change. Each tweeked shader can be saved to the libraisy so they can be used on other wireframe.
I think there are lots of product designer like me who are using Rhino, and like me were duying to get their hand on a great built in rendering like Vray. But things like shaders librairy needs to be very visual. After few month, we save lots of new shaders and it would be a pain to import all one by one based on naming to “verify” which one is what.

Assigning Materials

Ideally, I will create all my materials once and save them in a library. I render boats, so my list isn’t long. My Flamingo library consists of a varnished mahogany wood, stainless steel, and a bunch of Awlgrip and gelcoat colors.

So, I model the boat and when I’m ready to render I go through the whole model and assign materials (quickly). Some things are defined by layer so that when the client wants to see the hull painted “claret” I can change just one layer’s assignment and all the relevant surfaces adjust.

I don’t care for a “make unique button.” I don’t want to design any materials after my initial work. And I don’t want copies of the same material within the file. I want to select either a surface or a layer and browse for a pre-defined material. And if I need to tweak that material, I’ll “save as” a new name (in my material library) and tweak it.

So- the Flamingo library works well for me. If it could “pack and go” better (and I do use transport, but it has some flaws), that would be great.

I also need previews. I find it weird to open the material editor when I’m just trying to find a pre-defined material. And the list of scene materials isn’t useful to me without previews.

Maybe materials could be like AutoCAD linetypes. You start with none (or default) in the scene, and you load the ones you want to use. You assign per object or layer. And if you want to tweak one, you “save as” a new material- not in the scene but in the library- and load it.

Just my suggestions.

Craig

Assigning Materials

A current workflow could be to save your materials on the harddisk as library.

Assigning Materials

I thought one of your problems was that the materials were instanced…this sounds to be as if you want instanced materials? You don’t want copies of a material, you want to assign one material to multiple objects and modifying the material will be reflected on all objects that share the material.

There are only multiple copies of a single material if the user brings in multiple copies of a material. If you want one material on multiple objects you just select them (or have them on a layer) and apply a material to them. This will result in one material.

I also need previews. I find it weird to open the material editor when I’m just trying to find a pre-defined material. And the list of scene materials isn’t useful to me without previews.
I suppose I could force the materials to be rendered prior to saving so that each vismat would contain a small preview of the material defined within it.

Maybe materials could be like AutoCAD linetypes. You start with none (or default) in the scene, and you load the ones you want to use. You assign per object or layer. And if you want to tweak one, you “save as” a new material- not in the scene but in the library- and load it.
This is the exact workflow that I use. However, currently, if you hit “Edit” to do this “tweaking” you will change all instances of the material. But if you hit “Create” and overwrite that material, no such instance changes will occur and you will, in effect have a new material as you desire.

Assigning Materials

So to recap the common things I’m seeing here. Basically these are the things people are asking for..

1. An easier way to break instances of materials
2. Previews to identify materials rather than just names
3. The ability to save into libraries instead of single vismat files

Is this about it?

Assigning Materials

Joe, I think the problem could be, that if we assign a material to different objects and save the rhino file and reopen it, that we get the one material so often like the objects used the material in the scene. If I’m right it is a bug, a very confusing bug. I’m not sure, maybe this material copies come from other effects too.

Assigning Materials

First, I think I misunderstand what an “instance” is, so forget about my wording.
Second, I think what Micha says is right about a bug. When I reopened a file I had all these copies of materials and that is confusing.

Third: here is how I envision materials working…

I create my scene.
I select an object and go to the material properties.
I have three options: assign by layer, plug-in, or basic.
I choose plug-in and get one button: browse. There is also a text window showing what the current material assignment is.
When I choose browse, a window opens that has a preview area and a list of the currently loaded materials. As I scroll through this list with the mouse or arrow keys, the highlighted material is previewed. (I don’t know how Flamingo does this internally, but the preview is instantaneous.)
I can select a material from the list and hit OK to assign the material to the selected object.
OR- I can choose “load” to load a vismat file from my harddrive. Once loaded, the material is added to the list. The material’s name is the same as the file name, can include spaces, and cannot be changed within my scene.
I can also EDIT a material, but when I save my changes these changes are saved to the actual vismat file on my harddrive. If I open another scene that uses that material, the updated material should be used.
OR- I can create a new material, either from scratch or by starting with one of the pre-loaded materials. When I am done creating the new material I can save it as a new vismat file.

I don’t know how a scene would figure out whether a material has been redefined unless the materials were not embedded in the scene. Does this mean using a library? Maybe.

So for me, the Flamingo way works. I don’t know if there’s a way to improve it- (I’m not a programmer, though!)

What I don’t like currently is that I have to “create” a material, import one that I’ve already created, and rename it to whatever I want. The first button should be “import” and there should be no name change. If I’ve already imported this material, I should be prompted to overwrite it or not. I don’t want 3 stainless steel materials in my scene that are all identical but named differently. If I tweak one of them, they should all change and future scenes should benefit from that tweaking.

Maybe it’s too much to ask that older scenes update, but could it work like xrefs or imported blocks? Maybe within the material browser there could be an indication that your loaded material has been updated and would you like to update your file? This way I could still email my file to another computer and work on it or render it. I would have to be aware that changes to materials would not be carried over unless I sent my material folder along.

These are my thoughts. Again, I only have experience with Flamingo so maybe I’m just not used to another system. But I like to “set it and forget it.”

Thanks,
Craig

Assigning Materials

Ok I’ll check this out…I believe your right, I’ve overlooked this behavior - it should come back in as a single instance

Assigning Materials

Ok, I’ll bring these suggestions up next time we sit down for a development meeting and see what we can get in prior to release candidate and what changes we will need to wait until our next major release to implement.

Assigning Materials

Hey craig, the workflow you describe would be a pain in the ass for many other people.

I can also EDIT a material, but when I save my changes these changes are saved to the actual vismat file on my harddrive. If I open another scene that uses that material, the updated material should be used.

Especially this, that was very annoying for me in my flamingo days, when I edited a material quickly, hit overwrite and then realized shit now I don’t have the old one anymore.

Let’s say you render a boat, and you change your glass material for the windows. Then a few weeks later, you need to rerender an old boat which also had glass. After the render has finished you realize that your glass suddenly looks totally different (because you changed it on the most recent boat project). The problem is, that many times you will need different settings for certain materials to look the same in different renders, because it depends on the environment, lighting and even camera angle. So in the end, you will also end up with 20 different glass mats for example (glass light environment, glass light environment, glass… etc…). At least I ended up with that in my flamingo days because for each minor tweak I had to rename the material to a new one (glass red, glass lighter red, glass darker red, glass highly reflective, glass medium reflective, etc…)

That’s why I prefer the max way. The mats are saved with the scene file, and you are also able to save external library files. So each time you start a project, import this standard library and adjust settings as needed. The external library gets untouched, all the edits only apply to the current scene you work in.

A real mat editor like max is also much quicker to use, because you see multiple mats at once, and you don’t need to select an object to be able to access its material. This saves out lots and lots of clicking ok-apply-edit etc… In this regard, the flamingo way is simply horrible. If you want to change the bump map image of a certain material for example, you need to edit, go to map tab, click the bump, click edit, choose file, and then click ok a few times, overwrite or save the material again and then you’re done. If the map then has the wrong scale, you need to do all this clicking again, and again, and again for each small test you make. In max, you simply got to your bump map and change everything there with one click, without having to apply or save or anything, and without closing the material editor

But since mcneel is making such a mat editor, for now asgvis will probably try to make it as easy as possible without actually creating a full blown editor.

I believe this only needs a few tweaks. Like the make unique button. For you they could add a browse button at the start so you don’t need to click create and then browse. Maybe if possible they can create a vismatlibrary file format that stores multiple mats + previews so you can select them more easily. All of your files that use these materials from the vismatlibrary file will then also update if you change the file (=edit some mats).
Then for me this is also ok because I would simply not use the external vismat library file format.

Assigning Materials

… I would like to get a “delete” button for the simple material browser and would like, if I could reset a Vray material to the standard rhino material.

Assigning Materials

Flipside,

I see where you’re coming from and I was waiting for just such an explanation. I think I could learn to work with that system- i.e. import materials from my saved materials and tweak within the scene. (Although I prefer not to tweak- why shouldn’t my green tinted glass be green tinted glass wherever I call for it?- but I know that that just not the case.)

To make it less confusing, there just has to be a simpler way of naming (like the imported material name = filename of the original vismat).
I think what has hampered my learning curve here is just the current wording and layout. Maybe there should be a “load” button instead of “create<import.” The whole import/export feature took help just to find.
The other thing I was doing was importing the material each time I did an assignment, which meant I got multiple versions of the same material (I think).

I’m open to the Max system so long as I’m clear as to where the materials are coming from and whether they’ve been modified. I also have to re-render projects months after the initial rendering and I can’t keep track of what materials are still original and which ones I fiddled with.

Thanks,
Craig

Assigning Materials

Our materials are not file linked, so sorry if thats how you thought it works. It just makes a material with the properties in the file at that very moment. It doesn’t check a file prior to rendering to then decide how to make the material. If you want to apply the same material to multiple things, select multiple things at once and import, or simply use the browse button to apply the same scene material to multiple items. (The problem with instances becoming multiple copies of materials when you load a file will be fixed in today’s release )

Our documentation is non-existant at the moment but once it is it should be much easier to realize that there are pop up menus to be found. We chose pop-ups because the pop up menu style is much cleaner rather than cluttering our dialog with buttons.

I’m open to the Max system so long as I’m clear as to where the materials are coming from and whether they’ve been modified. I also have to re-render projects months after the initial rendering and I can’t keep track of what materials are still original and which ones I fiddled with.
To be honest with you, this isn’t really the Max system for material creation. Its a hybrid of several ideas (unfortunately we never really used Flamingo :smile: )

Assigning Materials

IMO the material editor needs to be visual. Perhaps seeing 6 to 9 materials at one time. For me, this would be much more helpful than the naming system.

Copying the material should do just that, but once copied the material is unique and unassigned to any object. For example:

1) Create White Diffuse and assign to Object 1 of 3
2) Copy White Diffuse and it’s automatically renamed and unassigned to any object. Edit material and name if applicable, assign to Object 2.
3) Create New Material, edit appropriately and assign to Object 3 etc.

I think an “instance” of a material should be optional, such as a check box saying “Instance Materials when copying” or something like that. By default,
all materials when created or copied should be unique unless told otherwise.

Just my opinion.

Bill

Assigning Materials

From my usage I would say, I need following commands at the simple current library:
- create
- delete
- duplicate
- rename
- reorder (or reorder per automatic)

The text based library is good for my usage now, a visual would be nice for the future.

Assigning Materials

Text is fine as long as the naming system can be controlled. It seems I end up with 4,204 Default Materials with no option to delete. A more visual library should be an imperative as soon as possible.

Deleting a material or all materials minus a true default material would be helpful.

Bill