InDesign Makes The World Go Round (Sort of)
A long time ago, in a galaxy far, far away… oh wait, that’s a different story.
Here’s another fun animation trick you can pull off with InDesign CS5, and a little Photoshop. You can take an image of the Earth (or any other heavenly body, real or imagined) and simulate it rotating on its axis in space.
Click the image below to play the animation of Earth and Mars.
Now I know there aren’t too many people with a burning need to create planets in InDesign. As is often the case, the point here is in the method, if not the specific application. And to show that by combining looping animations with masks, you can bring new things to life.
Of course, InDesign’s not really wrapping images around spherical surfaces to create a 3D effect. If you look closely you’ll notice the lack of perspective. But used at a small scale, I think this is a fun and effective piece. So how is it done?
Start with a rectangular image of your planet’s surface. If you’re using a map, a Miller projection works well.
Open it in Photoshop. Adjust the image size as desired so you do not have to scale the map in InDesign. Note the width, in this example, 625 pts. Write it down if necessary; you’ll need that number later.
Next, double the width of the canvas by choosing Image > Canvas Size: Width: 200% and setting the anchor on the left side.
Duplicate the layer containing the planet image by Option/Alt-dragging to the right till it makes a seamless pattern.
Why do you have to duplicate the image? Because the rotating effect uses a looping animation. The first frame needs to exactly match the last frame in order for the looping to be seamless. Thus you need two copies of whatever part of the planet is visible at the start of the animation.
Place the planet image in InDesign.
With the line tool, draw a horizontal line. It doesn’t matter where you draw the line, or how long it is, but drag from left to right and hold the shift key to make it perfectly horizontal. Next, use the Control panel or the Transform panel to make the line length exactly match the original width of the image before you added to the canvas size in Photoshop.
Select the line and the image. In the Animation panel menu, choose Convert to Motion Path.
Your horizontal line is now the motion path that the animated image will follow.
With the Ellipse tool, hold the shift key and drag to draw a circle that is exactly as tall as your image. Align the circle so it contains the part of the image you want to show at the start of your animation. Make sure that part of the image is also fully visible to the left of the circle or the effect won’t work.
Click on your animation to select it, then click on the Show Animation Proxy button at the bottom of the Animation panel.
Now you can see the full area the image will cover as it slides from left to right.
With the Rectangle tool, draw a rectangle that will cover the entire animation.
Select the rectangle and the circle and make them into a compound path by pressing Command/Ctrl-8.
You can now fill that path with a color or photo to hide the image sliding, so you only see it through the circle. I used an image of stars.
Note that if you export a page to SWF, it’s not actually necessary to hide parts of the animation that extend into the pasteboard, since they won’t be visible in the exported file. However, if you export a selection to SWF, you’ll get everything, including stuff on the pasteboard.
Select the animation and in the Animation panel, set it to Loop. Set the duration to taste. I like a very slow moving rotation. Sixty seconds is the maximum.
Finally, I selected the animation and the mask and exported the selection to SWF.
Click the image below to play the animation.
If you want extra credit, tilt the planet on its axis (you’ll also need to rotate the motion path to match the tilt), add shading for night and day, etc. Or go all out, and create a solar system with other planets, and maybe a harbinger of doom, like a killer asteroid or the Death Star.
Just don’t try to reverse the Earth’s rotation to make time go backwards. Only Superman can do that.