I have a mesh object passing in front of a camera; the camera is locked in a fixed upward view.

The background to the scene is a sky full of moving procedural clouds. I believe the node setup is Andrew Price's. As the scene progresses, the clouds constantly change shape and position, as suggested below:

enter image description here

I am creating a video which must loop... which is a pain against a background of moving clouds.

I would like to use the object passing in front of the camera as a wiper to transition from the current frame's clouds to an earlier frame, creating the loop. Here's a suggestion of the transition need:

enter image description here

The mesh is traveling from bottom to top. The portion below the mesh object reflects the earlier cloud position. Above the mesh is the current frame's clouds position.

I am open to compositor solutions or render-pass solutions, but have been unable to figure one out that uses the mesh as a key to a transition. Also, the use of Z-depth and mist makes artifacting a problem with foreground images rendered transparent and then composited onto the sky.

All that said, I would welcome recommendations. Although the wiper mesh object does go edge-to-edge, I cannot have it scaled so large as to be large enough to completely fill the frame, which would hide all of the clouds for a frame or two.

Imagine the mesh as an airplane: The wings -- which are irregularly shaped -- move across the scene, but at most points you can see quite a bit of cloud cover above and below the wing.

Compositor, render pass, Object ID.... I've fiddled with all and would welcome so best practices.

All ideas welcome!

EDIT: And, more generally, I went with this 'wiper' approach because it seemed to offer the most potential. There are seconds of the video during which nothing but clouds are visible -- but doing a fade between one series of clouds and another did not seem very elegant... As the opacity levels changed in the VSE between the 'new' clouds and 'old' clouds, it left a muddle of clouds that did not make for a pretty loop... but I am open to different approaches altogether.


The main thing is that the plane wing does not provide the full mask alpha that you require to do the transition. You need to create a second mask (either with an actual mask object in the compositor, or by rendering a second object on a separate render layer) that you can add to the alpha from the plane wing.

Please note I've made the "wing" object more irregular shaped so that the effect is more obvious.

enter image description here

enter image description here

  • $\begingroup$ Thanks.... this is great and something I can adapt to other needs, too.... $\endgroup$ – rcgauer Jul 26 '16 at 15:53
  • $\begingroup$ And I have been on the road.... sorry for delay in responding. $\endgroup$ – rcgauer Jul 26 '16 at 15:53
  • $\begingroup$ No problem, glad I could help. Is this enough to get your sequence looping? You may have to render two loops of the wing and then splice in the middle. $\endgroup$ – Todd McIntosh Jul 26 '16 at 16:45
  • $\begingroup$ Todd,that's what I am working thru now.... I have a lot of flexibility ion how long and how to overlap, so I am just fiddling with stuff now. I may post a final video if I get one... $\endgroup$ – rcgauer Jul 26 '16 at 18:14

The trick to getting an animation that loops cleanly is to have the first frame identical to the frame after the last frame. To get this result you start at the first frame and add keyframes to the values you want to animate, then go to the frame after the last and keyframe the same values. In between these two keyframes you keyframe the same properties to have different values.

To get a procedural texture moving nicely can be tricky, one way is to animate the location, rotation and scale values in a vector mapping node, for a more consistent one way motion you may find animating the rotation to be the easiest, when the centre of the rotation is clearly visible this doesn't look good so use the uv's to move the centre of rotation away from view or you could use another object for the texture input. When animating the rotation you set the last keyframe to 360 degrees not 0.

The origin of the uv's is the bottom left corner, so you move the uv's away from that. The further away from the centre you go the faster the movement will be so you need to find a nice balance.

offsetting uv's


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.