Vertex color data transfer problem


I’ve got two imported PLY models, one has a vertex color channel with colors, and one exact copy has a black and white mask as vertex colors.

When I add a Color Attribute channel to the first mesh and add a Data Transfer modifier to copy the black and white mask vertex color channel from the copy, the Data Transfer modifier overrides the color channel in stead of copying the black and white mask channel to the newly created channel.

I can’t assign a destination channel in the Data Transfer modifier, and I can’t change the order of the vertex color channels, so the mask would be copied to the right channel of the destination mesh.

I hope this is a bit clear. What I’m trying to achieve is what’s in the instructions below, but vertex color handling / interface has changed in Blender since the addition of Color Attributes.

Many thanks in advance for your help.

New interface should change nothing to the workflow.

You have to give a different name to Color Attributes.
If Mask is named Color (name by default) ; it is normal to have such problem.

If names are different , you have to click Generate Data Layers button and select attribute, you want to display, in Color Attributes list.

Display mode has to be Material Preview or Render Preveiw to see material mixing of layers.

It seems that Mix modes of Data Transfer modifier are not supporting color attributes, yet.

Thanks @zeauro .

I guess the function that is currently missing in the Data Transfer modifier is the ability to assign the transfer to a Color Attribute channel, to the right of the Colors button?


Ah, got it to work! You pointed me in the right direction, @zeauro , thanks again! :+1:

So, to summarize…

The Data Transfer modifier transfers to the default vertex color channel named ‘Col’. If you want to transfer a mask vertex channel to a mesh copy containing the vertex colors in the default ‘Col’ channel, then do this:

After adding a new Color Attribute channel (type: Face Corner ➔ Byte Color) you need to rename the already present ‘Col’ channel to a different name (e.g. ‘Colors’), then rename the newly added channel to ‘Col’, so the Data Transfer modifier will overwrite the new ‘Col’ channel with the mask from the other mesh, in stead of overwriting the default ‘Col’ vertex channel containing the colors.