0
$\begingroup$

I am trying to set up a scene with grass modelled as a hair particle system which responds to a wind field. The grass moves in the wind just fine, but as the strength of the wind changes from positive to negative, the orientation of the grass objects flips.

Here is the orientation with a positive wind strength: enter image description here

Here is the orientation with a negative wind strength: enter image description here

As the sign of the strength changes, the hairs seem to instantaneously rotate 180 degrees about z.

Here is an example .blend file: link

The problem seems to be that the orientation of the hair is controlled by the wind - rotating the wind about z clearly shows this. Note, that the 'affect rotation' setting is unchecked in this example: enter image description here

Any help greatly appreciated!

$\endgroup$

1 Answer 1

3
$\begingroup$

Honestly, I don't know why this flipping happens. But you can use the Particle Instance modifier instead of the Rendered as Object method. The advantage is that the grass does not flip and it can bend in the direction of the wind (and not to the left or right).

To use the Particle Instance modifier method to the following:

  • in the Particle Settings of the Grass (plane) reset the Render > Render As value to Path
  • select the grass blade (Plane.003), and move it to the world origin with Shift+S & Selection to Cursor (make sure the 3D Cursor is at world origin like in the uploaded blend file)
  • in Edit mode, straighten the grass blade. Then in Object mode, apply the Scale to the object with Ctrlt+A & Scale. Just to note, it's important that Scale, Rotation and Location are applied and object's origin is at world origin. This should be now the case:
    blade of grass
  • add a Particle Instance modifier, move it up before the Solidify modifer, and select the Grass (plane) object + ParticleSystem and tick the [X] Create Along Path checkbox:
    modifier stack

The result should look like this: grass in the wind part 1

Now the grass bends in the right direction and does no longer flip direction but it twitches in the wind when the animation runs. To get rid of this behavior and to add more realism you can enable [X] Hair Dynamics in the Particle Settings of the Grass plane and adjust a few settings:

  • set Hair Dynamics > Structure > Vertex Mass to 0.1 kg. This influences the inertia
  • set Hair Dynamics > Structure > Stiffness to 2.500
  • and reset Field Weights > Wind to 1.000 so the wind has full influence again.
  • if the grass blade looks blocky then increase the Viewport Display > Strand Steps. There is also an equivalent setting for the render (Render > Path > Steps).

Final result: final result animation

Variations

The Particle Instance modifier lets you randomize the rotation, and size. The two Layers which are vertex colors can be used in the material shader to change to color or texture mapping.

For a completely different geometry, you need to create a new model and add another particle system. Unfortunately, it is not possible to specify a collection with multiple objects as in the Render As method.

variations

$\endgroup$
2
  • $\begingroup$ Perfect, thank you very much. Is it possible to instance a collection, as one can when using a particle system directly ('render as collection')? $\endgroup$
    – d401tq
    Commented Aug 23, 2021 at 3:20
  • $\begingroup$ That's a good point. Unfortunately, it's not possible to instance a collection (or at least I don't know ;-) If you want to add flowers for example you need another particle system, weight paint if you like, and a flower model. But the color, texture, size, and rotation can be randomized. I've added this info to the answer above. $\endgroup$
    – Blunder
    Commented Aug 23, 2021 at 11:48

You must log in to answer this question.

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