If you use an older version of Blender: documentation for version 2.45 and earlier.
This page does not contain any “new” information, it tries to compile methods to create particle hair as realistic as possible. I invite any experienced user to discuss the contents of this page on the discussion page of this article, you may well have other experiences.
There are always several ways to achieve a certain result. Some road marks up front:
- The easiest thing to create is fur. If you have 2GB RAM you may render up to 2.000.000 particles quite fast. If you need more particles, which may happen with several large characters in the foreground, you need more memory or have to split the scene.
- If you want to animate the hair with Soft Body physic, take care of the amount of particles (some 1.000). Else the soft body calculations may take really long time. Collision is facilitated if you use an invisible, simplified collision mesh instead of the original mesh (no ears, no eye socket).
|Collision is still not working perfectly|
|Your best way to go is to use it as little as possible. Fake it, weight paint it, post produce it - I have not managed yet to create 100% perfect collision, though you can come pretty close.|
- You have to use weight painting if you want to animate with soft body physics.
- Children can be emitted from Faces or from Particles. Children from faces have some advantages:
- They are distributed more even on the mesh, even if you have a relatively small amount of parents.
- They always start from the mesh.
- You can Use Seams to part the particles.
- You have a Level of Detail function, i.e. the objects will be rendered simpler when the distance to the camera increases. So you can use more particles.
- Children from particles do follow their parents better though.
If you have not yet read the fur tutorial, it would be a good idea to do it now and come back after that.
- We’re going to start with an UVSphere as “head”, activate AutoSmooth and then SetSmooth.
- Add a Subsurf modifier.
- Add a new particle system. 1000 particles are enough here, so we can work fast in the 3D window. For a real hair cut I would use more particles (5.000 upwards), but to animate them with soft body physics is quite demanding for the CPU.
- Type Hair.
- Emit from Faces.
- Activate Random and Even, so that the hair distributes evenly on the object. Without Even small faces would emit as many particles as large faces.
- Set the parameter Normal in the Physics panel to 0.5.
The hair has now a certain length, the emitter is invisible in the render (Image 2a).
To let the particles be emitted only from a certain part of the mesh there are three possibilities:
- Use a vertex group.
- Use a texture.
- Use another mesh.
I’ve used a vertex group.
- Create a vertex group in Edit mode. The simplest way to do that would be to select the regarding vertices and press CtrlG → Add selected to new Group. Rename that group to “
- Use this group in the Extras panel in the section Vertex Group. Attribute: Density. If the hair is still emitted from the complete object change the particle system type to Emitter and back to Hair, now it should work.
- To render the emitter also, activate Emitter in the Visualization panel.
- Use material no.2, we don’t have any materials till now, but we’re going to create some soon.
- Since were going to work with many particles, we use the button Strand Render in the Visualization panel. This activates the keypoint strand render. See the manual page regarding Strands for pros and cons of the different strand shaders.
- Create two new materials for the object in the Editing context, the Link and Materials panel, and assign them both. The material that shall be used for the emitter object should be assigned at last.
- It is really a good habit to name the materials properly. I’ve named the first material “
Skin”, the second material “
Hair”. The “
Hair” gets a simple, blue material (Image 2b).
Add volume and dress
To increase the amount of hairs, we add Children.
- Activate Children from: Faces in the Children panel. Set the Render Amount to 10, so that you can do relatively fast test renders.
- Children from: Faces don’t follow their parents too well. So probably some of the children will penetrate the head (e.g. at the ears). This problem can’t be avoided automatically. If you have errand hairs visible in a still image the fasted way may be to get rid of them with post processing. Children from: Particles do follow their parents better, especially if you use many parents.
- Click on Set Editable in the Particle System panel to dress the hair.
- Change to Particle mode with the dropdown list in the window header of the 3D window.
Now by default only the parents are visible, because we can edit only them.
- N activates the Particle Edit Properties panel.
- You see the control points of the hair in Point Select mode (directly next to Limit Selection to Visible in the window header, see Particle Mode).
Now dress the hair to your liking. This may take it’s time, I’ve found it took quite a few attempts to get any useful hairstyle (Image 3a). If you have selected single control points you edit only the selection. You can hide controlpoints with H.
If you want to animate the hairs as softbodies, you have to adjust the weight of the controlpoints. Points with a weight of 0 (in black) follow the softbody physics completely, points with a weight of 1 (white) don’t follow the softbody animation. Hairs directly adjacent to the head should get a weight of 1, so that it is not necessary to calculate the collision. I would painstakingly difficult to use softbody animation for hairstrands behind the ear, this will never work correctly.
Use a small weight for the tips of long hair and the sections that shall move freely.
Insert a basic lighting (also a Spot lamp with shadow buffer), to judge the flow of the hair and the material. If the hair is too angled (like in Image 3a), increase the amount of Rendersteps (Visualization panel) carefully (only one at a time). Many rendersteps need much RAM. Each segment is subdivided into smaller rendersegments.
To let the hair look like hair, you have to change the hair color and it’s thickness. At first we will set the hair color with the RGB color of the material. You can also create color variations with a texture. The basis color of the particle is the color of it’s emission point. Often we use an additional texture along the strand to fade the hair towards its tip. That makes the hair more fluffy looking and softer. At last you need the right amount of children. Number of particles and thickness of hair create the effect you’re looking for. If you have 1.000 parent particles you need around 50 to 100 children. Thin hair (blond) need more, thick hair (black) need less particles.
The color of the hair is - especially with thin hair - governed by the specular highlights, so it may be wise to set the Spec color also.
Black hair is quite simple, so we will begin with that. Simply set the RGB color to black.
- Strand-Shader: The most important settings are in the Materials tab, hidden behind the button Strands in the Links and Pipeline panel. Hair stays nearly as thick at the end as at the beginning. Start: 0.86, End: 0.854, Shape: -0.686.
- Textures: We need at least one texture, to fade the strand towards the tip. Map Input: Strand, Map To: Alpha, DVar: 0. With a custom blend texture we can fade the strand at discretion.
To make the hair really transparent, you have to activate ZTransp.
- Strand settings:
- This time we use Blender Units. Set Start to 0.003 and End to 0.002 (if you need thinner hair you have to enlarge the object). Set Minimum to 2. This fades the hair, without using an additional texture.
- Leave Shape on 0, or set it to something like -0.5. The hair will then become relatively early (at its root) thinner, but the hair is already so thin, that it may be too much.
- Material settings:
- The hair color is relatively dark (0.37, 0.30, 0.22). The hair will become blond because the specular highlights are bright.
- Textures: With a texture you change the color of the specular highlights. Map To panel settings:
- Color (0, 0, 0) (black).
- Use a relatively high resolution, random texture, for example a Marble texture with a high Turbulence value.
The material I have used for (Image 1) is by courtesy of Len. It’s the same that he has used for his Saskia.
For animating hair particles with the Soft Body simulation see Combination of Soft Bodies with hair particles.
- Blender Material Repository with hair material