Control hair params with a texture


It’s possible to control hair particle parameters (like growth, length, etc…) with an intensity texture? Which would be a lot more flexible than just vertex groups.

I seem to recall that in 2.4 we could do this, but it was a long time ago when I last needed such feature, so I’m not sure really. :stuck_out_tongue:

I think because of the way hair is now implemented, it cannot use the kind of detail that can be packed into a texture map for many of its parameters, but has to rely on vertex weighting, which can be “detailed” with Weight Painting, somewhat akin to Vertex Paint. This means that the resolution of your controlling detail is based on mesh density rather than image resolution, so if possible, use a fairly dense hair emitter mesh.

Thanks for the reply. So this means there wont be such a feature anymore? :confused:

That sounds quite a limitation, because applying huge subdivisions on your objects results in less flexibility, if you ever need to change anything. I guess that for character hair or fur such technique with vertex groups is ok, but for very sharp transitions & detailed regions (like if you wanted to render some writing with particles) it can be cumbersome.

It’s also less exact if you need to apply complex patterns to complex objects. Painting is just not my thing, not in 2D not in 3D. Mapping textures is detailed, fast & flexible…

I agree, it would be useful. Just not sure how feasible. You can get around some aspects of higher-rez emitter meshes by using “hairpiece” meshes that are separate from other parts of the model such a character mesh. For rendering particle-writing or the like I think I’d use a modeled emitter rather than trying to “write” a pattern with weight painting, much more control that way. Since the emitter need not render you can combine the particles with other meshes as needed.

I recently did this with the dragon-mage model I’m working on, he has a crest of feathery spines running from the top of the skull down his rather sinuous spine & out to the tip of his tail. Using a portion of the base model duped and remodeled a bit as the emitter, I set it to emit the hair as a specified Object, a “dragon crest scale” with a bit of texturing. I could modify the vectors of the resulting crest with the parent strands, and then made the instances real and did the final editing on the crest as a single mesh. This way I didn’t need to weight paint for hair control on the original model, all the hair emission was controlled by the mesh shape, and edited pretty much like regular hair, easier, actually, because there were only root & tip keys to deal with. I’m also going to look into this idea as a way of using the hair parent strands as guides for polygon hair masses.

Well, I would like to put some writing on this heart, by removing the “fur” from the emitter and using a different material in that place. It could be an arbitrary text / caligraphy / fonts or patterns, so modeling the emitter is out of the question. Using an intensity texture which you can create in Gimp in 5 seconds and replace it whenever you want, is a perfect solution. Everything else is more difficult or not feasible at all.

It seems strange to me that 2.6 doesn’t support such function (as I said, I don’t remember if it ever did). What can be so difficult about it? If it knows how to properly put particles on surface, it could also look if the surface point is black or white according to UV map.

The emission parameters are based on vertex or face, with jittering or random distribution, so I guess it only “knows” how to distribute the particle strands based on data from the mesh structure, which is why vertex weighting can be used to affect various things. Assuming that using a surface-pixel-intensity-based method is not difficult is kind of presumptuous, 'cause if it was that easy, I think the feature would exist. It would be an obviously useful option. I don’t know enough about the implementation details to know if it’d be feasible or not, but I sure wouldn’t assume it’s not difficult.

The kind of highly-defined shaping of the hair masses you describe could be done with the “grooming” tools, though not without serious effort. Perhaps rather than using an image as an emission-controller, it could instead be used as a mask for the particle mode tools? So only a specifically-shaded area could be trimmed back to naught, or its strands deleted. Just speculating here, but that would also be a useful approach, I think.

BTW if in your heart example you’d want to replace the fur with a different material than that of the base emitter or hair material, then the mesh would have to have the resolution needed to define the text smoothly, which means a fairly high-rez mesh to keep it from looking blocky, especially curved text like calligraphy. Materials can only be replaced on a face-by-face basis. A Texture need not respect face boundaries, but a Material must.

I guess you are right. If it would be easy, it would already be done. It’s such a nice feature, tho, really perfect for this kind of problems :slight_smile:

btw, for blending material (properties) with textures you can use the material nodes. Other renderers (Yafaray, Octane the ones I use most) also have the option to mix two materials with a texture.

You’re right, I forgot about using the nodes for that. I should learn material nodes more thoroughly, just haven’t had much of a need to as yet.

What? Controlling hair with textures still works just fine in 2.6 (as long as you aren’t using Cycles). With your furry object selected, look in the Textures tab in the Properties pane – at the top, there should be a button to show particle textures. One difference from 2.4 is that you can now see the results of procedural particle textures in the viewport, not just image textures.

Very cool, George, thanks for pointing that out.

Aah!, that was nicely hidden. Thanks a bunch George! :smiley:

Indeed! Always new (for some of us) stuff to uncover in Blender.

The day is saved.

I also found this video tutorial, just in case anyone wanted more info on texture particles. Thank goodness for that, I was about to resort to a separate emitter mesh. Interpolated children are such a pain: they can’t be cut.