Community
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Improve the color picker

Improve the color picker

The color picker is sorely lacking in user friendliness, and has been since Maya's inception. The widgets are MUCH too small with no options to expand them, making fine-tuning color values extremely difficult. It's a joke how small this fundamentally important menu is. RGB range is by default set to 0 to 1, which absolutely nobody uses so I always have to switch this to 0-255 to enter any explicit values. WHY is there no ability to easily pick and store a color value, such as with HEX codes? And WHY is the color swatch feature at the top of so utterly unintuitive and unreliable. Can you not simply put in a "load" arrow from the current swatch to store a color? I cannot believe how difficult it is to simply share a color value from one shader to another. Please give this menu a much-needed overhaul and add some of this essential functionality. This is another example of a Maya menu being left needing work while your developers focus on more "sexy" ideas.

1 Comment
hamsterHamster
Advisor

As for users still ask for this feature in 2021, I suspect nothing has been done on this subject.

 

The color picker quite is useless, as there are only selected places where you can sample color from, otherwise the sampling is wrong, e.g. try picking the color of the shelf background, a File thumbnail or a Ramp in the AttrEd/Hypershade or - let's go really crazy CREATIVE - anywhere else outside Maya window.. There are no such colors, not comprehensible where those are being sampled from.

hamsterHamster_1-1634383940217.png

This needs a fix!

 

As Maya can be used not only for the video production, it has to include broader range of color inputs, at least that Hex code. And the UI choice for HSB/RGB | 0to1/0to255 should be a radio buttons instead of pulldowns - save us those extra clicks, that pull us out from the Zone. UX, anyone?

 

A workaround for the HEX:

 

// HEX to RGB by nH v1.0 2021
// 1# In the Hypershade create colorConstant node (Maya>utilities) ;
// 2# In the AttrEditor add a custom attribute 'hex' of String type ;
// 3# expand ExtraAttributes section and enter some 6-digit hex code ;
// 4# RMB>Create New Expression.. next to the Color swatch, which will open ExpressionEditor ;
// 5# Copy-Paste this text, click Create ;
// 6# Click Copy Tab button to keep it as a separate "panel" ;
// USAGE: Click Color swatch to source the RGB color to a custom color slot, then click the destination Color swatch and load the color from that slot ; 
// NOTE: Hex input less than 6 characters will result to default full RED color, non-hex characters will result in negative values ;

// tokenize hex dictionary
string $hexes = "0123456789ABCDEF" ;
string $hex_dict[] ;
for ( $i=0; $i<size($hexes); $i++ ){
	$hex_dict[$i] = `substring $hexes ($i+1) ($i+1)` ;
}

// get user input
string $input = `getAttr "colorConstant1.hex"` ;
    if (size($input)<6) $input = "FF0000" ; // default color
$input = `toupper $input` ;

// tokenize user input to decimal
string $hex[] ;
int $dec[] ;
for ( $i = 0; $i<6; $i++ ) {
    $j = `substring $input ($i+1) ($i+1)` ;
    $dec[$i] = `stringArrayFind $j 0 $hex_dict` ;
} 

// convert decimal to fractional
float $fract[];
for ( $i = 0; $i<3; $i++ ){
    $fract[$i] = ($dec[$i*2]*16.0 + $dec[$i*2+1])/255.0;
}

// output
colorConstant1.inColorR = $fract[0];
colorConstant1.inColorG = $fract[1];
colorConstant1.inColorB = $fract[2];

// if you want to update your hex input from a MEL button, then use the following output string instead ;
// setAttr "colorConstant1.inColor" -type double3 $fract[0] $fract[1] $fract[2] ;

 

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea  

Autodesk Design & Make Report