View Full Version : Hypershade UI parts

12 December 2012, 10:15 AM
I'm trying to strip down the hypershade without any success: it's build around a billion different scripts, with each one appearing to run procedures from each other in every direction possible.
So instead of just dissecting the hypershade maybe it's better to just build something from scratch.

The problem with that though is that I don't know what the UI parts are named (MEL commands). I've been trying to locate the names of these elements but it's like trying to find a needle in a haystack, so maybe it's better to just ask?

What I want to create manually is this particular part of the hypershade shown below:

What I wanna know is the name of that workspace -container, the thumbnails and the tabs.
The sorting column stuff on the left is just a columnLayout so nothing fancy there.

EDIT: Also, if the thumbnails/swatches under "textures", "utilities" and "shading groups" are called something else then I would like to know the name of those as well.

12 December 2012, 12:34 PM
I think to create manually that area of the hyperShade is quite a challenge. I don't think you can do it without understanding what those mel scripts are doing.

Anyway here are some hints.

As far as I understand the work area (the container in your pic) is a hyperGraph. So it is managed by the hyperGraph mel command.
It is embed to so called collectionUI (you can find the collectionUI.mel for details). And the whole UI hierarchy to that point is:


These UI parts are the following types:

window | paneLayout | scriptedPanel | formLayout | paneLayout | formLayout | paneLayout | tabLayout | formLayout | formLayout | formLayout -> collectionUI -> hyperGraph

Maybe I wrong but I think there is no swatch or something like that type of UI. That is the hyperGraph.

The third part in your pic those are the tabs of the tabLayout.

12 December 2012, 02:17 PM
A challenge you say? Then so be it!
I'll have a look at hyperGraph.mel and collectionUI.mel

12 December 2012, 04:03 PM
// Description:
// This procedure is called from any piece of UI which wants to create a
// collection UI within itself.

That part I do not really understand. How do I call on a procedure from -within- a piece of UI?

collectionUI "" ""
Is how you call on this procedure. First string is the name of the formLayout you want it attached to and the second string is the hypershade name (which can be blank because the procedure creates a new hypershade if there's none).

I've tried running collectionUI and then enter the name of one of my formLayouts in the first string "slot" there but all I get is
// Error: file: C:/Program Files (x86)/Autodesk/Maya2012/scripts/others/collectionUI.mel line 1221: Object 'THE NAME OF MY LAYOUT|sidePanel|paneLayout7|polyTexturePlacementPanel1|formLayout87' not found. //

...which is probably because I do not call on collectionUI from inside the UI.

CGTalk Moderation
12 December 2012, 04:03 PM
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.