14
$\begingroup$

The long way I do this is:

  • have cycles render selected
  • setup the materials of a mesh
  • create it's UV coordinates
  • create a new image and assign it to the mesh
  • bake
  • change from cycles to blender render
  • if in cycles you were using nodes for materials setup, disable it
  • setup the material as shadeless
  • go to the textures of the object and set the baked texture
  • go to object data->vertex colors and add a new one if there wasn't
  • go to bake options change bake mode to texture and bake to vertex color and finally bake it

This takes a lot of time to do and the final vertex colors bake will always have some vertex that are colored incorrectly because the UV projection was not perfect. Is there any way to bake in cycles directly to vertex colors?

$\endgroup$
1
  • $\begingroup$ Honestly I don't think this is what you want. Vertices can only have one solid color assigned tot hem. Vertex colors are usually used as masks, as the color detail is only as fine as the poly count. $\endgroup$
    – VRM
    Nov 23, 2016 at 14:48

5 Answers 5

4
$\begingroup$

There is a seperate addon to bake images to vertex color.

  1. bake to image
  2. use addon to bake image to vertex color

https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/UV/Bake_Texture_to_Vertex_Colors

$\endgroup$
1
  • $\begingroup$ Not usable in scenarios like baking AO to vegetation (grass consisting of millions of polygons). $\endgroup$ Jul 5, 2020 at 14:11
4
$\begingroup$

Until there is a proper implementation for baking to vertex colors in Blender/Cycles, you can use the following free Add-on: https://gumroad.com/l/zdgxg

This addon enables you to bake passes like diffuse, emission, ambient occlusion etc to vertex colors. This type of workflow can be really useful when working with game assets. By combining this addon with custom shaders in cycles there are endless possibilites for the type of output that you want.

$\endgroup$
0
1
$\begingroup$

The easiest solution is to use the addon Node Wrangler to help you in this task.

  1. Enable the addon in the User Preferences> Addons> Node Wrangler
  2. In the node editor, you can now directly access your vertex color from the add Menu Shift+A> Input> Vertex Color> Col. The add-on automatically adds an attribute node with the correct Vertex Color name.
  3. Do a Ctrl+Shift+Left Click on the newly added Attribute node. It will add automatically a Viewer node. It is in fact an Emission shader that we will use to bake quickly the vertex color.
  4. Unwrap your model and create an image to bake the color on.
  5. In your material node tree, add an image texture (Shift+A> Texture> Image Texture and put it somewhere in the tree. DO NOT connect it with the tree. Just let it hang somewhere on the canvas like the following image. Choose the newly created image in this image texture. Complete Node Tree before baking
  6. In the render menu of the Properties editor, go the Bake panel and change Bake Type to Emit.
  7. Hit the Bake button. The render should quite fast as we use the Emit value, you can set your render settings to a low value like 5 samples

In the end, you should get a result with something like this:

Final UI

$\endgroup$
4
  • 4
    $\begingroup$ I wan to render to vertex colors, not render from vertex colors. I want blender cycles "combined" bake to the vertex colors of the mesh not to a texture. $\endgroup$
    – porente
    Feb 1, 2016 at 4:57
  • $\begingroup$ This is exactly what I was looking for, brilliant, many thanks! $\endgroup$
    – Georges D
    Apr 12, 2017 at 16:42
  • 3
    $\begingroup$ The OP wanted to bake to vertex colors, not from (which is what I am looking for right now as well). $\endgroup$ Mar 21, 2018 at 15:12
  • 1
    $\begingroup$ Voted down - this is not baking to vertex color. $\endgroup$ Jan 26, 2019 at 21:24
1
$\begingroup$

Since Blender V2.92 Vertex Color baking is built-in using Cycles.

Notes :

  • Not Compatible with OptiX, set your device to CUDA instead in Edit > Preferences > System

enter image description here

  • The object needs to have at least one Vertex Color map, and the colors will be baked to the selected map.

enter image description here

  • Navigate to the Bake settings under the Render Properties, and set the output target to Vertex Colors instead of Image textures.

enter image description here

  • Select the Render pass you want to bake to vertex colors.

enter image description here

  • Click on Bake and wait till the end of the process.

Example. Using a Suzanne with a Voronoi Texture in Render mode :

enter image description here

After baking, in solid mode and Vertex Color display mode :

enter image description here

$\endgroup$
0
0
$\begingroup$

A pillow or a curtain for example may have many vertices and are difficult to unwrap (sometime impossible to unwrap if too many vertices). This is where baking to vertex colors can give very nice results. What I do in such a case is using a blender internal lighting and baking and then go back to cycles using the "Attribute" node with name "COl" (or other vertex color name created while baking)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.