7
$\begingroup$

Is it possible to only change the frame on a image sequence on every nth scene frame?

For example, if I have a 6 frame image sequence, and I want it to last 30 frames, It should only change to the next image every 5 scene frames.

Is this possible?

This is a image texture in cycles.

$\endgroup$
4
  • $\begingroup$ Is this for an image texture, an image sequence in the compositor, or an image sequence in the VSE? Of the three, only the VSE offers the ability to do what you're describing (by way of the "Strobe" setting in the Filter panel of the VSE's Properties region (N-key)). $\endgroup$
    – Fweeb
    Commented Aug 15, 2013 at 16:35
  • $\begingroup$ @Fweeb See the tags for the scope of the question. $\endgroup$
    – Aldrik
    Commented Aug 15, 2013 at 17:01
  • $\begingroup$ @Aldrik tags often have very little to do with the answer that the person will get or might want. They are merely there to give the question a scope. See: meta.blender.stackexchange.com/questions/210/how-are-tags-read $\endgroup$
    – iKlsR
    Commented Aug 15, 2013 at 17:24
  • $\begingroup$ @Fweeb image texture. $\endgroup$
    – gandalf3
    Commented Aug 15, 2013 at 17:49

3 Answers 3

7
$\begingroup$

Another Way:

Add Image Texture Node with Image Sequence enabled. Animate the Offset Parameter for animation. enter image description here

$\endgroup$
2
  • $\begingroup$ The only problem with this is that with longer image sequences animating the offset can get tedious.. Great solution though :) $\endgroup$
    – gandalf3
    Commented Aug 19, 2013 at 23:53
  • $\begingroup$ @gandalf3 for longer image sequences, give a try this way: blender.stackexchange.com/a/15855/696 $\endgroup$ Commented Sep 15, 2014 at 5:49
1
$\begingroup$

One way to do this (as mentioned by Fweeb) is to:

  1. Render out the image sequence with the VSE using the Strobe option.
    To build on the example in the question, this will essentially create 5 copies of each image, properly labeled with frame numbers etc.

  2. Load the rendered sequence instead of the original.

$\endgroup$
0
$\begingroup$

I have found a semi-automatic solution for fixed-length image sequences that do not need to cycle.

In your Image Texture node in Shading, set type to Image Sequence, select your frames, check Cyclic checkbox. Add a driver for Offset setting (right-click on Offset -> Add Driver). Remove default variable binding and input the following script expression:

int((frame-1)/ FPI +1)-1-(frame-1)% COUNT

In the expression, replace FPI with however many frames you want each image to last for, and replace COUNT with the amount of images in your sequence.

For example, to display 6 images across 30 render frames (5 frames per image), use the following:

int((frame-1)/ 5 +1)-1-(frame-1)% 6

Tested with Blender 2.83. This solution breaks sequence cycling and requires that sequence length be input manually.

In case high performance or strict Python safety is required, the following equivalent expression may be used:

int((frame-1)/ FPI +1)-frame+int((frame-1)/ COUNT ) * COUNT
$\endgroup$

You must log in to answer this question.

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