Friday, April 29, 2011

Outro Wall

The wall featured in the outro shots was recreated but using the original cutout as a guide, and placing brick geometry behind it, matching them up with the existing pattern.
In order to make this process easier, and to ensure that the rendered bricks still framed the footage behind the wall well, two image planes were attached to the camera as seen below:
The front image place contained the cutout, and it's depth was positioned according to the brick wall geometry copied from the Wall to Andrew shot.
The rear image plane contained the footage shown behind the wall (with the original cutout still visible to ensure the positioning of the image planes matched up.
Then it was a case of duplicating, positioning, and scaling bricks in order to create the effect of a broken up wall. 
Having a static shot, close to the camera has required me to increase the amount of detail in the objects.  However since the shot, and the objects are in fact static, this was much easier to do in post production rather than increase the texture/geometry detail.
In order to accomplish this, I imported a photograph of a cracked concrete wall, applied an overlay blending mode, then cloned/rotated areas in order to match the texture up with the rendered bricks.

Thursday, April 28, 2011

It Makes Noises Now

After searching far and wide for an online source of free sound effects, I eventually stumbled upon this.  Which has been an incredibly useful resource.  I would have recorded my own audio, however I have the necessary equipment, or the funds to get said equipment (funds in this case referring to the train ticket that would get me to the media loans department).

While the site doesn't have an exactly comprehensive list of audio effects, it has enough to allow you to find audio that will fit with a bit of editing.

The bricks, for example, contain the sound of rubble falling, thunder, a gun firing and a mountain lion roaring at various points.  All happen at once when the big ball of bricks comes hurtling out of the wall.

The rubble effects are the ones that I am most satisfied with.  The swooshes when Andrew meets the wall and the dirt hit sounds need refining.
The swooshes need to be soften, and the sound varied.  I did attempt to vary the audio using the pitch shifter effect in Premiere, slightly adjusting the pitch for each occurrence of the sound, however the audio wouldn't render in the preview or when encoding.  I haven't yet figured out why it does not work.
The dirt hit effects currently sound a little too wet, but with everything else happening in the scene, I could possibly get away with simply reducing the volume of them.

Last post, I lied.  There was at least one more bit of 3D work to do, and that was for the outro shot.  As you can see in the video up top, it looks more like a cardboard cutout than a wall.  It was always intended to be a placeholder, but I either forgot about it or got lazy.
I'll post about how I created the scene later, for now, here's how it looks:


Monday, April 25, 2011

3Done

The matchmove and 3D work for the last shot is now complete.
The solve for this went exceptionally well with automatic tracking, I would put this down to the large amount of rotational information alongside the movement.
the geometry was reconstructed within boujou, then tuned to match the area and fix geometry errors within Maya.
The particle effects were creating by starting by creating a ball of particles around a newton field, then setting that as the initial state.  The first attempt to do this was by filling a sphere with particles, however the system I was using for randomising the instanced geometry was dependant on assigning a random number to each particle at the time of creation.
The ball was then exploded out of shot using an airfield, with gravity turned off for the first few frames of the explosion to facilitate a wider range of movement in the particles.

The final brick flying past Andrew head was animated along a motion path, adjusting the keyframes of the path in order to directly position the brick as his head turns.

Once rendered, and with the footage bought into After Effects Andrew needed to be masked out as he passes in front of the particles.  This was achieved through assigning a number of colour keys sampled from the grass, and a luma key to catch the darkest areas.  The mask is not 100% accurate, however given the amount of motion in the scene the inaccuracies are not noticeable.

In order to make the cut between this shot and the previous, "Wall To Andrew" shot, I used the frames where the ball of bricks entirely fills the shot, rendered the frames after it with transparency and timed the explosion of the bricks to the cut.  There is a noticeable jump in the position of the camera, but the combination of the cameras motion and the timing of the explosion meant that the experiment worked.

With all of the 3D work now complete, aside from a possible bit of re-rendering, or some additional two dimensional effects, the only work left is to fine tune the editing and add in more audio.
Here is the piece in it's current state, complete with updated Wall Pull (added fluid effect) and Outro (added background bricks, rendered from the Roll shot, but from a different angle.  The masking for this was a bit more complicated, as the shot was static.  It initially uses a difference matte to capture the majority of Andrew, touched up by hand painting problem areas frame by frame).

Thursday, April 21, 2011

Update

Rather than talk about the piece as a whole, I deemed it more appropriate to write about the work I've been doing on each shot this past week.
My intention is get finish off the majority of the 3D by the end of the week, and spend the rest of the time fine tuning the compositing and editing and getting the audio in.
The plan is mostly on target, the two major vfx scenes are finished and rendered, leaving the rolls (which do not require perfect matchmoving, as objects will not be colliding with anything, and I can reuse dynamic effects used in other scenes) and the post-roll stand up shot, which will incorporate bricks dropping and littering the background.
I would be totally on target if it wasn't for a couple of irritating snags.  More on that later.


Wall Pull Shot Progression
Scene Reconstruction
The scene was reconstructed using the locators from the Boujou export as a guide.  The floor was recreated using my briefly tried and tested technique of evenly placing passively colliding rigid-body spheres on the ground locators, then dropping a fairly stiff simulated cloth over them. It's long-winded but it works.
The wall was quick and simple to construct, with the brick placement and texture based directly on this photograph taken at the shoot:



After a little perspective correction in order to straighten the lines to make UV placing easier, the picture was cropped, resized, and ready to be used as a texture.
Each brick has the same texture on each face, the reasoning behind this was to allow making a variation of different bricks a quick and easy process by simply dragging the UV coordinates to a different part of the brick texture.


This is the finished wall in it's entirety:



The next stage was to take the wall, and dynamically simulate it's destruction.


Dynamic Simulation
A selection of bricks in the centre of wall were made into separate dynamic objects, leaving the outer edges to be used as a passive collider.  The bricks made dynamic are highlighted here:


The process of destroying it was simple.  The activation of the dynamics on each brick is carefully timed with the action in the footage, so each "pull" turns on a few bricks.
The bricks themselves are flung out using a powerful air field situated behind the wall, and angled toward the Andrew's position in 3D space.
This is the animation of the wall on it's own:


All that was then needed was to fine tune the timing of the rigidbody activation, the power of the air field and the collision properties of the bricks in order to get the collision with the floor correct, then the simulation was baked and ready to be rendered.


Rendering
I've made the decision to render the majority of the vfx work using 3Delight.  There are a number of considerations behind this.  The main reason is that motion blur renders a lot faster than with mentalray.  Given the amount of experimentation with getting the motion correct in this piece, rendering speed is a high priority.  Other reasons for the decision are that setting up render passes and associated file destinations is a faster and easier process. I also find it's use of sets for setting up render layers to be far more intuitive and stable than relying on Maya's system alone.


Compositing
For the most part, the composition of this is simple.  These are the following layers currently present:

  • Adjustment (for preliminary, overall colour correction)
  • Footage (with a mask for foreground objects)
  • 3D composition (contains grass hit effects)
  • Brick render pass (dynamic and static, color corrected to match footage)
  • Brick shadow pass (colour corrected to match footage lighting)
  • Hole mask (used to darken the area where the hole is made)
  • Footage (main, background footage)

As the rendered material was textured using a photograph taken under the same lighting conditions the main footage, the colours neatly matched up.  An Exposure adjustment was added to the rendered bricks, pushed up a little and that was all that was required.
To avoid having to mask around Andrew in the few frames where he is in front of the wall, the wall fades in a few frames before the dynamics occur.  Given how well the colour and pattern matches, the fade is unnoticeable.


The 3D composition layer uses camera animation imported from Maya, and is currently being used to the effect of the bricks kicking up dirt and grass.  This adds some much needed physicality to the scene.
The effect itself was created in Maya using a combination of particle effects and geometry instancing.
So far there are only two variations have been required, as the effect is subtle enough to not appear repetitive.  These are the animations, one for a hit and one for a skid:

I decided to incorporate these effects in the compositing process, rather than render them all in the scene as the process was faster to implement and make changes to.  Rendering each effect in scene would have had no advantage in this instance, especially given the simplicity of them and brief period they are on screen.


The following is the current state of the shot and vfx breakdown of the scene geometry and cg components in action:

Wall To Andrew Shot Progression
Matchmoving
The footage for this was far less effective than I had originally hoped.  My initial thoughts were that there was a lot of parallax information contained in the background trees.  What I didn't take into account was that the mass of crossing branches created a constantly changing pattern.  Even after placing a number manual tracks the solve still had large problems.
Fortunately, the frames where the wall was in shot matched well and only in the subsequent parts the solve had issues.
After the wall is out of shot, a perfectly accurate solve is not necessary, as no objects rest or come into contact with the ground.  All I need for this shot is the translation and rotation to match up well enough to look convincing.

Due to the poor solve, some frames of the camera animation jumped excessively, a couple went a few hundred units away and faced the wrong direction, and toward the end a fast backwards motion occurred that shouldn't.
The camera animation was fixed through a process of editing the animation curves in the graph editor, smoothing out animation where needed, deleting wildly inaccurate key frames and scaling down the curve that caused the backwards motion.  During this I discovered that as long as the position of points on the curve retain their relative positions, large changes can be made to adjust the animation.
While time consuming, the manual adjustment was far more successful than the trial and error method I was using in boujou.


Bricks
Since this shot occurs immediately after the Wall Pull shot, the broken brick wall and individual brick assets, as well as the associated texture were reused, negating the need to replace and reposition them.
This shot also has a brief, dynamic brick blast, using the same techniques as the Wall Pull.  however, the centrepiece is a giant, murderously twirling ball of bricks flying out of the wall.
This effect was achieved through the use of particles and geometry replacement.  The particles use a similar air field to the Wall Pull shot for the initial blast, however the ball itself is held in place using a newton field, moving along a motion path carefully keyed to keep it in shot.
Parented to the newton field are a vortex and an air field to create the swirling motion and turbulence.
Even with those effects occurring on the particles, the ball still had a tendency to clump up and appear static.  I solved this problem by placing a couple of spheres along the motion path to disrupt the particles as they crossed over them.
To create a decent amount of variation, eight different bricks are using in the instancing, with the geometry initially positioned at varying angles in order to counteract any uniformity that may occur in the simulation.
In the end, this took far longer to create than it should have, as the scene became corrupted somewhere along the way, causing me to have to change the path and reattach the cached particle animation every time I opened the file.  This took me a lot of crashes and a couple of hours to figure out.
Using the same fields, and with a few parameter adjustments, fluid effects were used in order to create a dust cloud emerging from the wall behind the ball of bricks


Rendering and Compositing
To avoid having to render out both the static wall and particle bricks whenever I need to adjust the animation, both were rendered out separately.  The particle brick render pass uses the static brick wall with a surface shader applied, and zero matte opacity in order to use it as a mask for where the wall should be.


Once rendered and composited, it became apparent that areas on the bricks were being hidden from both the directional and ambient lights in the scene.  Therefore faces on the bricks became black, which looks incredibly out of place in the scene.  


This was fixed by duplicating the layer in After Effects, applying a luma key to key out anything lighter than the dark parts, than applying a level adjustment to lighten the layer.
This allowed for a quick fix without the need to re-render then entire animation and universally adjust the whole layer.


Additionally, a few bricks that hit the ground were visible behind the ball.  Given that the solve is being used without 100% accuracy, and that the landed where they should be in shadow of the tree, these bricks were very out of place.
Since they were only visible for a few frames, and only took up a small portion of the screen; the quickest way remove them was to hand paint a mask frame by frame.


Here is the current progress with this shot:

Tuesday, April 12, 2011

Progress, Eventually.

After spending the last few weeks catching up on other projects, it's time to resume cracking on with this one.

Last week I ventured out to capture some footage with a mind to incorporate it into the final piece.

One of the things holding me back from making progress on this film has been the planning stage.  Planning is in no way one of my strong points.  Arguably I should be pushing myself into the process, however at the point where it's holding back a project, my best bet is to play to my strengths and improvise and be inspired as I work.

The following footage is the result of the shoot:

It may be very raw and poorly edited, but the main purpose of this was to work out which scenes would require match-moving and which would need reshooting.

The next stage is to take the parts that will require match-moving, then take them into Matchmover/Boujou in order to test the effectiveness of the tracking.
(Currently, I am testing the footage in Boujou, as it handles motion blur far more effectively than Matchmover.  Also, it's masking and manual tracking tools are far more intuitive to use.)

Once loaded into boujou, the first step was to mask out Andrew in order to prevent boujou from tracking him.
A few attempts to solely use automatic tracking were met with limited success.  There was a lot of slipping around the frames where the camera movement was particularly harsh.
Due to this I incorporated a number of manual tracks, picking points that I could make out when the motion was particularly blurred.
Using the manual data I then ran another automatic track, which resulted in a successful 3D solve:
This is the main shot that will contain matchmoving, a couple of others will too.  Particularly the post-roll shot.  Then preceeding rolls are so short, that matchmoving is possibly not necessary, and I could simply represent blurred bricks hurtling across the screen.  If that method is successful, then I will do so.  If not then matchmoving it is.

Next post I'll go into more detail about the film itself and the considerations behind the shots and editing.