12.20.2010

Pop-up Book Animation

This is my favorite portion of a video that I created for a program to promote literacy.  It recently premiered on the largest video screen in the world.  I am in the process of repurposing it for several other major NFL and NHL stadiums.

12.04.2010

3D Sprite Animation Progress

I’ve finally gotten around to blocking out some animation in my Megaman project-


Rough Blocking from Joshua Miller on Vimeo.

This is only the rough blocking. I’m trying to get the animation to feel accurate to the game from the side view because that is the original view (of the game). Then I will go in and find more interesting camera angles/moves and play with the timing.

I’ve been having some trouble with the background. Each “pixel” cube in my scene is only 6 polygons, but when there are billions in the scene Maya freaks out. It got to the point where it would take about 20 minutes for the project to open. Maya can do amazing things, but it’s also frustratingly buggy, especially the Mac version.

Anyway, I’m probably going to have to rebuild the background, which isn’t the end of the world. Every time I have to rebuild a part of a project it always goes twice as fast, and I have a lot of ideas on how to make it much more efficient.

So I decided to just deal with that later, after I figure out my camera angles and shot list and move on to animation. That way I can deal with the background on a shot-by-shot basis, and not have to bog down my scene files with information that might not be on screen.

11.30.2010

Using the Tools at My Disposal

Over the long weekend, I started my first painting on canvas in about 5 years.  I had forgotten how great it is to feel the bristles of your brush on the canvas.  While you can usually achieve almost the same image with software, there is a level of tactile feeling that is lost using a Wacom tablet.

On the other hand, there are advantages to digital media.  The one that I appreciate most is ease of editing.  There is no undo key in real life.

That brings me to the point of this post.  I tried a different approach to this painting.  Almost every drawing or painting I do, I try to find some sort of visual reference of the subject matter.  I don’t try to copy the image, but usually I can get more information about shapes, textures, etc. that might not be immediately accessible in my head.

For this piece in particular, I know there would be a lot of geometric objects, seen through a very wide angle lens.  While there are ways to figure out the fish-eye effect with traditional drawn perspective, I thought that it would be just as easy to build the primitive scene in Maya, and be able to experiment with different camera angles and focal lengths until I found the right one for the piece.

So I created my own visual reference image in Maya.  It took around 2-3 hours, about the same amount of time that it would take to measure everything out in perspective. 

However, there was a huge advantage to using Maya for the reference once everything was built.  I was able to easily move things around in frame to get the composition that I wanted.  I experimented with different focal lengths and camera heights.  Seeing the scene from a different angle would only take a matter of minutes, rather than having to completely redraw a sketch.

After rendering a contour pass for a perspective reference, it was quick and easy to drop some lights in and render a rough value reference as well.



11.13.2010

Painting Progress

I've been making the time to paint.  Reverse Glass Painting is much more difficult than I thought it would be.

You have to think of everything backwards, because you look at the finished piece through the other side of the glass than you paint on.  This means that if you paint one stroke over top of the other, it will be behind your first stroke.  (If painting on canvas, it would be in front.)


The Background is finished, and the gold leaf has been applied.  The whitish areas (hair and drapery) are still masked off.  The skin area has had one translucent layer of dark blue applied (you are seeing through the glass to the cardboard in the brown areas of skin).  

I fear that I may have gone too dark right away in the skin tones, but I have already scraped off and reworked the background, and feel as though I need to keep moving forward.  This is my first time trying this technique, and it's not going to be perfect.  I have to try out as many things as possible and let myself make mistakes in order to learn the intricacies of the style.

11.04.2010

Slow to Post

I'll hopefully be posting some new progress soon on my Megaman project.  I've been crazy busy at work since I got back, having to work on a bunch of political ads.  They're super hectic, most have to be concepted and completed in the span of a day.

A couple of them got some pretty major play, I did a full-page ad for the New York Times, and an animated spot that I concepted and animated played during a World Series game!

Unfortunately, with the one-day turnaround time, neither piece is something that I feel is up to my potential.

10.25.2010

Back in the States. . .

It was a frenetic trip to Japan.  I was only able to get a week off of work because of a new job for Sony that’s coming down the pike, so I had to cram in as much stuff as I could. 

The highlight of the trip was spending some time with my wife’s Great Aunt, Michiyo Ishikawa.  She is an accomplished professional fine art painter who came up with a technique that combines traditional Reverse Glass Painting with Gold Leaf Gilding. 

Years ago, my mother in law showed her some pictures of my work, and she liked it, so she decided to teach her technique to me.  I didn’t know until afterward that she has only taught it to one other person. 

I’ll share the final when I’m done with it, but there are many layers of oil that need to dry completely before the next layer is applied, so it will be at least a couple of months.

It’s a process that involves a lot of masking and patience, neither of which I’m used to using in my painting!


10.06.2010

Big in Japan

I am going to Japan tomorrow, and therefore will not be posting for the next couple of weeks.  In honor of my newfound commitment to this blog thing, I have painted and uploaded a header.  As with every painting I do, it doesn't feel finished, but I'm going to leave it up there and hopefully all the little details that bother me will fade with time. . .

10.05.2010

Delusions the Internet is Interested Part 2 or: How I Learned to Stop Worrying and Love the Blog

I’ve been resisting internet social media.  I signed up for facebook years ago to view some videos of a friend, and didn’t post anything myself until a few months ago.  I hate the pretentiousness of social media, the idea that there are people out there that actually think what they are doing is so interesting that it warrants constant twittering of the minutia of their daily lives.

I had always lumped blogs in with twitter.  I am a relatively modest person, and do not think that anyone is interested in following my life or my work.  It was only after I started visiting blogs by artists that I admire that I even considered it.

And, after doing it for a little more than a month, I have found the advantage to blogging.  It is not ego, though I do think that is the draw for some people.  This blog forces me to progress.  Even though no one is visiting but my wife and I, I have put forth to the internet my personal artwork. 

If I give up on a project, it is a public failure.  It’s not that big of a deal, but it helps drive me to continue.  One of the hardest things about taking on a personal project is seeing it through to completion.  It’s easy to be excited about an idea when you start, but once you start hitting roadblocks, it’s easy to lose the desire to finish.

9.30.2010

Test Render

I add the new elements to my main scene, and I have an entire plane of my level that animates automatically-
I’m starting to think that I can make this turn out really cool.  I'm looking forward to seeing how dynamic I can make the camera moves.  

I have a couple of things that need to be done before animating-

-A flying enemy w/animation.
-Additional frames for Megaman to facilitate a jumping animation.

Since the animation will be taking place on this plane, I can work on it and the fore/background simultaneously.  I also want to-

-Expand the existing scene into the foreground and background.
-Create machinery elements (Hopefully animated) for the background.

However, before I move forward on anything, I want to edit some of the objects in the scene I am not happy with.

9.28.2010

Additional Elements

I don’t have much to say today, which is probably good, since my posts have been feeling kind of long-winded.  I just wanted to share a few new elements necessary to my scene-

Interesting side-note, while looking for visual research, I found out that the hardhat guy is actually named “Met”, short for “Metall”(yes, with 2 L's), and he has been in every Megaman game since the original.  However, I have always called him “Hardhat Guy” so I will continue to do so.  I’ll try to resist abbreviating that to “HG” as that means something else entirely in Japan.

And, though it won't play into the story, I want to add one of the blue energy tanks. I spent so many hours of my childhood finding them and figuring out how to collect them without dying that I have to include one in the scene-




9.25.2010

Building the Level

I’m starting to build the pieces out in a single plane (as they exist in the 2d game)-



Once everything is lined up according to the rough sketch in my last post, I will move and copy elements in Z space to get as much depth as I can.  The plan is to build the whole “level” he will be moving through, and then animate him moving through it.  Once that is done, I will go in and see where I can get the most dynamic camera angles on the action, and where I can cut in for close-ups. 

Again, I’m doing things backwards; normally storyboards would precede the animation.  I will be animating a “dry run”, then moving the camera around the animated scene to try to find the best angles.

I just figure, what the hell?  I’ve already started with animation before I had a story.  since I am trying to imitate the feel of an old game, I might as well get the animation right from the side view first, and hopefully the feel will carry through to the more dynamic angles.

Part of the point of taking on a personal project is challenging yourself.  The best way to learn more about your craft is taking risks and trying new things.  


9.21.2010

Story, or the lack thereof

I’m approaching this animation in a pretty backwards way.  Usually, one starts with a script, creates boards from the script, and then finds an animation style that supports the story, themes, and style of the piece.


Since this was just a test, I haven’t really thought about any sort of story.  Now that I think it will work, I want to expand it into a few seconds of animation, so I need some sort of story.

One of the (few) things I like about advertising work is that it is often based on short bursts of visual flair.  Ads usually have some sort of story, but they just as often have mindless flashy graphics to draw your attention to a product or an end card.

So what is the story of the game I’m trying to represent?  There’s some crap about an evil doctor that creates robot masters, but not only would that take too long to get across, it’s a pretty sucky story.  As with the vast majority of games in the 8-bit era, the story is just a thin excuse for wanton robot murder.

I don’t want to reinvent the game and try to inject some story that doesn’t belong, so I’m going to let it be what it is, a representation of a few seconds of 8-bit game play in 3 dimensions.  He’ll run and jump across platforms, and shoot a couple of enemies.  I’ll do the 8-bit adaptation of Macbeth later.

So my “script” for this piece will be a 5-minute sketch-


I'm just gonna let the little guy do what he does best, move left to right.

9.15.2010

Automating Animation






It is quickly becoming apparent that I will be dealing with thousands upon thousands of cubes, and keeping track of them as they animate is going to be quite the chore.

I’m a big fan of creative planning.  A few minutes of forethought about how you build something (whether 2d or 3d) can save hours of time and countless headaches down the line.  Anything can be built in a myriad of different ways, and being creative about your processes and using your software packages together in new ways is essential to creating original work.

There are a few elements that I know I want to have in my scene.  One of the things I remember about every Megaman game that I have played is the “conveyor belt” style platforms, that would put a forward or backward force on the player sprite.  They slide your sprite in one direction if you stand still, you run slower if you are going against the “flow” etc.

I start by creating the smallest section of the conveyor belt possible, as with the player sprite, I create a separate object for each frame-


If I add a Set Driven Key to the group of objects that controls the visibility using the process explained in my last post, I have one little animated chunk of the belt-

Note that I have planned the motion on a 3 frame cycle.
-There are 3 pixels before the track repeats (2 pixels of track and 1 pixel of gap)
-The track on the bottom moves the opposite direction than the track on the top so that the motion of the track will be circular
-The arrows in the center are designed so that they "flow" in the direction of the top of the track.

This allows the segment of track to be tiled horizontally.

I duplicate the chunk several times until I have the length of belt I want, and create ends using the same method.  Building the belt in this way allowed me to only animate a small part of it and propagate that animation over the whole belt, rather than having to move every single animated cube in the object.



I reorganize the groups, so that frame 1 of each segment is in one group, frame 2 is in the next, etc. I add an attribute called “BELT_FRAME” to the top group in the hierarchy, and have that drive the visibility of these new groups, and now have one attribute that animates all of the cubes in the belt.

Since this will be a constantly moving element in my scene, I set keyframes on BELT_FRAME then, in the graph editor, set the curve’s post-infinity to ‘cycle’.

Now I have an element that I can drop into any scene, it will automatically animate in an endless loop, and I only need to deal with 4 keyframes on 1 attribute if I want to alter the animation.  This definitely beats keeping track of keyframes on thousands of cubes!


9.12.2010

First Animation Test

After doing some thinking, I plan out the best way to handle the animation.  I will be building each frame of the sprite as a separate object in Maya, then animate it by turning one object “on” and the previous one “off”.

This is similar to what’s called “replacement” animation in stop-motion.  For instance, Stop Motion (i.e. Aardman) characters have between a handful and a hundred different mouths, each sculpted into a different shape-


These shapes are replaced frame by frame (hence the name “replacement” animation).  When the animation is played back at real time, the planned changes of each replaced mouth create the illusion that the mouth is morphing into the phonemes and expressions that the animator wants to convey.
In a normal CG character animation situation, these mouth shapes would be built as “blend shapes” where the animator would distort the base model of the face into the various shapes, record them, and let the computer interpolates the changes to make up the frames in between.

This results in a smooth morph between each shape.  Since I am attempting to emulate the feel of static pixels turning on and off, I am opting for the stop-motion method of animating instead of the usual CG methods.

I duplicate the first sprite I created in 3D, and shift the cubes around to create a new object that serves as the next frame (replacement shape) in the animation.  Luckily, in researching the sprite online, I find it only has 3 frames of animation-



Within Maya, I create each frame as a separate object (group of cubes)-


 I then parent all of the frame objects to a curve and add an attribute to the curve called “frame”. 

I use Set Driven Keys to attach each frame (object) to a number in the “frame” attribute, the visibility of all objects is the driven attribute, so that if “frame” is set to 2, object 2 is the only visible object, If “frame” is set to 3, object 3 is the only object, etc.

This creates a run cycle that has the look of sprite animation.  Rather than morphing or rotating in 3 dimensions between the keyframes, one arrangement of cubes is replaced by another in sequence, emulating the look and feel of one frame of a sprite replacing another.

Now I have one control curve that I can use to move the animated sprite around in space, and an attribute on that curve that can be used to switch between frames of the 3D “sprite”.

The arrangement of cubes in every frame of the test isn’t perfect, but it’s a good enough proof of concept to move forward with planning a scene.

9.11.2010

Animation Goals

The idea that I’m trying to get across is pixels in 3D space.  A square pixel represented in 3D would, of course, be a cube.  However, I am trying to emulate actual sprite animation, not just pixilated geometry. 

There are a couple of people who have done similar things, most notably 3D Dot Game Heroes for the PS3-








Jump to about 1:08 in the trailer, and you will notice that, though the geometry is built out of cubes, when the geometry rotates, the cubes also rotate, meaning some cubes are at an angle to others.  While this is one way of emulating a look of pixelation, sprites are constructed on a grid and cannot deviate from that, you cannot rotate a pixel in relation to it’s neighbors.

The look that I am going for is to follow a strict grid, while objects can move horizontally and vertically within that grid, they cannot rotate, rotation must be achieved by turning pixels "on and off", drawing a whole new frame of the sprite.

In other words, I am trying to force myself to keep each “pixel” cube perpendicular to the camera at all times and achieve rotation by changing which cubes are where within a 3d grid, rather than rotating the existing cubes in 3D space.

Look at the sprites in my previous post, see how the bottom of his back foot is not flat, it “steps” as if it is aliased.  This is different (and much more difficult) to pull off than simply copying and rotating his front foot, and animating the foot from one position to the other is much more involved than just rotating the foot.

9.10.2010

The challenges of 2D vs. 3D

When the geometry is seen directly from the side, I want to keep it as true to the original pixels as possible.

The main concern I have upon starting is how much rotation I will be able to get out of a sprite that was drawn in 2D.  Obviously, if I were to shoot everything straight-on with an orthographic camera, there would be no point in doing it in 3D at all, it would look the same as the sprite art.

However, the sprites are drawn to give the illusion of depth and overlap, if you look at this image-


You notice that Megaman’s head is at a ¾ view, which looks great in 2d, but is not ideal in 3D.  Model sheets for 3D characters always contain orthographic views for modeling (straight-on from the front, side, etc).   Although I cauld have made this up and still had him look vaguely like Megaman, the ¾ view would not look like the original sprite, and that is not the look I’m going for.

My concern was that , since the opposite side of his head would have to be gimped to keep pixels perpendicular to the screen, I would not be able to rotate around the model enough to allow for the parallax of a perspective camera (since the perspective will be more extreme toward the edges of the screen)

Another Issue that I ran into with the initial sprite test is the fact that everything is outlined in black.  This is another thing that works in 2D, but not 3D.

However, when I started modeling, I found that I could actually use those black pixels to describe the form that has receded in space in the 2D art.  In fact, it was necessary to have these pixels in order to “round out” the form in z depth.

So, my initial sprite model comes out looking like this-

Though I am not able to rotate all the way around the 3D sprite (It looks like crap when you approach 90 degrees as I expected), I am able to get enough rotation out of the model to play up the fact that it is in 3D space-





Although I am already starting to deviate from the literal pixels of the original sprite, I feel as though the deviation is a necessary evil in converting the image from 2D to 3D, and the resulting model is close enough to the original sprite that I am comfortable enough to move on to an animation test.

Experiment- 3D Sprite Animation

I've always loved sprite animation.  It stems from my childhood, as my parents forbade me to play video games, and I would go to a friend's house to play some console that (I think) predated Intellivision and Calecovision.  There was a black and white game of cowboys attempting to shoot each other through a field of mushrooms, the cowboys themselves only consisted of a handful of pixels.

Fast forward a few years, after the explosion of the NES, I was still forced to experience games at friends' houses.  I would play, but I sucked since I was the only one that didn't have my own Nintendo, so my turn would last a fraction of the time my friends' would.  I spent much more time watching than playing, and was captivated by the animation, like the 5-pixel cowboys, the simplicity of the resolution of the sprites forced your imagination to fill in the blanks.  However, the color palette and 8-bit processor were able to suggest an entire illustrated world, rather than just a rough concept of action.

Sadly sprite art is dying due to the advancement of 3D in games.  There are still some artists around, I really love the work of Paul Roberts- http://probertson.livejournal.com/33796.html.

Anyway the point of this boring trip into my past is that I want to try an experiment, trying to create the feel of 2d sprite animation in 3D.  As a subject, I will be using actual 8-bit sprites from my favorite NES series, Megaman/Rockman.  This is so that my success or failure depends on my translation of the sprite into 3 dimensions, and not the design of the sprite itself.  I'm choosing an 8-bit sprite not only because of nostalgia, but also because it will be easier to deal with logistically.

It'll either be something new awesome, and original, or not work at all.  Wish me luck. . .

9.05.2010

Delusions that the internet is interested in me

It's late.  I'm drunk.  I signed up for a blog address.

I'll either be posting videos and art and stuff, or forget about this forever.

Either way, consider yourself lucky to be a part of what will instigate the end of days. . .