A few months back I posted a
thread featuring the Material List plugin which is currently bundled with dDo. That old version is quite buggy and far from satisfactory. I've made sweeping changes to the tool and am re-releasing it as the dDo Material Manager! (Thanks to passerby and Froyok for coding assistance!) I have polished up this plugin to be more efficient and improved the ease of use.
-- February 3 2014 -- Version 2.7.5
1) Fixed the misleading destination path in step 3 of the Installation Instructions.
2) Clicking on a material name now updates textures!
3) Added a Sort Z-A sorting method.
4) Fixed an issue where deleting a selected material (regular and multi mode) would prevent the Material List from updating.
5) Fixed an issue where assigning Quick Materials didn't work on more than one object.
6) Fixed an issue where deleting a material resulted in the loss of the current selection.
-- January 6 2014 -- Version 2.7.3
1) Assigning a hotkey for "dDo Manager" using the menu option will now function as an open/close toggle. Press once to open; press again to close.
2) Add Materials tab now properly updates when deleting a preset from Material List and immediately switching to Add Materials.
3) Material List tab should no longer break if there are identically named shape objects (under separate hierarchies).
4) If attempting to use the Assign/Delete Material Channels to assign a channel which is already occupied, the material will be displayed along with a warning instead of just warning about a full channel, if possible.
5) Increased the minimum window height slightly.
-- December 4 2013 -- Version 2.7.1
1) Deleting materials from the Material List tab and creating materials from the Add Materials tab no longer causes the scroll position to reset
2) Selecting mesh components (vertex, edge, face) will now update Material List indicators for the parent shape.
3) Creating and assigning material presets is now faster and more similar to applying existing materials from the Material List tab.
4) The Detach Alpha button (adjacent to the Delete Transparency Channel button) should now work when a single material is in question.
5) Assigning a material now updates the Material List indicators.
6) Warning messages for nonexistent or already-empty channels have been disabled. Warnings for occupied channels still enabled.
7) The update button which redirects to my Website now takes you to the appropriate page.
8) Changed some initialization code around; if you happened to bind a hotkey using Tools > Assign Hotkey: dDo Manager, please re-bind your hotkey to avoid any issues related to the changes.
9) Using the Cleanup tools will now also update the preset list if you have that tab selected.
-- October 27 2013 -- Version 2.6.1
1) The window can now scale vertically to whatever side you would like
2) Fixed an issue where reloading the screen caused your selection to clear
3) Cleaned up the code a bit (but it's still probably messy)
4) Added a help menu option explaining the Add Materials tab
5) Redesigned how the Add Materials presets list
6) The Del All button under Assign/Delete Material Channels button no longer deletes the material from the scene
7) Adding or deleting a diffuse map to a material will automatically refresh the material listing
-- October 21 2013 -- Version 2.5.2
After much testing, some elements were decided to be inefficiently positioned or superfluous.
1) Layout reduced to two tabs.
2) Selecting an object now automatically detects and updates material indicators without having to redraw the window.
3) Several selection errors have been fixed.
4) Global values for color, spec, cosine power, etc. no longer attempt to reinitialize.
5) Quick Materials and Assign/Delete Material Channels tools have been moved to the bottom of the first tab.
6) Added a button next to the Delete Transparency button which disconnects alpha channels from a material's diffuse channel which may have inadvertently or undesirably loaded as a transparency channel.
7) The Select and Delete buttons for Multi Select Mode have been relocated to the lambert1 line in order to free up UI real estate
8) Ramp Shaders, Fluid Shapes, and Env Fog now successfully loads into the material listing, however some features may not be available for these material types, such as the Assign/Delete Material Channels tools.
9) Colorized indicator arrows for easier visibility.
10) Moved Create Shelf Button button to the Tool menu.
11) Added Import and Export buttons.
The video doesn't quite match the current build of the tool anymore, however nearly all the features outlined in the video are still present in the plugin.
Version 3 is out! Check it out here
Installation instructions come with your download and are also outlined in the video above.
Replies
also doesn't look like your little indicator in the list updates unless the UI refreshes, you might be able to use a scriptJob to set that everytime a selection is made
Yeah I didn't want to deal with the headache of figuring out how to implement a search field. I don't think I have the time right now either Ideally it would be nice for the indicators to update instantly, but as far as I know that requires the window to be reloaded/redrawn which could get annoying for people to see the window constantly flashing, or even time consuming of the scene contains a large amount of materials to list back out.
That's a good question. The previous version was a docked window like the Tool Settings, however I was encountering an issue where the dock window would stop refreshing at random for no reason so I was forced to return it to a floating window.
As for the tabs, which is a bit unusual for common tool option windows, I used that as a way to keep all the features I wanted without increasing the size of the window or requiring the use of a scroll bar to view the major elements.
I'd love to learn Python but considering this is more of a hobby and mostly an undertaking to improve my own pipeline, it's not something I can afford the time to do.
I'm also happy to see the progress of this tool. Remember, the tool used to look like this:
That flag is also one of the better ways to implement search, loop through everything in the list, do some string comparisons from it's name to the text in the search field, if True, set visible=True, if not True, set visible=False.
keep it up
I finally got around to implementing this. It works great now! Everything updates in real time without requiring the entire window to redraw. There's still a bit of annoyance, though. The scriptJob doesn't seem to work in the 2012 version. Same code and everything, it just refuses to do what it's supposed to. I'm not sure what Autodesk did between 2012 and 2013 but there are some serious differences in each version of MEL.
[edit: removed old links]
// Error: file: F:/Docs/maya/2015-x64/scripts/ddoMaterialManager_2013.mel line 739: Number of arguments on call to AEfileTextureBrowser does not match number of parameters in procedure definition. //