This Page is Currently a Work In Progress


Table of Contents


Introduction

The Redshift Vertex Color node is a utility node used to extract the per-vertex RGBA color data found inside of Maya's Color Sets. This shader gives you access to color per-vertex attributes. This can be used as an alternative to the more flexible Color User Data node, which can access point, object and vertex attributes.


Beauty render using the per-vertex color set as our diffuse color input.

Viewport representation of the per-vertex color set on the sphere object.



Redshift Vertex Color Node Parameters



Parameters

Attribute Name

This is the name of the vertex attribute that will be read. The name is case sensative.


Default Color

This is the color that will be output if the attribute is not found.


Color Gain

Multiplies all colors in the image plane by the Color Gain color.


Color Offset

An offset factor applied to all input colors.


Alpha Gain

Scaling factor applied to the texture's outAlpha channel.


Alpha Offset

Offset factor applied to the texture's outAlpha channel.


Alpha Is Luminance

Converts the per-vertex color into a gray-scale input and converts it into the alpha.



Redshift Vertex Color Example

In this example we will be using Maya's built-in Paint Vertex Color Tool to paint RGB values on our sphere object and create a ColorSet that can then be read into the Redshift Vertex Color node to control the look of our diffuse color node.


Paint Vertex Color Tool

In this example we will be using the Paint Vertex Color Tool on our Sphere object. This option can be found in the Mesh Display dropdown menu in Modeling mode.



Paint Vertex Color Tool found under the Mesh Display dropdown menu.



Drawing our per-vertex colors onto our Sphere object using the Paint Vertex Color Tool.


Color Sets

Using the Paint Vertex Color Tool to draw on our Sphere object will automatically create a Color Set. You can open the Color Set Editor on the object and delete, rename or create more Color Sets for our Object. The name of our Color Set is important, this name is what we use to read in the Color Set and its Per-Vertex Color data.

The name of the Color Set is case sensative. Use the exact same name including the upper & lower case letters when adding it to the Vertex Color Node.



Right click+hold over our object brings up the Marking Menu which includes the Color Sets Menu.



The Color Set Editor displaying the default "colorSet" RGBA data our Paint Vertex Color Tool created



Redshift Vertex Color Node

Now that we have both our painted per-vertex colors and the color set ready, we can now use the rsVertexColor node to read in this data into Redshift and use it for our shaders. In this initial example we will use the per-vertex colors to control our rsMaterial Diffuse Color input.


Assigning the rsVertexColor to the rsMaterial color is not supported currently in the viewport. A workaround is to use the native Maya Lambert shader as the surface input into the objects Shader Group while assigning the Redshift Material into the Redshift Surface Shader input. This will give you a correct Redshift render while maintaining the matching viewport preview. This allows you to continue working with the Paint Vertex Color Tool in viewport.



"rsVertexColor" Assigned to the "Diffuse Color" input of our "rsMaterial". The shader is assigned to our Sphere objects "Redshift Surface Shader" Input. We also have a Lambert shader assigned to our Surface Material Input. This lets us keep our viewport preview of our per-vertex colors.



The rsVertexColor parameter "Color Set" is using the "colorSet" parameter we created earlier.



Matching viewport and Redshift render of our per-vertex color set using the above technique. The "rsMaterial" Diffuse Color is displaying our "rsVertexColor" node.


rsVectorColor Example

In this next example we use the same per-vertex colors we painted on our sphere object again but we also use the RGB color data in each channel as inputs per color channel to create alpha masks for our displacement blender weight input. The red channel mask has zero displacement. The green channel mask has a Cell noise displacement. The blue channel mask has a fractal noise. Using this technique you can paint a single per-vertex surface using pure RGB values which can then be split into 3 seperate channels to generate 3 different float value masks to control float inputs like the Displacement Blender "weight" or the "roughness" input of the rsMaterial.



Example render using the RGB per-vertex color values to control the Displacement Blender Weight.



Hypershade network. The rsVertexColor reads in the per-vertex color we painted. This color data is split per RGB channel's Out Color to control the Displace Weight values.