This is sort of an unconventional use of Blender, but I'm straightening the distortion of scanned pages of a book, and I have the pages of the book scanned and numbered. What I want to do is use a plane with a simple UV map (two faces, one for the left page and one for the right). I've tested this concept out and it works for a single scanned image. I'm thinking I can run the scanned pages as an animated image sequence. What I'm not sure how to animate is the UV maps. Any idea how I can have a different UV map be called automatically for each frame, corresponding to its number? Maybe there is some way to use Python to update which UV map is used in the material's UV node?
1 Answer
$\begingroup$
$\endgroup$
4
UV maps are not animateable by default in Blender. However, there is an addon that can give you this functionality, it's called AnimAll.
Once you install this addon, you will have a toolbar in the Animation toolbar in the 3d Viewport on the left. This will allow you to insert UV keyframes and alter the UV Map to achieve the per-frame warping you require.
-
$\begingroup$ Thanks! Great suggestion. I've enabled the add-on, however it's not working. I keyframed the UV layout in a couple of frames, and checked in the Graph Editor that the keyframe data is there, but there are red lines under each of my "uv_layers["UVMap"].data items. Any ideas what's going on? $\endgroup$ Commented Jun 8, 2015 at 14:12
-
$\begingroup$ Yes, I get those too some times, I find that playing the timeline or tabbing in and out of Edit mode clears the red lines, and the fcurves seem to be there for me. $\endgroup$ Commented Jun 8, 2015 at 17:52
-
$\begingroup$ OK, it seems this add-on just doesn't work while in Edit Mode. Once I switched to Object Mode it was fine. Also I'd remind anyone else who tries this to remember to use the UV Map node if adding any additional UV Maps, since the Texture Coordinate node will only give you the output of the UV map in the first slot (by default the one named "UVMap"). Cheers! $\endgroup$ Commented Jun 8, 2015 at 20:59
-
$\begingroup$ Actually, it will use whatever UVMap is selected in the UV map list in the property panel. You can only have one selected for render time (it will have the little camera icon highlighted). Thankfully we can access the other UV Maps on our object with the UV Map node as you mentioned. $\endgroup$ Commented Jun 8, 2015 at 21:03