Welcome back to Animated Loops.
In this lesson,
we're going to make a spinning loop.
We'll use a render of a spinning 3D object as a guide to animate our 2D
character,
making them appear to spin in 3D,
too.
We'll also have them floating on water,
which I'll show you how to create with a very simple effect.
Let's get started.
I have a new composition named 'Spin',
1080 by 1080,
30 frames a second,
10 seconds long,
with a blue background layer.
Into this,
I'm going to use the image sequences,
which I've also provided you with this lesson.
After you've imported these,
make sure that you have the Interpret Footage settings with the Alpha set to
Premultiplied with black,
the Frame Rate at 30 and have it looping 10 times.
Drag the 3D_Ring sequence into the composition and name it 'RingBack'.
This is a render I made in Maya,
but you could use Cinema4D or Blender,
or an After Effects plugin like Element 3D to create a 3D object
yourself.
This image sequence is one second long,
which is just a quarter spin,
but we have Start and End markers at 3 and 7 seconds to repeat the
sequence four times for a full 360 rotation of the ring.
I've rendered it in black and white so that you can give it a different color
with the Color Correction Tint effect.
Then map the black and white colors to any color you like.
I'm using red and white.
Duplicate RingBack and name this 'RingFront'.
Then replace this with the 3D_Ring_Front image sequence,
which has all of the same Interpret Footage settings as before.
Parent this
to RingBack.
This RingFront layer shows the front edge of the ring so we can put our
character between the two layers.
You could also do this with masks if you don't have separate render layers.
This way,
just makes it a bit easier.
In the default character recomposition,
delete the CharacterMirror null,
but not the BodyMirror null,
because I don't want the feet to be mirrored,
but I do want the hands to stay mirrored.
Delete the Shadow and Background,
too.
And then copy and paste the other layers into the Spin composition.
Move RingFront to the top of all the shape layers.
Then scale down RingBack to 55% and move the Position down
slightly to 550.
Then parent RingBack to Character null.
The first thing we'll do is animate the face,
but we need to make some adjustments first.
Hide the arm limbs to make the edges of the face easier to see.
Then on the Face null separate the dimensions of the position.
Duplicate the Body layer and name this BodyMatte.
Parent
this to Body.
Move it above the eyes and make the Eye layer use it as an Alpha Matte.
Increase the size of the BodyMatte Ellipse slightly just to clean up the
overlapping edges when the face is moved to the side.
Move MouthMatte above the Body layer and set the Body to use this as an Inverted
Alpha Matte instead.
Give MouthDetail No Track Matte for now.
Move this below the Body and duplicate it.
Name one layer 'Tongue' and the other - 'MouthBack'.
Parent MouthBack to the Body layer.
Delete the tongue shape from this and reduce the size of the MouthBack Ellipse
slightly.
Then on the Tongue layer,
delete the MouthBack shape and parent the Tongue to the Body null instead.
Now I'm just going to move the Face null up to -50 so the character is leaning
back a bit.
Duplicate MouthMatte and move this above the MouthBack layer,
make it visible for now.
And I want to link the Path shape and Stroke Width of this layer to the other
MouthMatte layer with expressions.
Then parent both MouthMatte layers to the Body shape layer.
On MouthMatte2,
I want to link the shape Transform Scale to the Face null Scale,
but with the X Scale negative.
So add an expression and type '[ -',
then link this to the X Scale of the Face null,
then type ',' and link this to the Y Scale of the Face null,
then type ']'.
Move the Shape Transform Position to 400,
which is the width of the Body,
and put the shape in a group.
On the group,
add a repeater,
two copies
with an X Position transform of -800,
which is twice the width of the body.
So now we have two flipped copies of the same mouth shape on either side.
Then show the Position of MouthMatte2,
and separate the dimensions.
Link the X Position of MouthMatte2 to the X Position of the Face null,
but make it negative.
Then just link the Y Position to the Face null Y Position normally.
On the other MouthMatte layer separate the Position dimensions and also connect
these to the Face null Position with no changes.
And you can directly connect the Scale to Face null Scale,
too.
Then when we slide the Face null left and right,
the second MouthMatte layer moves left and right in the opposite direction.
Set MouthBack to use this layer as an Inverted Alpha Matte.
Now when we slide the Face null left and right,
the mouth cuts through the side of the body with a 3D turn effect.
And if we adjust the Path of the top MouthMatte layer,
the shape below moves too,
You
can scale the Face null to flatten the face as it turns.
And you can also scale the body,
giving it some squash and stretch and everything stays linked together.
On the Tongue shape layer,
let's also separate the dimensions of the Position.
Link the X Position to the Face null's X Position
and the Y Position to the Face null's Y Position.
On the X Position expression type,
'0.9 *' in front of the expression.
now when we slide the Face null,
the tongue moves a bit less,
giving it a 3D effect as if it's further back inside the head,
but we need to stop the tongue from moving outside the head.
We can see the limit of where we want the tongue to stop is around -170 on the
Tongue X Position.
So,
at the start of the expression type 'clamp(',
then at the end type ',-170
170)',
which limits the position between these two numbers.
Now,
when we slide the Face null,
the tongue stops on either side.
now we can animate the face turning.
Move all of the Face and Body layers to the top of the shape layers.
At the Start marker,
keyframe the X Position at 0 and the Scale at 100%.
We want to move the face in time with this front red section.
So at around 4:05,
move the X Position to 275
and the X Scale to 75%.
Set these both to Hold keyframes.
At 5:25,
move the X Position to -275
and keyframe the Scale again.
Make these both normal keyframes.
At the end,
copy and paste the Start keyframes.
Give the first and last Scale keyframes a 25% Velocity Influence.
Now we have a basic spinning face.
We'll leave that there for now and do the arms next.
Show the Shoulders and the Arm limbs.
On the wrists in Effect Controls,
flip the direction of the arm bends and increase the length to about 150.
Move the Position of both shoulders to -175 and -75,
rotate both Hand nulls to 90 degrees to put their hands up and move the
Hand null positions to -190 and -210.
We'll start by animating the left side.
Keyframe the LeftShoulder position and the HandLeft null Position at the Start,
and also keyframe the LeftWrist bend direction.
the midpoint at 5 seconds flip the X Position value of the shoulder and Hand
Left null from negative to positive,
so they're on the opposite side,
and
also flip the bend direction.
At the End,
copy and paste all of the Start keyframes.
Easy
Ease them all.
And add a loop expression from Character Tool.
At the Start on the HandLeft shape player,
keyframe all of the finger and thumb Path shapes.
Then at the mid point,
select them all and flip them to match the position of the fingers on the other
Then
copy and paste the Start keyframes at the End,
add Easy Ease and the loop expression.
Then back at the Start,
also keyframe the Hand Ellipse Size.
At 4 seconds,
reduce the Height to 35 to flatten the hand as it turns,
then at 5 seconds,
copy and paste the Start keyframe,
add Easy Ease and a loop expression.
Now copy and paste all of these left arm keyframes to the right hand and
shoulder.
You'll need to offset the right wrist bend direction keyframes 2 seconds earlier
as it's on the other side.
Now we have both arms and hands spinning in 3D.
I want to put the arms forwards instead of out to the sides and I can do this by
just adjusting the timing of the keyframes.
Select all of the HandLeft null and left shoulder keyframes and move these 10
frames earlier.
And move the HandRight null and right shoulder keyframes 10 frames later.
Then move the LeftHand shape layer keyframes 5 frames earlier and the RightHand
shape layer keyframes 5 frames later.
Now the arms are pointing out to the front in a more natural pose.
We'll leave the arms here for now and do the legs next.
Move the leg and feet shape layers above the RingFront layer.
Hide the right leg and right foot for now,
and show the left hip.
To start with,
we're just going to animate the left leg,
sticking straight out in front of the character.
Then we'll retime the keyframes for each leg after.
Separate the dimensions of the Position on the left hip and FootLeft null.
At the Start,
we're going to set the values for the lowest point of the movement around the
ring.
So set the Y Position of FootLeft null at 185 and keyframe.
And the Y Position of the left hip at 90 and keyframe.
On the left ankle,
keyframe the length at 135
and the midpoint at 60%.
At 4 seconds,
this is the extreme right side of the movement.
Keyframe the length again at 135,
the mid point at 50% and the direction at -100.
Move the left hip X Position to 170 and keyframe.
Then move the FootLeft null X Position to 280
and also set the Rotation to 135.
At 5 seconds,
this is the top part of the motion.
So set the FootLeft null Y Position at 50 and the left hip Y Position
at 60,
and also reduce the length to 100.
At six seconds,
this is the left side of the movement,
so keyframe the length at 135,
the direction at 100%.
And the mid point at 50%.
Set the left hip X Position to -170,
set FootLeft null X Position to -280 and the rotation at
45.
Now we just need to make the keyframes loop.
So at 7 seconds,
copy and paste the Y position from the Start on FootLeft null and the left hip
and the length and mid point keyframes on the left ankle.
And at 8 seconds,
copy and paste the first direction keyframe,
the first left hip X Position keyframe and the first FootLeft null X Position
and Rotation keyframes.
Add a loop expression to all of these keyframes.
And to curve the motion path around the shape of the ring,
add Easy Ease to all of the Y Position and Rotation keyframes on FootLeft null
and the left hip.
But the X Position keyframes on both of these layers should have a 50% Velocity
Influence.
Then on the ankle,
we're going to Easy Ease all of the direction keyframes,
the second and fourth length keyframes and the first and last mid point
keyframes only.
Now you should have a smoothly rotating leg,
matching the movement of the ring,
but we need to make this go behind as it turns.
Start with the FootLeft shape layer,
keyframe the Opacity at the Start at 100% and make it a hold keyframe.
At 4 seconds,
when it starts to go behind,
make it 0%.
At 6 seconds,
when it's back to the front,
change it back to 100.
Then at the End marker,
keyframe it again at 100.
Add a loop expression,
duplicate this layer and name it FootLeft Back.
Then
on the Opacity of this layer,
flip the values of each keyframe so if it's 100 make it 0,
and if it's 0 make it 100.So
now only this foot layer is visible when the character turns around,
You can also duplicate FootRight,
name it FootRight Back,
parent it to FootRight,
and move it below RingBack.
We'll also do
the same for the LegLeft Limb.
Keyframe the Opacity at the start at 100 and set it to
a Hold keyframe.
At 4:15,
when it fully goes behind,
make it 0.
At 5:15,
back to 100.
Then 100%
again at the end.
Add a
loop expression.
Duplicate this layer,
name it LegLeft - Limb
Back and move it below RingBack.
And flip the values of all the
Opacity keyframes.
Also duplicate the LegRight limb layer,
name it
'LegRight - Limb Back',
and move it behind RingBack.
At 4 seconds,
draw a shape on a new layer
following the curve under the leg.
From where the leg meets the body to the bottom edge of the ring.
I'll make it black just so I can see what
I'm doing.
Move this layer above the LegLeft Limb layer,
name it LegLeft Matte,
and set the leg to use it as an Inverted Alpha Matte.
Keyframe the Matte's Path shape at 4 seconds.
Then at the Start marker,
move the Path off below the bottom of the frame and set this to a Hold keyframe.
Go to 4:05 and adjust the Path to the shape of the leg.
At 4:10,
do the same.
Then go frame-by-frame through the frames up to 4:15,
masking off the bottom of the leg as it moves.
Check
this is looking smooth,
then
make the last keyframe a Hold keyframe.
At 5:15,
copy
and paste all these keyframes,
and on just these new keyframes select Time,
Reverse Keyframes.
At 6:01,
copy and paste the Path Position from
the end where it's below the frame.
At the Start marker,
keyframe the Scale and make this a Hold keyframe.
Then at 5
seconds,
flip the Horizontal Scale to -100,
so when the leg comes out on the left the matte masks this side instead.
At the End keyframe
the Scale again at -100.
And give all the keyframes a loop expression.
Now we should have a rotating leg
that goes behind the ring.
Now select all of these left leg keyframes on every layer we've been working
with.
And move them seven frames later to put them on the left side of the character.
Now show all of the right leg and feet layers.
And
make sure that the RightHip is parented to BodyNull,
not BodyMirrorNull.
Duplicate the LegLeft Matte and rename this LegRight Matte.
and set that to use it as an Inverted Alpha Matte.
Select all of the keyframes on the LegRight Matte and move these to start 7
frames before the Start marker.
copy and
paste all of the keyframes from every left leg layer to the corresponding right
starting from this frame.
You'll also need to
flip the Horizontal Scale of FootRightNull.
Now,
we have our character fully spinning in 3D.
We need to add some more detail to this movement,
Create a new composition named 'Waves'.
1200
by 400,
30 frames a second,
10 seconds long .
To create a simple wave effect,
you just need create a wavy line that moves very quickly across
the screen.
Character Tool makes this very easy by just giving you a button for
it under Presets.
This creates a simple wavy line that we can adjust.
Set the Horizontal Scale of this layer to -100,
because I want the waves to go to the right.
And move the Position to 1200,
340.
In Effect Controls,
make the Width 300.
The Loop Time 24.
The Amplitude 10.
Number of waves 4 .
And Length 600.
Now we have a simple watery wave effect that we can apply to our character.
Back in the Spin composition,
drag in the Waves composition on top of RingFront.
so it curves around the front of the ring.
It doesn't matter about the shading as we're just going to use this layer as an
Inverted Alpha Matte on the RingFront layer.
Now we have a wavy effect cutting the front of the ring in half.
Duplicate the
Waves layer,
move it down the above the RingBack layer,
and set
that to use it as an Inverted Alpha Matte,
too.
If your body is poking out of the bottom,
just add a mask underneath and
set this to Subtract.
You can copy and paste this mask to
the MouthBack layer,
too.
Then duplicate RingBack and name this RingUnderwater.
Give this No Track Matte.
Move it below RingBack.
Then add a Fill effect to the RingUnderwater layer.
Make
it dark blue.
Now
we need to add some floating movement to the character,
On CharacterNull,
move the Anchor Point down to the ring,
so the Y Position is around 650.
Then at the Start
marker,
keyframe the Rotation at -2 and the Anchor Point at 0,
7 frames later,
make the Rotation 2
and
the Anchor Point 0,
100.
8
copy and paste the first keyframes.
Move the Anchor Point keyframes 4 frames
Easy Ease them all,
and add a loop expression to both.
Now
we'll add some more movement to the
hands.
At the Start frame,
keyframe the Anchor Point
of HandRightNull at 20,
0 and Rotation at 100.
On HandLeftNull,
keyframe the Anchor Point at
0 and the Rotation
also at 100.
8 frames later,
set both Anchor points back to 0 and reduce the Rotation to 80.
7 frames later,
copy and paste the first keyframes.
Easy
Ease them all,
and add a
loop expression.
Then move the Rotation keyframes 4 frames later.
We'll adjust the face movement now,
too.
At the Start,
on the Face null,
keyframe the Y Position at -60.
7 frames later,
make this -45,
eight frames later back to -60.
Easy Ease and add a loop expression.
At the Start,
on the top MouthMatte layer,
keyframe the Path shape and the Stroke Width at 45.
8 frames later,
reduce the Stroke Width to 30 and flatten the Path
shape up.
7 frames later,
copy and paste the Start keyframes.
Add Easy Ease and a loop expression.
Then move all these keyframes 3 frames earlier.
In time with these keyframes,
keyframe the tongue Shape Transform Position at 0 and 6.
Then move it up to -7 as the mouth closes.
Copy and paste the first keyframe,
add Easy Ease and a loop expression.
Now we will add more movement to the feet.
At the Start frame,
keyframe the FootRight shape layer Rotation at 10 and FootLeft
at -10.
7 frames later,
the other way around.
8 frames later,
copy and paste the Start keyframes.
Add Easy Ease and a loop expression.
The last thing I'm going to do is add some bounce to the Body shape layer.
At the Start marker,
keyframe the Scale at 98 and 102,
eight frames later,
102 and 98.
7 frames later,
copy and paste the first keyframe.
Add Easy Ease and a loop expression.
make sure all of the keyframed properties have a loop expression,
including the FaceNull.
Now the character
is done,
but as he's facing away from us for a lot of the loop,
we can make this more interesting by adding more characters.
Copy the background layer and make it a guide
layer.
Then name this composition SpinRed in the project window.
Duplicate SpinRed and name it 'SpinBlue'.
Open this
composition and change the ring Tint effect color from red to blue.
Then drag SpinRed to the new composition button and name this 'SpinScene'.
Paste
the background layer that you copied into this
and set the work area to the layers Start and End markers.
Drag in the SpinBlue composition behind.
Scale it down to 50%,
but flip the Horizontal Scale and move the Position to around 200 and 480.
Then adjust the layer timing so the Start marker is at 4:10.
Duplicate this layer and move the X Position to around 880 so it's on the other
side
and then adjust this layer's timing so the End marker is at 5:20.
Now we have three copies of the same character animation with the timing of each
offset equally so the loop feels more continuous and there's always a face to
look at.
That's where I'll end the loop for this lesson.
I'll see you in lesson 10.
Thanks for watching.