AnotherColorPicker (ACP) is a simple color palette using unity UGUI. Unlike other color pickers and palettes, ACP focuses on user experience and provides a simple way for picking colors for normal users who don't know much about coloring systems and color theory.
There were two reasons for me to create another color picker:
- UX: other color pickers/palettes available online are a bit complex, they are emulating the color picker used in photo editing/painting softwares which is not user friendly for kids and casual users
- Customization: in this color picker colors are generated using shader which makes it easy to customize number of colors without having to create a special graphics for color wheel
ACP shows multiple color wheels connected together, you can think about it as a spiral worm, you can customize the number of wheels and the number of colors (segments).
There are two main controls:
- Rotate the wheel to change the selected color (change color's hue)
- Drag inward and outward to change brightness (control color's value and saturation)
- Picker: Rect transform represent the picker position
- Picked Color Image: an image that show the current selected color
- Color Wheel Material: a material that is used for the color wheel, this material should use "CustomUI/ColorWheel" shader
- Total Number of Colors: represents the total number of colors showed by the palette in all wheels.
- Wheels Count: represents the number of wheels in the palette
- Starting Angle a starting angle of the wheel (in degrees from 0 to 360), it's important to change this value if you have multiple wheels and position the palette in a position in which the right half of it is visible (e.g. left middle of the screen), so by changing this value you can hide the spawning point of colors.
- Control SV: a boolean value that represent whether you want the palette to control the saturation and value of the color by dragging or you will externally changing them.
- Whole Segment: whether you want the circle to rotate smoothly or to rotate segment by segment
Written with StackEdit.