7
$\begingroup$

I'm creating an animation of a film bed with a film strip running through it. The film strip is basically just an array object with a curve modifier. What I want to do is use an image sequence for the material that is being tiled along the array object, and offset 1 frame for each duplicated array object. Thus giving the effect of moving images on the actual film strip. I hope this makes sense, and I'm just assuming that this is a python requirement, as I can't think of anything to do it with in the Blender toolkit.

$\endgroup$
1
  • 2
    $\begingroup$ You could try unwrapping the UVs of the film strip, and then put together a really wide texture of all of the frames lined up side-by-side. $\endgroup$ Jul 20, 2013 at 14:59

2 Answers 2

3
$\begingroup$

To expand on Dan the Man's comment, one way to do this would be to use an external tool to append the image sequence into one wide image.

One tool that might be good for this is Image Magick.

instructions for installing Image Magick on Windows

to append an image sequence on Linux, one way would be like this:

cd /path/to/directory/with/images/
convert `ls -v -w 1` +append /path/to/output/file.png  
# this assumes the images are named in alphanumeric order 

Once you have your image strip,

  1. Apply the array modifier on your film object.

  2. unwrap your film object with U > Project from View (Bounds).

enter image description here

which unwraps the strip nicely, provided your original array object matched the aspect ratio of the image sequence:

enter image description here

  1. Add a simple material with the strip as a texture:

enter image description here

enter image description here

$\endgroup$
2
$\begingroup$

Instead of using the the Array modifier

  1. Link the material to object.
  2. Create a individual linked duplicates.
  3. Select the duplicates, Object | Make Single User | Materials+Tex (or UT)
    • You might want to setup a nodegroup first to make future changes to the material easier.
  4. Now increment the texture offset for each material.
$\endgroup$

You must log in to answer this question.

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