[Plugin] Remove group materials, leave geometry material
-
@jackson said:
Sorry about the rather cryptic topic, hard to explain this one in a few words.
I've been discussing the new Service Release of VRay for SU over at ASGvis' forums and there is one major problem which their developers don't seem to be able to circumvent. In short, any materials which are applied to groups or components cause the export process to take ridiculously long: 20+ minutes even for simple models. If I take the time to sit down and go through the group hierarchy of large skp file to ensure that all materials are applied directly to geometry rather than the groups, the export time usually takes just a few seconds, but I haven't worked out a simple and effective way of doing this and so not for the first time I thought I'd turn to the ruby forum and see if there's anything anyone can think of or come up with which would disable SU's ability to apply textures to groups or comps, and if possible to be able to apply that retrospectively.
I'm a little irritated that the ASGvis developers seem to have chosen to ignore a very useful feature of SU (to be able to switch materials of groups very quickly by painting selected geometry within them with the default material), but this is how they explained it to me:
"This is how our programmers described it to me. Sometimes there would be modifications made to the geometry that we told SU to tell us about, but unfortunately SU decided not to tell us. We thought there were no modifications made and no new geometry to keep track of. The result was geometry "popping" out of nowhere when we went to render the scene and so we didn't have a material for it. Hence no material and there for "disappeared". Obviously, if you apply a material to something, you no longer have the problem of there being no material.".
So until either Google or ASGvis sort this out (if they ever do), maybe a ruby whizz can think of a workaround which would benefit all VRay for SU users enormously?
Many thanks in advance,
Hi Jackson!
I Hope that's you want ! Remove all com/Group materials, but leave other entities..
EDIT1 : New version with demanded improvments.
EDIT2 : V1.3 with plot-paris improvments.
EDIT3 : V1.4 with SU7 speed improvment, RickW's collaborative effort and Organizer.rb support...
EDIT4 : V1.5 Can choose default material color.
Menu plugins "Remove C-G materials"
Type "Matt_Tools.remove_CG_mat" in the ruby console -
Wow Matthieu, I am almost lost for words! I never expected a response and certainly not a fully functioning script within 24 hours of posting! I just ran the script on a fairly complex skp file (amazed how fast it worked), purged the file and then hit VfSU's render button and it parsed in under 10 seconds compared to 20 minutes! This is going to be a HUGE help as I have to convert dozens of my skp/VfSU files to work properly with VfSU's new way of handling materials and I was frankly dreading the many days of work I would need to sit, searching through groups trying to delete the group materials. Do you mind if I post a link to this topic over at the VfSU forums as this ruby script will be an extremely useful tool for a lot of VfSU users?
Many many thanks,
-
@unknownuser said:
Do you mind if I post a link to this topic over at the VfSU forums as this ruby script will be an extremely useful tool for a lot of VfSU users?
Yes, you can ! And perhaps change your topic name to add [Plugin] ?
@unknownuser said:
I am almost lost for words!
Glad to helped you.. (I think we say it like that in English ) -
@matt666 said:
...And perhaps change your topic name to add [Plugin] ...
Done - I hope you don't mind Jackson.
-
Merci beaucoup Matthieu (and Csaba for editing the title)!
I was wondering, is there a way you can think of which would do what your script does (delete group materials), but rather than just leaving the default material in it's place it would actually apply the group material to the default geometry itself? One workaround would be to explode and then regroup all groups one-by-one, but the catch is components- their attributes are just too valuable to lose by converting them into groups.
Thanks again, you've already saved me DAYS of very, very tedious work.
p.s. I have one suggestion for your script above, maybe it would be better if it was named "Remove_CG_Mat" as ""Delete_CG_Mat" sounds like it would delete/purge those materials from the actual skp file, which might make people a little reluctant to use it.
-
I want to extend my thanks as well. This will be an invaluable ruby to help speed up processing/parsing times for Vray!
-
Jacksons suggestion for the script to apply the material of the group to all geometry with default colour within the group before removing the group-colour is a fantastic idea.
Imagine you have a rather complex group, several faces are painted with different materials, the rest is not coloured yet. all you have to do now is apply the colour for the rest of the faces to the group and rund Matthieu's script. that is much faster, than selecting all the untextured faces manually...
of course it could be quite tricky if you have nested groups within the painted group. then the script had to go down all the hierarchy into the lowest groups to paint the faces. of course it had to work from the 'inside' to the 'outside', so that the colour on the outermost group has lowest priority...
-
My earlier 'GlobalMaterialChange' script works on a selection: so by using Didier's filter tools you could just have what you want selected [e.g. Groups] and 'change all' materials in that to <default>. It can 'mine' into a group or component to change things within it too...
http://www.sketchucation.com/forums/scf/viewtopic.php?p=96863#p96863
Or am I missing something ? -
while on the subject of helping out vray, vray SR1 creates vray materials of all materials in the scene even the materials on lines (multi-coloured from CAD imports) could there also be a script to remove all materials from lines? that way vray wouldnt create any unnecessary materials
-
Hi all!
Sorry for the delay, I was in London last week...So:
@unknownuser said:
it would actually apply the group material to the default geometry itself
Yes, it's possible. I will add a message box to the script.@unknownuser said:
p.s. I have one suggestion for your script above, maybe it would be better if it was named "Remove_CG_Mat" as ""Delete_CG_Mat" sounds like it would delete/purge those materials from the actual skp file, which might make people a little reluctant to use it.
Ok!@unknownuser said:
while on the subject of helping out vray, vray SR1 creates vray materials of all materials in the scene even the materials on lines (multi-coloured from CAD imports) could there also be a script to remove all materials from lines? that way vray wouldnt create any unnecessary materials
Yes, it's possible. Vray uses attributes to record all object material. You just want to remove it.I just need for time to do that
-
Matthieu,
You are the man! If you can produce a ruby script which removes group materials and applies them to the default geometry you will save me about 3 day's work on this model alone! I'm trying to update my portfolio so this would be of enormous benefit to me as I've got lots to do and very little time to do it.
-
To Free Agent, can you share an example with Vray line material, please ?
Thank you ! -
Matthieu,
Free Agent means SUs own materials on lines, there's no separate VRay materials- it just creates/links it's own materials from those of SU. A standard skp model will contain the line materials Free Agent is describing.
Free Agent,
When SU imports dwgs and adds materials to lines (i.e. layer materials from Autocad) just delete those materials either by right-clicking on them in SU's material editor or (if there's lots of them) by opening the imported dwg group, switch to wireframe view, select all, paint with the default SU material and then purge the file. This will also delete all unnecessary VfSU materials.
-
Ok, but I will wait for Free agent answer to do smt !
I've updated post of the script with demanded improvments... I did'nt really test it... -
Matthieu,
I just ran it on this fairly simple model, but unfortunately it has applied the wrong materials to the groups, see before and after image below. I thought it might be applying materials from higher up the group heirarchy, but that doesn't seem to be the case. Any idea what's going wrong? I can send you the skp file if you like.
-
Can you send me the skp, please?
Thank you !
Sorry, I don't have a lot of time to test... -
Here's the Rapidshare link:
http://rapidshare.com/files/160279614/House_TEST.skp.html
LOL, definitely no need to apologise!
-
Hi Jackson !
I don't forget your demand !!
I have no time to do smt now, and I have a problem of "Hierarchy" in your drawing example... So it's quite difficult !
But I think I will show smt in a few days..See you soon !
-
Matthieu,
No worries, your original "Remove CG Materials" script has already saved me about 20 hour's work so I'm pretty happy already!
Best regards,
Jackson -
We loosed some posts here
So, script's post has been updated... Not tested enough, but I'm a few confident !
Now all Comp/Groups materials are transfered to geometry if you want.
Advertisement