RE:Flex Tutorial File: Morph Examples

We present some scripts that demonstrate how to morph from still to still using RE:Flex Morph.


1) Morph of 2 stills (script: morph.shk)

In this composition we demonstrate how to morph from one picture to another.

In this case we'd like the "Pete" picture to morph to the "Richard" picture.picture

We then connect the "Pete" picture to the first input, or "from" input, of the morph node. We also connect the "Richard" picture to the second input, or "to" input.

We then include the 1a) Pictures comp into 1b) Morph comp and draw the features we need for the morph. Note that we have turned on animation for the shape of each mask, and have placed a key shape at frame 0, on the Pete picture, and at frame 30 on the Richard picture.

Main part of rotoshapes (the "from" shapes) are created to match Pete's features.

Corresponding edge part of rotoshapes (or "to" shapes) are made to match Richard's features.

 

FOR YOU TO NOTICE: UseGlobalColorControl and UseGlobalShapeControl are both ON, so the morph at each frame is controlled by GlobalColorAmount and GlobalShapeAmount, respectively. Both GlobalColorAmount and GlobalShapeAmount have been animated to go from 0.0 to 1.0 from frames 1 to 30. Note that in this example that GlobalShapeAmount has been set to GlobalColorAmount, so sliding the GlobalColorAmount parameter also sets the GlobalShapeAmount parameter (this has the advantage of controlling the morph with one slider).NOTICE

FOR YOU TO NOTICE: Note that at frame 14 that GlobalColorAmount and GlobalShape Amount is .4482. This means that the features of the "to" image and the features of the "from" image are warped to match the features that are .4482 of the "to" features and (1-.4482), or .5518, of the "from" features. Then the two warped images are cross-dissolved with the same factors.

Resultant morph, at frame 14. "From" image and "to" image are warped to the inbetweened geometric shapes at frame 14, as controlled by GlobalShapeAmount. Then the two warped images are cross-dissolved as controlled by GlobalColorAmount


2) Morph of 2 stills, with per-shape color transformation (script: morphPerShapeColorBlending.shk)

In this example we demonstrate how to configure the morph so that some parts of the picture dissolve faster than other parts.

In particular we would like to have the hair change complete by frame 14

Note that we have turned off UseGlobalColorControl. As such, the morph node looks at the ColorBlendAmount parameter for each shape individually. You'll see that in this example we've set the hair to transition in 14 frames, but setting the ColorBlendAmount to the local variable ZeroToOneOver14Frames (which goes from 0 to 1 over 14 frames). The other shapes' ColorBlendAmount have been set to ZeroToOneOver30Frames, which goes from 0 to one over 30 frames. As you can see, the hair comes in faster than in the previous example.

You might think: "The cross-dissolve per-pixel seems a little abstract, how do I determine what RE:Flex Morph thinks the cross-dissolve value is at each pixel?" So you should set the DisplayImage setting of RE:Flex Morph to Control, which will show you what the cross-dissolve value is per-pixel. Black means "take all of the 'from' image" and white means "take all of the 'to' image and inbetween values represent the corresponding cross-dissolve. Also note that displayed in red are the inbetween shapes that RE:Flex morph is using.

For you to do: Set the DisplayImage setting to Control and render a flipbook to see how the per-shape parameter setup in this example affects the cross-dissolve behavior.


3) Morph of 2 stills, with per-shape shape transformation (script: morphPerShapeShapeBlending.shk)

In this example we demonstrate how to configure the morph so that some parts of the picture warp faster than other parts.

In particular we would like to have the hair change shape to the "to" shape by frame 14.

We set up the morph analagously to the prev ious example, but animate the per-shape ShapeBlendAmount instead of the ColorBlendAmount..

You might think: "How do I determine what RE:Flex Morph thinks the inbetween shaps are?" So you should set the DisplayImage setting of RE:Flex Morph to Control. Note that displayed in red are the inbetween shapes that RE:Flex morph is using.

For you to do: Set the DisplayImage setting to Control and render a flipbook to see how the per-shape parameter setup in this example affects the warping behavior.


4) Morph with auto-align (morphWithAutoAlign.shk)

We've taken the same morph as in 1) Morph of 2 stills, but have eliminated the eyelid and nose masks. By checking Auto Align we've let RE:Flex do the finer matching... this will keep the hand-matching of the primitives and, in addition, lines up the nose and eye's automatically!

To do: uncheck the Auto Align, and notice the double exposure that happens on the eyes and the left nostril, left ear and hairline.


5) Smart blend and auto align (morphWithSmartBlend.shk)

In this example we have two images... one of a person smiling and the other without a smile. We place features to align the eyes and mouth of the person, as well as a few other features and let Auto Align do the rest.

In order to match the two images, a shift in the images needs to happen. In fact, in order to match, objects in the first picture need to move the right, and a bit up. This will cause the first image to "tear away" from the edge in order to match. This will cause fading in the "torn" areas of the image as they are matched. If we check Hold Edges in order to eliminate the fading in and out at the edges, then objects at the edge will unnaturally squash and stretch. However, if we check Smart Blend, then RE:Flex if only one image touches a particular pixel then RE:Flex does not blend, but simply takes the pixel from the coverage image... giving a very satisfactory morph.

To Do: unclick Auto Align, and see how the poorer morph that results from using the hand-placed shapes with no automatic tracking.

To Do: unclick Smart Blend and see how the edges of the image fade in and out during the morph.

RE:Flex is a trademark of RE:Vision Effects, Inc.
Copyright 2001-2003, RE:Vision Effects, Inc.