PDA

View Full Version : How to replace a material??


svintaj
02-06-2006, 01:42 PM
How do you replace a material-setting without having to: Load a new material, delete the old material and then reasign the new material to all surfaces parts??? (I got 40 of them in my case) :banghead: I constatly replace my objects while I'm working and then all the surfaces disconnects from the materials! :banghead:

Thanks in advance!
/ Svante

Wegg
02-06-2006, 05:09 PM
I don't understand why you would need to re-apply all your materials. . .

I'm just lazy I guess.

When I do a major model revision. . . I save the new model over the old one using the exact same file name. . . and then re-start Messiah and re-load my scene. Messiah doesn't have any idea that its a new mesh. It just puts the materials where they need to be.

svintaj
02-06-2006, 10:36 PM
I have to re-apply all my materials simply because I have the same material on several layers.

I want to paste a stored preset-material into a material, the fastest way.
So which is the fastest way??

/ Svante

Wegg
02-06-2006, 11:28 PM
click on the surface you would like to apply the material too.

click on the "apply material" button.

turn off your old material and make sure your new material is "green".

Do a test render.

If you like how the new material looks on your surface. . . click on the old material and hit "-" on your numpad to delete it.

svintaj
02-07-2006, 10:20 AM
No Wegg, thats only describes how I can apply a material to a suface, what I want to do is this:

Apply a "preset-material" to an "existing-material", you know like if you press F5 and then want to apply the Metallic->Metal preset on the Enviromet-material.

How can this be done fast, like drag and drop??

/ Svante

MLMckenzie
02-07-2006, 04:52 PM
Do you mean like "Find & Replace", but with a material?

svintaj
02-07-2006, 05:39 PM
No, I mean like copy all shader-settings from one material to another material.

In LightWave for example I use to do like this: (From LW's SurfaceEditor) I right-click on a surface-name and choose Copy, then I right-click on another surface and chose Paste. Done!

How can I do that equally fast in Messiah??

/ Svante

Wegg
02-07-2006, 07:19 PM
Oh. . . shader nodes?

You just right click on the node in your shader flow and pick "copy" then go to the next material, right click on an empty spot and pick "paste" and then hook it up where it needs to go!

svintaj
02-07-2006, 10:07 PM
No not shader nodes, I'm talking about Materials.

You all know what a Material is in Messiah, ok?
( Material = settings for color, specular, diffuse, reflection and shader-nodes etc... )

I want to copy a Material, so I can paste it over another Material.
Like if I have 40 different objects using a Material called BlueFish.
How can I then (fast) replace BlueFish with my preset Material RedFish??

/ Svante

Wegg
02-08-2006, 01:55 AM
Just select all the surfaces you want to apply the material. . . and apply them. I really don't understand what the problem is.

Once it is applied to your 40 surfaces. . . you can go ahead and change the properties of that single material. . . and it will change on all 40 surfaces.

Its not like Lightwave where each surface has to have its own properties and you have to copy and paste the values over and over. .. .

svintaj
02-08-2006, 08:50 AM
I really don't understand what the problem is.
No you don't :rolleyes:

This is about Materials, Materials and Materials, OK?

Materials!

I save a Material as a .mm file (Messiah Material / material preset), are you with me..??
When I like to use this saved Material, how do I apply it fast to 40 or 4000 objects??

/ Svante

ThomasHelzle
02-08-2006, 09:01 AM
You simply can't.
Very annoying but fact.
You also can't replace the default-base material with one of the others after the material is created. :(

Don't let the other replys fool you, you are absolutely right, this is a major oversight by pmG ;)

Best regards,

svintaj
02-08-2006, 09:32 AM
Thanks Thomas!

/ Svante

Wegg
02-08-2006, 02:58 PM
You simply can't.
Very annoying but fact.
You also can't replace the default-base material with one of the others after the material is created. :(

Don't let the other replys fool you, you are absolutely right, this is a major oversight by pmG ;)


The version we are beta testing resolves that issue Thomas. Radiance is now there by default.

But for svintaj's issue. . . I still don't get it.

If you have 40,000 surfaces. . .

You load your material by right-clicking on the materials tab and pick "Load Material". Then once it is loaded (It should have a little red X on it showing you that it isn't applied to anything). . . go into the surface tab. Click in this new material you want to apply to all the surfaces. Then click the top surface on the list. . . scroll all the way down to the bottom of the list. . . hold down shift and click on the last surface. Once everything on the list is selected. . . Ctrl-click anything you DON'T want the material applied too to unselect them. Once thats done. . . just click on "Apply Material and it will apply to all those surfaces. Then just go back into the Materials tab and start deleting any materials you are no longer needing or wanting.

There are also some cool management features when you right-click the materials tab. Like "Delete Unused Materials" and "Remove Material From All Surfaces". Those would probably be very handy for you right about now.

ThomasHelzle
02-08-2006, 05:18 PM
But for svintaj's issue. . . I still don't get it.
Well, now if that isn't obvious >LOL< :p

The need to be able to replace a material in the material list with a preset from the palette instead of adding a new material to the list and going through all the tedious things you describe being necessary is obvious for me for years now...
Your way might work for very simple scenes, but for more involved arrangements with many objects with many materials it is insane.

I would add two things to messiah in that regard:

One is a way to copy a material in the material list and paste it onto another material to replace it.

The second thing would be a right-mouse menu for material-palette (F5) entries:
- Add to materials (like it is now if you double click)
- Replace current material (that's what's needed)
I personally would add even more things like:
- Delete material
- Rename material
- Copy material (to paste later...)

With the current speed of development this shouldn't take any longer than one or two years to implement I'm sure... >LOL< :thumbsup: :bounce: ... if only those do not become Pluto-years... :rolleyes:

Over and out

Wegg
02-08-2006, 05:43 PM
<lightbulb>

Ooo ok.

I can see how that would be helpful. I'd use that.

I have to say though. . . I have done some pretty damn complex scenes in Messiah with a lot of different surfaces and materials and. . . even though at times I wish it could be a little more elegant. . . it doesn't slow me down THAT much. <shrug>

svintaj
02-08-2006, 06:02 PM
Click in this new material you want to apply to all the surfaces. Then click the top surface on the list. . . scroll all the way down to the bottom of the list. . . hold down shift and click on the last surface. Once everything on the list is selected. . . Ctrl-click anything you DON'T want the material applied too to unselect them.
I know all this as you can read in the start of this thread, I was just asking for a more user-friendly solution like: DragAndDrop or CopyPaste?

But why must we read through ( 40,000 + all other surfaces ) numbers of lines to search and search for wich surfaces to exclude, when it could be easy?
Why not just: Copy, Paste? :banghead:

Today when you right-click on a material and chose copy, you are actually making a duplicate and not a copy. And you can't paste it over another material.

/ Svante

svintaj
02-10-2006, 12:58 PM
refined editing of materials in terms of replacing, right button menu improvements, list organisation and all of that is something we will get to before 2008. Maybe even before 2007. Maybe even earlier than that...hmmm....
Ok great Taron! While you're at it: Make it work like drag and drop!
Imaging this: Drag the Material from the MaterialsTray and drop it on the OpenGL object you want to apply the Material to. Or drag a MaterialPreset and just drop it on a Material in the MaterialTray.

And to make it useful all the way: Settings for Alpha, Smooth, SmoothingAngle and DoubleSided must belong to the Material. ( Now they only belong to the Surface and isn't stored in the Material! )

/ Svante

Taron333
02-11-2006, 12:51 AM
Ok great Taron! While you're at it: Make it work like drag and drop!
Imaging this: Drag the Material from the MaterialsTray and drop it on the OpenGL object you want to apply the Material to. Or drag a MaterialPreset and just drop it on a Material in the MaterialTray.

And to make it useful all the way: Settings for Alpha, Smooth, SmoothingAngle and DoubleSided must belong to the Material. ( Now they only belong to the Surface and isn't stored in the Material! )

/ Svante

Sounds like a fancy idea, but you know an object can have multiple surfaces, which alone would make it somewhat ambiguous as to where the material is ment to go. Also there is the danger of dropping it on the wrong object, as silly as that sounds, but I'm 100% certain that this could and would happen. If the solution would be to simply drop the material into all of the surfaces of the object it would be all hell, actually..haha...or at least a good shocker, since undo is a great part of our current focus and that stuff wouldn't be the biggest deal anymore. However, a good and solid list editing with some helpful requesters to refine exactly what you're desiring should be a very good start I think. But none the less, it's a great thing to keep thinking about, drag and drop. As we move on to optimizing the general visual navigation and feedback area, this kind of thinking will clearly be a great inspiriation!

Thanx! :thumbsup:

Oh, and the second part...what must belong to the material is not as simple as that! Some of this is rather a kind of geometry representation issue, you know. You could turn an object from wood into metal or any other material type, while the way the geometry is rendered should stay the same...smoothing angles refer to the tightness of edges on a model for instance and are independent from the material that is on them! The same goes for double sided, while that one is yet a little more arguable. It's a little confusing, because we differenciate between surfaces and materials....I wonder if it would make any sense to actually save surfaces actually...hmmm...because in theory they could have even elaborate constructions of materials in them as well...hmmm....we'll think about all of that!

Thanx very much!

Taron

CGTalk Moderation
02-11-2006, 12:51 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.