0
$\begingroup$

I seem to have encountered an issue where the rotation function for hair particle systems doesn't change the rotation of the hairs at all.

I am using Blender 2.91 (recently updated from 2.82a, as I thought updating to the stable branch might solve the issue) and Eevee, and I'm trying to get a setup where hundreds of objects are sitting on the surface of a larger object. However, when I instantiate a new hair particle system, the direction of the hair particles seem to be completely randomized and absolutely nothing I do will change them. In the below screenshots you can see that I have advanced turned on, rotation control turned on, and the orientation axis set to tangent. However, the hair is very clearly not pointing in the direction of the face tangent. What's more, no setting will change the orientation of the hair in any way that I can tell.

This is the state after creating a new particle system, setting number of particles to 100, switching to hair, turning advanced on, turning rotation on, and then setting orientation axis to normal. No other changes to the particle system have been made.

If anyone could, please tell me if there's something I'm forgetting, misunderstanding, or if this is a glitch. Work-arounds or other possible routes of action would also be appreciated.

Here is a blend file that should demonstrate the issue

To Summarize

  • What I want is for all hair particles to align with the normal vector of the vertex or face it is emitting from.
  • The current hair particles are all offset from the normal vectors by a seemingly random amount in a seemingly random direction, so just adjusting the rotation of an object that is being used as the hair model will not help.
  • The general methods of adjusting the alignment of the hair particles through use of the rotation option are not having any effect.

Normal direction. Highlighted vertex is the location of the hair.

Hair direction. You can see that it is not growing in the direction of the tangent.

A look at the full scope of the image, for good measure.

$\endgroup$
8
  • 1
    $\begingroup$ Can you add .blend file so we can check. Only add the mesh which you have a problem with. $\endgroup$ – JacksonPro Dec 18 '20 at 10:47
  • $\begingroup$ @JacksonPro Alright, will that work? $\endgroup$ – Rithaniel Dec 18 '20 at 11:03
  • $\begingroup$ @Rithanial add a curve set the origin of the curve to one end. set render as-> object and instance object as the curve. You may then play around with rotation. $\endgroup$ – JacksonPro Dec 18 '20 at 11:23
  • $\begingroup$ @JacksonPro So does this involve placing each instance of the object individually? I was actually trying to use a particle system to avoid something tedious like that. Or have I misunderstood your idea? $\endgroup$ – Rithaniel Dec 18 '20 at 11:48
  • $\begingroup$ Nope, its quite easy all you have to do is set the instance object as the curve. Then you can change the rotation + making changes just the curve will automatically all the instances $\endgroup$ – JacksonPro Dec 18 '20 at 11:52
0
$\begingroup$

I have come across a work-around for this issue. When experimenting, I placed hairs particles on other objects in the scene and notice that they lacked this issue (their orientation axis could be fully manipulated and were properly aligned to begin with), so I concluded that the issue was in the object itself. Thus, my solution was to replace the object.

  • I separated the "vines" from the "log" by selecting everything in edit mode with A and then using P followed by selecting loose parts.
  • Then I created two large half-pipe cylinders around the log object (one above and one below) and used the shrinkwrap modifier with the target being the log. I had to select the project option because any other option resulted in issues stemming from the (presumably corrupted) normal data. This is also the reason for making them be half-pipes instead of full cylinders, as I could not get a full cylinder to work correctly with the project option.
  • After applying the shrinkwrap modifier, I had a replacement object with proper behavior, and was able to produce the images below.

Note that if you find this question because you have a similar issue, this might not work for complex models. I am lucky because my object was essentially just a deformed cylinder.

Number Uno

Number Dos

$\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.