Wednesday, November 16, 2016

Playing With The Lytro Illum 4: Processing Software and Animations

One way to showcase the Lytro's "living pictures" is with an animation.
Like my other entries, I'll go over the difficulties I had trying to wrangle the software.




Before starting on the animation, I need to get the basic look down using the Adjustments tab, similar to what I was doing in part 3 with the stills. However, with stills, I planned to use Lightroom to finalize the color adjustments. But for the animations, there is no Lightroom stage and I'm not as comfortable with iMovie. So I wound up needing to fine tune my exposure and color adjustments more in Desktop for animations than I did for stills.

The Basic Interface


Animation basic layout
The basic operations are:
  • Add keyframes with "Add Keyframe"
  • Modify the settings on the currently selected keyframe
  • On a keyframe, set the point in the image on which to focus, cropping (through pan and zoom), a small translation, and the outgoing transition style.
  • Click-drag keys in the timeline to change the time.
Previews would run pretty fast with the play button, but it can be chunky. I need to export the movie and play it in Finder Preview or Quicktime to see it play smoothly.

json representation of an animation
Desktop saves the animation as a json file.

Looking at the file, we can see the attributes that are animated. (This is not the same file as the above timeline).

There are numbers here, but most of them are not exposed in the interface (above).

I thought some of the choices were strange:
  • The crop window is defined by PanPointX, PanPointY, and ZoomFactor instead of just specifying 2 corners of the crop window. It is good though that they specified the Pan X and Y in a 0-1 range, rather than absolute pixels
  • There is a FocusPointX and FocusPointY to specify where to focus. But if you look at the Adjustments, the focus is specified by a number that seemed to range from about -6 to +6. There are a couple problems: First, in the user interface, we don't see what value is at the point we choose. Second, we can only specify values in the image. But this locks out the possibility of specifying something that is completely out of focus. And there still is no way to see an actual world space depth.

Programming a Clip - Problems

Programming something simple like "hold for 2 seconds, rack focus transition over 4 seconds with a linear out of the first frame and a smooth in to the last frame, and hold for 2 seconds" is actually very cumbersome.

I had a lot of problems with the overall interface for setting animation parameters.
  • There aren't any numbers exposed for any of the settings, like what is in the json file. That is, when I specify a focus depth, I want it to be precise.
  • There is no animation curve editor so I can't see things like "slow in" or "slow out". I cannot precisely set the speed of a transition. Looking at the json file, it doesn't even keep track of tangents in and out of the keyframes. The "Animation Effect" just holds a rigidly defined preset.
  • "Auto" transition hides what it's doing, and so it was completely useless to me.
  • The on-button descriptions of the transitions are imprecise. It takes a bit of searching through Lytro's website to find more useful definitions.  In the end, I used almost exclusively Linear/Smooth transitions and a couple expands.
  • Above, I listed what can be animated. But I really don't understand why I can't animate everything that is in the "Adjustments" menu such as exposure and saturation. Though really, it would probably be too slow to process.
  • I can only specify focus points in the image. I can't specify a fully defocused image, such a specifying a starting focus on something very close or very far. Also, once I set a focus point, I cannot see which one I chose. This is a problem if I want to copy the focus point to another frame.
  • There isn't a way to specify a hold on a frame. If I wanted to program a hold inside Desktop, I would have to create a new frame, add a smooth transition, and copy the values. This is cumbersome because (again) there are no numbers exposed. So I guess I could save it and hack the json/text file, but that really feels like a failure of the interface.
  • Pan is not intuitive. Click-Drag is a perspective shift and is easy to do by accident when i meant to pan. Pan uses the shift or command key(I can't remember which). Most of the transitions will compensate for a pan with a perspective shift. This is usually what I want.

Second frame - zoomed out
but slider didn't move
First frame - zoomed in
There were some bugs - changing time or keyframes did not update the zoom slider. It's like the view could update the model, but the model wouldn't update the view. This meant that I couldn't safely adjust the zoom because clicking on the slider would make it jump.

Issues with the Timeline

The timeline itself was cumbersome.
  • When I move a key, I have to click-drag. But I can't simply type a value to place the key. It's very difficult to choose exactly 4 seconds (00:04.000), and I usually wound up with something just a little bit off (like 00:04.009)
  • I can't zoom in on a time range to get better precision to place a key. If I had a longer animation, I'd be out of luck.
  • I need to click-drag the time slider to move it. I expected to just click on the timeline and have the time slider jump to my current position. But instead, the time slider doesn't move, and Desktop selects the closest key before the point I clicked. Changing the selected key feels dangerous.
Deleting a frame is confusing.
Deleting a frame - Before

Deleting a frame - After
When I delete a frame, it shifts all other frames down. So if I accidentally create a frame or want to experiment with a transition, I'm out of luck. It is difficult to iterate testing doing a transition in multiple parts.

This also made it difficult to test doing holds.


Exporting

Export options
Once I'm ready to export my animation, I use File - Export as Animation and create an mp4 animation.

There are some options to balance quality vs. file size. It takes a while to generate the movie file. I do remember a 4 second file taking a while to generate.

Incorporating iMovie

Similar to processing stills, I found it was best to do as little processing as possible in Desktop. Anything related to depth, such as the rack focus itself and its timing, had to be done in Desktop.
But anything else (such as holds) could be done in another application. In this case, I chose iMovie since it is cheap. I would have preferred to use something like Final Cut, but that would have been about $200 more and iMovie was good enough.

I wasn't completely happy with doing holds in iMovie either. I wanted to hold the first and last frame, but it was difficult to choose that frame without getting into a mode of adjusting the length of the clip. iMovie was a little cumbersome, but at least it was better than Desktop.

iMovie was also useful in assembling the clips together. Desktop could only export one clip at a time, and really it was better that way. In iMovie, I had the flexibility to play with the order of the clips. Also, I set up the title card in iMovie. Oddly, I found it a bit tricky to find really simple title text.

When I'm finally ready to export the final piece, I have a similar set of options to balance size and quality. Here's how they compare:

Workflow

Similar to my workflow with stills, I tried to minimize what I did in Desktop. Though I did have to do a more complete job with the color/exposure editing because animations would not go through Lightroom. I can't remember if I animated the crop window in Desktop of iMovie, but I think I did it in Desktop to get the perspective shift.

To assemble several clips together, I needed to use iMovie. I am new and inexperienced with iMovie so I had some difficulty using it, but it was adequate to get the job done. It was easier to adjust the start and end holds in iMovie than it wold have been in Desktop, but it was still a little difficult to get the precision I wanted. I needed to ask google about every little thing. But if you're already familiar with iMovie, this part would be easy. And if you're only showing a single image, the iMovie stage would be unnecessary.


No comments:

Post a Comment