0
$\begingroup$

enter image description here

On the cube is a multi-colored texture. When adding hair particles, they are colored in the color of the texture, but after being converted to a mesh, they become black. How to keep the color of the particles when converting to a mesh?

$\endgroup$

1 Answer 1

1
$\begingroup$

When you click Convert to Mesh on the Particle Modifier to generate the hair, a new object is created with no material applied to it.

So the first step to get the color on them would be to add the material to the new object. But then you still wouldn't see anything in rendered view - and I don't mean a missing material, but absolutely nothing. Because hair particles are more or less curves, and like curve objects converted to mesh they are just vertices connected through edges. But to be visible in render the hair needs faces.

What you could do is convert the mesh into curves and give them geometry by going to Object Data Properties and setting Geometry Data > Bevel > Depth to something > 0.

convert to curves

bevel curves

The problem now with this might be, that the mapping of the material is different on the curves than on the hair before, since the hair inherits the color from the face where it grows, while now the hair itself builds the faces. For example, my material use the Generated texture coordinate in Y direction to color the cube. The left side of the cube is 0, the right side is 1 and the color ramp places the colors from 0 to 1. On the beveled curve, the hair tips to the left are now 0 and the hair tips to the right are 1, so the color is spread from tip to tip instead of root to root as before.

color distribution

But this is dependent on the material setup and can yield completely different results depending on how the material is mapped to an object, see the following examples: The cube appears the same with both materials, but the hair changes - the second material colors the hair mesh the same as the hair particles before. These are just two examples, materials with UV mapping etc. can make things much more complicated.

enter image description here

Anyway, if you want the hair to be a mesh instead of a curve, you could now convert the curve with its generated geometry back to a mesh like you did before the other way round.

I'm just going to show you another way of how you can make the simple edge-connected vertices into a mesh with faces to make them visible:

Instead of converting the edges into curves like before, you can add a Skin modifier to the hair object. At first, almost all hair strands seem to have disappeared. That's because the Skin modifier needs to know which vertex is the beginning of an edge, and by default only one vertex is marked as root and only the edge connected to it gets "skin".

skin modifier default

To change this it's best to go into Wireframe view and select all vertices at the end of each single edge. With a simple geometry like this it is easy, just view the object from the front and the side and drage the mouse over them while holding Shift. For more complex geometry this might get a little tricky (although I think it would also work if you simply select all vertices).

select root vertices

After you've made the selection, click the Mark Root button in the Skin modifier.

mark root

Immediately all edges turn into cuboids. Of course the diameter is much too large right now, so select all vertices with A if they aren't already, then press Ctrl+A and move the mouse to scale the diameter of all vertices down. Alternatively, you can change the size by changing the Mean Radius X and Mean Radius Y values in the side panel.

scaling the diameter

$\endgroup$
1
  • 1
    $\begingroup$ Thanks for such a detailed answer :) $\endgroup$ Sep 1 at 5:56

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.