Stop! It's Render Time.
Rendering for this project required learning pass based rendering in greater detail. Within Maya, the first step is to create Pass Contribution Sets. These sets have geometry added to them (ie. dragon, nest, grass) so that different render passes can be added to different pieces of geometry within a single render. For example, the nest had the following passes associated to it:
Diffuse
Specular
Reflection
Ambient
Shadow
ZDepth
Motion Vector
Beauty
These passes would enable me to reconstruct the image of the nest in Composite whilst giving me a vastly higher level of control over the final output. For example, I would be able to take a duplicate of the specular layer and add some blur before adding it on top of the main image, thus creating the illusion of glowing hotspots on the nest.
The motion vector pass enabled me to add a reasonably good motion blur effect within composite without adding any significant time onto the render.
Unfortunately, Mental Ray doesn't offer support for pass based renders for the SSS shader I was using for the dragon skin, and no other shader offered me the result I wanted, so I was forced to only produce a beauty pass for this layer.
The final element of note on the render settings is the file format. I used a 4 channel 32 bit OpenEXR file, which Composite is highly compatible with. This would add a lot of power to me during compositing, as well as giving me much fewer files to deal with.
I calculated that if I had outputted each pass as tiffs, I would have required 28 different file sets with 1300 frames for each set. With Open EXR I had 1 image set.
Sunday, 24 April 2011
Saturday, 16 April 2011
The Making Of Project Dragon - Episode 11
Fire...It's Hot Stuff
One of the major elements I have been working on over the last year is Fluid Effects fire. Fluid Effects is a voxel based particle system that uses Navier-Stokes equations to recreate the movement of gaseous phenomenon. The system calculates the movement of Desnity, Fuel and Temperature between voxels, the density of these voxels being the 3D resolution of the effect.
The above image shows some of my early research into the effect of temperature on the final effect.
When creating a Fluid Effect, you must first create a fluid container. The effects is only calculated within this container. For this project, I also needed to add a volume axis field to add movement to the fluid. This can be seen in the image below.
One of the major elements I have been working on over the last year is Fluid Effects fire. Fluid Effects is a voxel based particle system that uses Navier-Stokes equations to recreate the movement of gaseous phenomenon. The system calculates the movement of Desnity, Fuel and Temperature between voxels, the density of these voxels being the 3D resolution of the effect.
(Click to embiggen)
The above image shows some of my early research into the effect of temperature on the final effect.
When creating a Fluid Effect, you must first create a fluid container. The effects is only calculated within this container. For this project, I also needed to add a volume axis field to add movement to the fluid. This can be seen in the image below.
(Click to embiggen)
The rest of the work was spent tuning the movement and look of the simulation. I had to set the nest and eggs to collide with the fluid so the fire appeared to billow around them. I also spent a large amount of time tweaking the colour and opacity of the effect to get the right end look.
If you want to know more about how I developed the fluid effects for this project, you can read my full research document here.
Sunday, 10 April 2011
The Making Of Project Dragon - Episode 10
Its Alive...Its ALIVE!
Today you get to hear about the joy of bringing a dragon to life. As you read earlier, I had planned to add Maya muscle to the dragon rig. However, due to time constraints and technical issues, I decided to drop this feature from the production.
One of the features of the dragon is that it uses a cloth simulation to drive the animation of the skin membranes in the wings. To accomplish this means that a few processes had to be followed in setting up the dragon. First the model of the dragon was broken up to separate the individual wing membranes from the main model of the dragon. This was so the cloth could be applied to just the membranes and not the whole dragon.
This also gave a dragon model which could be animated without the membranes. Once the animation was complete, the membranes then had to be attached to the main model again using dynamic constraints and the cloth properties modified so it acted like stretchy skin and not like hanging cloth.
As this model had been broken apart and stuck back together, it would no longer function with displacement maps as one single mesh, so a duplicate of the original mesh was brought into the scene, and a wrap modifier was added, which makes the seamless mesh of the duplicate skin follow the cut up mesh of the input skin.
The result is a single model with elastic wing membranes driven by a cloth simulation.
Today you get to hear about the joy of bringing a dragon to life. As you read earlier, I had planned to add Maya muscle to the dragon rig. However, due to time constraints and technical issues, I decided to drop this feature from the production.
One of the features of the dragon is that it uses a cloth simulation to drive the animation of the skin membranes in the wings. To accomplish this means that a few processes had to be followed in setting up the dragon. First the model of the dragon was broken up to separate the individual wing membranes from the main model of the dragon. This was so the cloth could be applied to just the membranes and not the whole dragon.
This also gave a dragon model which could be animated without the membranes. Once the animation was complete, the membranes then had to be attached to the main model again using dynamic constraints and the cloth properties modified so it acted like stretchy skin and not like hanging cloth.
(Click to embiggen)
As this model had been broken apart and stuck back together, it would no longer function with displacement maps as one single mesh, so a duplicate of the original mesh was brought into the scene, and a wrap modifier was added, which makes the seamless mesh of the duplicate skin follow the cut up mesh of the input skin.
The result is a single model with elastic wing membranes driven by a cloth simulation.
(Click to embiggen)
Sunday, 3 April 2011
The Making Of Project Dragon - Episode 9
The Grass Is Always Greener
One major issue that wasn't noted until after the shoot, is that in my shot the dragon is revealed as I come over a grassy hill to see it sitting on its nest. I hadn't considered it at the time, but this would be a relatively large issue during post production. In order for the dragon to appear from behind the hill, I would have to create a layer of the hill in front of the dragon...including all the grass on the hill.
The best solution to this would have been to have shot with a blue screen behind the hill so I could key out the foreground layer. As I hadn't done this and re-shooting wasn't an option, I had to explore other avenues.
The most obvious solution would be to rotoscope out the foreground hill and grass. However, this is a very tedious and time consuming job, and with a 1300 frame shot, would have taken far too long.
The solution I came up with was to recreate the foreground hill as a C.G. model and add some virtual grass to the top. The model of the hill would work perfectly with the match move to mask the dragon and nest as I come over the hill, and the virtual grass would help to break up the harsh C.G. edge of the hill.
The first method I explored to produce C.G. grass was to use Maya fur. This quickly produced a good initial result, though I had some issues as time went on.
One major issue that wasn't noted until after the shoot, is that in my shot the dragon is revealed as I come over a grassy hill to see it sitting on its nest. I hadn't considered it at the time, but this would be a relatively large issue during post production. In order for the dragon to appear from behind the hill, I would have to create a layer of the hill in front of the dragon...including all the grass on the hill.
The best solution to this would have been to have shot with a blue screen behind the hill so I could key out the foreground layer. As I hadn't done this and re-shooting wasn't an option, I had to explore other avenues.
The most obvious solution would be to rotoscope out the foreground hill and grass. However, this is a very tedious and time consuming job, and with a 1300 frame shot, would have taken far too long.
The solution I came up with was to recreate the foreground hill as a C.G. model and add some virtual grass to the top. The model of the hill would work perfectly with the match move to mask the dragon and nest as I come over the hill, and the virtual grass would help to break up the harsh C.G. edge of the hill.
The first method I explored to produce C.G. grass was to use Maya fur. This quickly produced a good initial result, though I had some issues as time went on.
(Click to embiggen)
Above is the hill with hair based grass and some stand in geometry in the background. While this result is not bad, I was having difficulty colour matching with the grass in the plate, and controlling the shape of the grass was also somewhat cumbersome.
I therefore decided to use Paint effects. This generates procedural geometry and has a preset for grass. I was able to use this and tweak the settings until I had the desired result. This method uses standard polygons and shading methods within Maya, so it was much easier to match the grass in the background plate.
(Click to embiggen)
Though this early test obviously has some issues, I was very happy with the result. I could produce more natural looking grass with far greater control.
Subscribe to:
Posts (Atom)