I have something like a slideshow I'm working on (essentially a shadow box that flips through images), and I can't find an easy way to change the image on a plane.

The two solutions I can think of are:

  1. Copy paste the image plane for every image, create a new material for every image, and show/hide each plane throughout the animation. Seems like a lot of redundancy.

  2. Copy paste the image shader for ever image and create a vast network of mix shaders to move from one to the next. This seems also like a lot of redundancy and huge ugly node graph.

What I wish I could do is change the image chosen for my Image Texture as a keyframe, but unfortunately insert keyframe does not work for the image path option.

So how can I do this? Is there any way to do it that doesn't include a ton of redundancy?

Image for clarity: enter image description here


1 Answer 1


You name all the images you want as a sequence, for example: image0001.png, image0002.png and so on. You can do this by importing them in Blender VSE and exporting all of them as pngs or you can do this using imagemagick.

enter image description here enter image description here

Then in the shader, you import the first image.

enter image description here

You change the value from single image to image sequence and set the number of frames to your total number of images.

enter image description here

Now the image sequencer will play all the frames from frame 1 automatically. If you want total control, set the start frame so that the last image of the sequence is the first image in the sequencer.

enter image description here

Now you can keyframe the offset value and change it however you want. You can hold on a frame or let it run as a sequence.

  • $\begingroup$ Please add images directly into your post, not as external links. See: meta.stackexchange.com/questions/75491/… $\endgroup$ Sep 17, 2017 at 9:25
  • 1
    $\begingroup$ I can't add more than 5 images as my account is new. $\endgroup$ Sep 17, 2017 at 9:40
  • 2
    $\begingroup$ Add in as many as you can, put a link to the rest and I'll add them in. $\endgroup$ Sep 17, 2017 at 10:55
  • $\begingroup$ Nice Answer :) This part is not very clear, can you please edit a little, Thanks $\endgroup$ Sep 17, 2017 at 14:25

You must log in to answer this question.

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