I am animating a piston/cylinder arrangement sectioned along its length. Part of this requires depicting pressurised gas flowing along an external pipe running the length of the cylinder from one end where the gas is normally contained under the piston to the other end where it is applied to the other side of the piston. I want to represent the gas as a 2D shape flush with the sectioned faces of the cylinder but it is required to turn through a 90 degree bend and I can't think of a way to effect this in Blender.

I thought I might be able to use a moving mask of some sort, the effect of which would only be visible on the gas in the pipe, but which itself would be invisible in the final render, giving the effect of the gas flowing up the pipe as the mask is moved along the pipe.

I also considered and tried using shape keys, but this required managing multiple co-located vertices for the bend and was just too difficult and confusing.

Can anyone recommend or suggest a more efficient and effective way of achieving this effect in Blender? I'm using v2.91 at the moment. enter image description here


  • $\begingroup$ Hmm I think maybe I've completely misunderstood your question. You want to depict the gas? If so, a shader might be a better approach. $\endgroup$
    – Robin Betts
    Commented Mar 20, 2021 at 9:52
  • $\begingroup$ "I thought I might be able to use a moving mask of some sort" - if you're talking about a texture alpha, I think that could work - just straighten up the 90 deg bend in the UV map, then animate the mask in a straight line $\endgroup$ Commented Mar 20, 2021 at 12:44

1 Answer 1


For the stem of the arrow, you can use a subdivided plane, given a Curve modifier, aimed at the path you would like it to follow. As you move the stem along its deforming axis, it will follow the curve, deforming as it goes. So far, so good.

There are 2 possible challenges:

How to give the arrow a head which follows the curve, but does not deform.

  • Give the stem a length-ways subdivision, along with the many transverse ones.
  • Make a triangular arrow-head, and vertex-parent it to a triangle of vertices near the end of the stem. It will follow the stem, and rotate with its tip, without deforming. Place the head just far enough above the stem, to avoid Z-fighting.

How to give the arrow a continuous outline

  • In this case, I've used Freestyle, the Line Set selecting the 'Arrow' collection, and set to pick up External Contour edges, with some strategically Freestyle-Marked edges, too, to cover the overlaps with the background curve.

  • It would probably be better to render the arrow as a completely separate pass, relying on External Contours alone, against transparent film. Then you wouldn't have to worry about edges being suppressed by background objects. You could render the outline as a pass on its own, with no fill.. whatever suits your purpose, and composite it over the background model.

enter image description here

  • $\begingroup$ Thank you for these suggestions; I'll explore them a bit more. $\endgroup$ Commented Mar 21, 2021 at 22:53
  • $\begingroup$ Thank you for these suggestions; I'll explore them a bit more. My original explanation isn't as clear as I had thought - the 'arrowhead' is just the shape formed by the cavity the gas fills at the top of the cylinder, and changes as soon as the piston starts to move down, but the subdivided rectangle sounds promising. $\endgroup$ Commented Mar 21, 2021 at 23:00

You must log in to answer this question.

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