Tuesday, October 4, 2016

Project Notes: Flat Design Clock


Description:

This project initially started off a real quick look at a technique I saw featured during the past week's Adobe Creative Cloud Live demonstration; and it quickly turned into a full blown project / tutorial in flat design. The animation itself is quite simple, but covers a bunch of really important design concepts and techniques that I can apply to future projects.

A key focus in this project was simplicity. Many of my projects in the past could get bogged down with many layers, keyframes, and effects. This would mean that if a client wanted something changed, I might have to go back and edit everything. The project as it is set up had a minimal number of layers and keyframes, which would allow for easy manipulation.

Ultimately, this was about setting the project up for success later on.

Clock Face:

The first piece created here was the clock face. Immediately, I changed up my normal method of creating a circle. I double clicked the ellipse tool to draw an ellipse, then went and changed the size of the path to 500 px X 500 px. I then duplicated the ellipse within the layer and edited the second path size to 420 px X 420 px. With the two paths created, I then merged the paths together, and changed the mode to Subtract.

The result here was that I had the white ring of the clock, in one layers as opposed to two. As well, I avoided using any masks which can present problems down the way. As well, because these were paths, I could animate the size of the paths. And with the way they were created (manipulating the path size), all attributes to the shape layer were still at 0. This would be important for later animating.

I then created a quick animation in each path's respective size to 0 - max. I set the keyframes to easy-ease and then entered the graph editor. Here I edited the value graphs, so that I could add an overshoot, to add a little bounce.

To create the clock face itself, I duplicated the circle layer (aptly named "Good Circle), and deleted the second path within it. I then turned off the animation on this new layer. I instead alt-clicked the stop watch on the path's size icon to create an expression and pick-whip linked it's size to the size of the first path (500px) of the Good Circle. This ensured that the size would always match the Good Circle, and required no keyframes. If I was to need to edit anything about the animation of the clock face, it would all be able to controlled from that one keyframe in Good Circle, as opposed to multiple keyframes on multiple layers. Very simple, and I wish I knew about this before.

Outside Shadow:

Creating the shadow was quite interesting and eye-opening as well. I began by duplicating the Good Circle layer, and renaming it Outside Shadow. Within the contents, I deleted the paths, expect the 500px path. I then duplicated that path so that I would have two circles. I used the >add function within the shape layer to add a rectangular path.

So I now had underneath the contents tab: Shadow group, which contained: "Outside" circle 1, "Outside 2" circle 2, and rectangle 1 paths.

I pick-whip linked the size of "Outside" circle 1 to "Good Circle"'s ellipse path 1 size. This would keep the first part of the shadow linked to the current size of the the clock face. I did the same for "Outside 2" circle 2.

Within the content box of "Outside 2", I keyed the position transform in two places. At frame 24, it was set to [0,0], and twenty frames later I set it to [0,600]. Here I then set the keys to easy-ease, and entered the graph editor and edited the speed graph this time. Because I did not want any overshoots here, I wanted to use the speed graph and have the shadow shoot out and then ease to a stop.

This left the rectangle to deal with, which would bridge the gap between the two circles, and fill in that space. For the size, I pointed the x value to  "Outside 2" size [0] and the y value to "Outside 2" position [1].

x=content("Shadow").content("Outside 2").size[0];
y=content("Shadow").content("Outside 2").position[1];
[x,y];

This would keep the width of the rectangle equal to the Good Circle size, but would automatically change the length to match the second circle. This allowed me to avoid adding any keyframes to create the effect.

For the position I applied another script which would adjust the location of the rectangle to ensure it properly matched with the second circle:

x=0;
y=content("Shadow").content("Rectangle Path 1").size[1]/2;
[x,y];

On this layer, I then applied a rectangular mask towards the bottom of the shadow and feathered it to create a gradient. Because all transformations were done within the paths, the layer had no transformations or input, and I was able to easy rotate the shadow to -45 degrees, with all shapes following accordingly (no compounding effects).

Inner Shadow:

The inner shadow of the clock was made quite simply. I duplicated the Outside Shadow layer, then I opened up the contents and deleted the second ellipse and rectangle paths. I then created a new ellipse with a size of 420 px. I then merged the paths of the two paths and set the 420 px path mode to subtract. I then offset the position by 25. Because of duplicating the Outside Shadow, it inherited all the scripts and transformations.

Dial:

To create the center dial, I created a new shape layer, starting with an ellipse. I set the ellipse path size to 50 px. I then created two rectangle paths within the shape layer, one for a second hand, and another for the hour hand. I then set the position so that the center lined up with the center of the dial. I then grouped these paths together to create an extra to allow me to animate rotations of the objects separate from anything else going on.

To animate the hands, I first selected the minute hand as the driver and scripted the rotation to (time*100). I then pick-whip connected the rotation of the hour hand to the rotation of the minute hand / 12 to create an accurate clock animation.

content("Dial").content("Big_Hand").transform.rotation/12;

If I wanted, I would be able to manually key the minute hand, and the hour hand would follow accordingly.

I then applied a script to the size of the layer so that it would match the growth of the interior path of Good Circle.

thisComp.layer("Good_Circle").content("Ellipse 1").content("Ellipse Path 1").size/4

To create the shadow for the Dial, I utilized a different technique. I duplicated the Dial layer and then put it underneath that layer. I then went into the >add node within the contents of the layer and added a repeater function that I placed underneath the shape paths. I set the repeater to offset at [1,1] and duplicate 10 times. I then offset the total position by 25 to create a clean and continuous shadow.

Text:

The text I decided to add on my own and experiment with a few of the things I'd already picked up in this project. I decided I wanted to create a shadow for my text much like how I had for the clock. The Adobe Live went through a method where I would hand draw the shadow for the letter. Because I had an entire line of text, I said "No. That is way to much work." So I found a much better and more efficient way. Work smarter, not harder.

So I first set up the animate in of the letters. I enabled per-character 3D. I set the mode to ramp up and set the scale to 0. I then animated the start from 0 to 100% and pick-whip influenced the offset to the start. Then I set the keys to Easy Ease and manipulated the speed graphs to have the characters zoom in and then settle slow.

To create the shadow, I duplicated my text layer, and then converted text to shape layers. This was needed to be done so that I could then add a repeater later on. I added a drop shadow effect and animated the distance to go from 0 to 1. I then added in a repeater, and animated the repeater from 0 to 20 over the same time frame to create the growing shadow effect.

Color:

I decided to follow the guides that Adobe Live advised. Flat design (and design in general) should stick to a simple color palate, and should exhibit no more than 5 colors. 5 colors is what I stuck to. The background is blue color, and the shadows are a darker blue. The tan is complimentary to the blue. The white and black then add the extreme contrast that helps tie the composition together.

Conclusions:

For such an admittedly simple piece, I am really quite pleased with the result. I feel that it looks more professional than some of my other pieces, and the techniques I picked up from this I can put to great use further on down the road. I am also very pleased how I was able to simplify the project file and animation to be easier to work with. I'm excited to see how I can apply these ideas to bigger projects.

No comments:

Post a Comment