This tutorial is also available on Odysee.
Since Blender version 2.92 it has become very easy to transfer textures to vertex colors – a new option has been added to the baking menu.
1. Create a vertex color layer
Your mesh needs to have an existing vertex color layer. To create one, select your mesh, open the Object Data Properties in the vertical panel on the right (green triangle icon), expand the Vertex Colors category and click on the [+] icon. A new entry named Col will appear.
2. Assign your textures to a material
The texture you want to convert to vertex colors needs to be applied to your mesh in a material. Just create a regular material like usual and assign the texture to the correct slot (for example a color texture to the BaseColor slot of a Principled BSDF shader).
3. Switch your renderer to Cycles
You can’t bake with your renderer set to Eevee. To switch it to Cycles, open the Render Properties in the vertical toolbar on the right and select Cycles as your Render Engine.
4. Bake vertex colors to a texture
With the Render Properties still open, scroll down until you find the Bake category and open it.
Set the Bake Type to the type of texture you want to use. This has to match the slot you use in your material. If you want to transfer the texture you use in the BaseColor slot, select Diffuse.
If you have selected Diffuse, expand the Influence category, disable Direct and Indirect and enable Color. This makes sure that only the texture’s color is baked, but not any lighting you might have in your scene.
Then open the Output category and switch the target from Image Textures to Vertex Colors.
Lastly, press the Bake button at the beginning of the Bake category. You’ll see a progress bar at the bottom.
5. How to view the baked vertex colors
Switch your 3D viewport to Solid mode by clicking on the white sphere icon in the top right corner of your viewport. Then click on the small downward facing arrow at the right of this shading menu to open the Viewport Shading menu.
Set the Lighting to Flat to get rid of any shading in the viewport. Then set the Color to Vertex. You should now see your baked vertex colors on your mesh.