0
$\begingroup$

Crash Bandicoot is famously colored almost exclusively using vertex colors, but if you look at his PSX model you can see that certain faces that share vertices are not gradients. Instead, there is a sharp difference between the colors on his eyes, nose, lips, teeth, ears and skin:

Crash Bandicoot on the PSX.

Can this effect be recreated in Blender, with 3.2's new vertex color functionality? Or does Crash's old model have hidden faces to contain the gradient somehow?

$\endgroup$

1 Answer 1

2
$\begingroup$

Yes, vertex color in Blender is a "face-corner" attribute: you can specify a different value for each corner of a face:

enter image description here

The trick here is to enable "face masking mode" with the button immediately to the right of the "vertex paint" mode select. When you do this, you can select individual faces (either with vertex paint's select tool, or via face selection in edit mode) and your painting will be restricted to corners that are a part of that face.

There are drawbacks to doing so-- just as with other vertex attributes, many engines will need to split any vertices to limit vertex color to a face-corner. I can't say for certain whether Crash Bandicoot used per-corner vertex color like this. Another way to do it, that isn't actually any more expensive in most rendering engines, is simply to rip the edges of discontinuous color, so that you have duplicated vertices/edges located in the same positions.

Thanks for mentioning in comments about the new, different types of vertex color layer attributes: Blender can now support both vertex-data and face-corner-data vertex color layers. You choose upon creation of the vertex color layer. If you want a different color for each corner, you need to be painting on the face-corner type.

$\endgroup$
2
  • $\begingroup$ I enabled Paint Mask Mode next to "Vertex Paint", and it works for setting the color of a specific face. However, the color still leaks into surrounding faces and selecting and coloring those faces affects the colors I've already added to other faces. What am I doing wrong? $\endgroup$ Commented Aug 11, 2022 at 23:56
  • $\begingroup$ I figured it out. The Domain needs to be set to Face Corner when creating the color attribute. $\endgroup$ Commented Aug 12, 2022 at 0:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .