So, this week continues with the lessons on creating sparks and fire, for the purposes of creating fire for the dragon in Going Live. We begin again at lesson 8:
Lesson 8 – Establishing our Final Shot
- To make the scene more realistic, add a point light inside the meter and key the intensity of the light in conjunction with the keyed sparks – so, in my case somewhere between frames 29 and 39 initially, then frames 60 and 70 [Image 1]
- You need to set the decay rate appropriately so that the rest of the scene isn’t getting lit by the light – in the lesson he uses linear, but you could use quadratic if you were using real world size
- If you want to customise the glow, select the shader glow from the hypershade and adjust the glow and halo attributes, but remember you can change this in the comp anyway
- Also, for both the child and parent particles, in render stats attributes, make the ‘visible in reflections’ box active for the reflections in the pool of gasoline [image 2]
- Go to solvers, create particle disk cache – give the directory and name and create
Lesson 9 – Blocking Out Simulations
We’re first looking at the aesthetics of the flames via a YouTube video for reference. Colour-wise, from the bottom it starts with a yellow to orange to black smoke and the fire itself spreads very quickly. We’ll be using 2D fluid containers in Maya to represent this.
- From the fluid effects menu, create a 2D fluid container, use a 40 x 40 resolution to begin
- Remember, a 2D fluid container has X and Y size but also a Z depth of 1 voxel unit (volumetric pixel) – density, velocity, temperature and fuel are the important attributes
- In Maya there are 3 types –non dynamic; dynamic; and ocean and pond – we’ll just be looking at the dynamic for these lessons
- The fluid is emitted by an emitter or an object that initiates it
- Split your scene up into render layers: fire layer; reflections; spark; bg_layer; masterLayer
- Change the fluid containers X value to 18
- With the container selected, go to fluid effects menu, add/edit contents, emitter – options box
- Set the emitter type to volume – volume shape sphere – apply and close
- Remember – you need to keep the emitter inside the container, otherwise no fluid will exist!
- Drop it down to the bottom of the container – when you run it, the fluid is very low res – change the fluidshape container properties to ‘keep voxels square’ and set the base resolution to 250 [image2]
- Only other thing is that you can tumble the camera around a 2D fluid emitter – it’s flat!
- Select the fluid emitters attributes – set the turbulence to 2.5 and the detail turbulence ( a multiplier of the turbulence) to 1.5
- Reduce the fluid drop-off to 0, so that the emitter retains its shape and size [image3] – you can also see the cause of the turbulence more now as well
- 3 basic nodes in 2D fluid – transform, the shape and the emitter (and time)- we’ll be focussing on 2 attributes, the density and the velocity
- In the fluidshape node – change the (dynamic simulation) damp attr to 0.1 – this controls the velocity of the emitter and the instability to slow it down a little
- We’ll stick with the navier-stokes solver (used for fluids, air and gas – ‘spring mesh’ for ocean and pond)
- High detail solve – set this to ‘all grids’ as it will provide a higher detailed simulation
- Next the density parameter (below contents details) which is the most important attribute to block out the fluid – here density represents a ‘material’ attribute
- So, set the density scale to 0.65; buoyancy to 10 (positive goes up, negative goes down); dissipation to 2 (how it fades); gradient force to -60;
- Velocity – set swirl to 8
- Turbulence – don’t get confused with the fact that there is also a turbulence attribute for the emitter, whereas this is for the fluidshape – set strength to 0.25
- Scale the emitter along the Z axis to make it longer and check out the changes [image4]
Lesson 10 – Placing our Fluid and Fluid Emitter
We’re going to look at the shading of the fluids here:
- First though, return the scale to the previous size
- Fire carries its own incandescence and glow etc., so we’re not using the color attributes – switch the color to black – so under shading tab – switch selected color from white to black – leave color input at Constant
- Incandescence – change the Incandescence input to density as this is driving the colour
- Opacity – (should be set to density, if not do so) then open up the opacity graph and make settings as seen in the image below [image 1] NB – little tweaks to this graph can make a huge difference to making realistic flames!
- Go back to the incandescence graph, make sure there is a white swatch color at the end, set the Interpolation to smooth [image 2]
- Under the shading tab, reduce the transparency a bit more on the slider, glow intensity to 0.1, edge drop-off to 0.015
- Test it to check the colours – if it’s too orange or whatever, move the incandescence sliders to bring in more white et from the right and slide them to the left
- Scale the emitter again along the X axis just as a test to see how the flames are looking [image 3]
- Tweak the opacity graph to see the difference it can make! [image 4]
- Shading quality tab – render interpolator set to smooth (improves on jittering artefacts) – although for now, keep it at linear as it blurs the render
- Return the scale to 1 again
- So, now we want to check when the sparks hit the gasoline so we can key the emitters density attribute
- At frame 1 set the fluid emitter density/voxel/sec value to 0 and set key – same again at frame 70
- At frame 90 set it to 1.25, set key (that way it will build up overtime)
- For the X value of the scale attribute – set keys at 0 and 70 for value 1 – then at frame 120 set it to a larger spread out value [image 5]
- Move the emitter to the left slightly so it comes intocontact with the oil can – we can make it collide as well–select the fluid, ctrl select the oil can, fluid effects menu, make collide – options – tessellation factor of 500 is fine – apply and close
- We’re going to up the turbulence strength to 0.35 (fluidshapenode)
- Increase the timeline to 200 frames
- Select the fluid and create another emitter – place it on the right of the fluid and scale it out from the start – density set to 1; fluid drop off to 0.25; turbulence set to 3; detail turbulence to 2;
- Again, need to set the keys for it – set keys at frames 0 and 80 for 0 value of voxel density; frame 120 a value of 1, or whatever you fancy!
- Test render! [image 6]
- Don’t worry too much about the colours as we’ll do that in post!
- You could change the gradient force to -100/-80 for more force if you want (density)
- For a better render, turn on ‘visible in reflections’ [image 7]
- Next up, smoke and render layers!
Lesson 11 – Creating Smoke
So, before we get around to adding the smoke in, there are a couple of changes to note:
- Add in another emitter in, the same way that you did the last one to expand the fire further [image 1]
- Add in a uniform field – magnitude 25, attenuation 0, direction Y 0.5 (upwards slightly), direction Z -1 (towards the barrel)
- Change the opacity graph slightly to get rid of any soft smoke, as we’re going to be adding in the smoke separately [image 2]
- NB – lambert materials with the Matte Opacity setting of ‘Black Hole’ have been applied to the background geometry to make it visible in the layers with other elements, but it doesn’t render – Black Hole doesn’t receive any shadows, but ‘use background’ utility does
- Add in a new fluid container (about double the height of the first and a little wider) with an emitter about half the height of the barrel and slightly shorter than the fire emitters.
- Container – Base resolution 150, size 20 x 20 x 0.5 (boundary Y, -Y)
- Emitter – volume, cube shape – fluid attr – Fluid Dropoff 0
- Fluid emission turbulence – turbulence 2, turbulence speed 0.5, detail turbulence 1,
- Key frame the density attr – 0 up to frame 60, then up to 1.25 at frame 130
- For the fluid shape, the dynamic simulation attr – high detail solver is off, damp to 0.1, Density set the buoyancy to 10/15, dissipation 1.5/2, density pressure threshold 1, noise 0.05/0.07, gradient force 80
- Velocity – swirl set to 8/16
- Turbulence, strength set to 0.2 (freq and speed 0.2)
- Shading – transparency dark grey, drop off shape –Y gradient
- Incandescence– color white (we’re going to invert it in post) input – density, Input bias 0.361
- Opacity input – density, input bias 0.2 (shows more smoke upward!), interpolation spline – see the image for graph [image 3]
- Shading – transparency dark grey, drop off shape –Y gradient, edge drop off 0.5 (you don’t want the smoke to lie on top of the flames too much, otherwise it will block/black it out
- When rendering, you may want more or less detail in the smoke – if you increase the Z container property size to 1, the smoke will appear thicker/more dense, therefore, less detailed
To set up the render layers:
- Bg_layer: for this layer, use only the key light and bulb light (filter out lights only in the outliner – rendered only a still targa image as it’s the same all the way though the scene! For the other lights, you need to render the animated lights obviously!
- Spark layer: the particles are cached for this layer, so they are applied as well as the bg geometry – lambert shader mentioned above with black hole matte opacity and a brighter colour for reference only – could also use the ‘use background’ utility with specular colour set to black, reflectivity set to 0, reflectivity limit 0, but remember ‘black hole’ receives no shadow
- Fluid reflections layer: add the fluid container, but under render stats switch off primary visibility (override – turns orange) and turn on ‘visible in reflections’ and ‘visible in refractions’(override – orange again) Also need to add in the base floor, so you have something to image the reflections on [image 4]
- Fire layer: fluid separately!
- Light fire flames layer: 3 separate point (omni) lights with decay set to linear, intensity set to 2, orange in colour (or white if you choose to tweak in post) – ray traced shadows with light radius 1, shadow rays 8 – also bg geometry
- Flash light layer: animated point light for the meter we set up earlier – also bg geometry – NB – hide all the other lights!
- Flash fire layer: another point (omni) light with creation expression attributes in the intensity attribute (same initial attributes as the other ‘light fire flames’ lights – [see image 5]
- pointLightShape4.intensity = rand(3,6); – also bg geometry. Again, hide all the other lights!
- Spark reflections layer: same idea as the fire reflections – switch off primary visibility and turn on the visible in reflections [image 6]
- Smoke layer: the smoke fluid with no reflections [image7]
- can do bg with black hole assigned if you want!
Here’s a render with all the elements in place – however, the smoke will be black rather than white in the final composite.
Lesson 12 – Creating the Final Composite in AE
So, the final lesson in this series looks at the composite using After Effects. The same kind of thing can be done using any similar tool, so I will no doubt try it in Nuke.
- Start off with the background targa image as the base image (the basic diffuse layer) – normal blending mode
- The next layer up is the point lights targa to highlight the fact that the fire has started – key frame the opacity levels to come up as the flames grow – screen blending mode
- Further up the stack above the sparks layers (next) we have 2 versions of the fluid fire and reflections (doubled up to increase the effectiveness), also a Gaussian blur for some soft glow – both using Screen lending modes
- So, above the combo lights layer we have 2 sparks layers, similar to the fire above, doubled up with a little Gaussian blur – screen blending mode
- Next up we have the sparks reflection – screen
- Next up the meter light to support the sparks
- Next up is the flashing fire light – screen
- Lastly, the smoke – invert – multiply blending mode
- In AE, you can create a pre-comp layer (select all layers – CTRL Shift C) – then duplicate this layer and use a different blending mode – he uses Overlay, but it depends on the look of the scene you’re creating of course! (You can use the opacity setting to control how much you want)
My version is slightly different! [Image 1]
Reflection on Practice – Focus Groups and Interview Assignments
Wednesday of this week was the hand-in for the first assignment for Reflection on Practice, which involved the creation of a plan for a focus group related to our research. The idea was straight forward enough, but when it came to constructing questions for the audience, I realised that: first of all, I didn’t require the help of the general public, but a more academic group of scientists from different backgrounds who could offer opinion based on their own experiences; and secondly, the questions needed to be geared toward input from their own experiences.
The second assignment is the realisation of this focus group, or a one to one interview with someone outside of the College who can offer an alternative view of my research. In doing so, the idea of involving a deaf/blind charity in my work seems like a good idea, both in terms of the potential benefits for the hearing impaired to feel and ‘see’ sound, but also in terms of the fact that it focuses my own research in on a particular goal, rather than the vague ‘entertainment’ or ‘education’ tags that I have thus far assigned to the title.
I have sent an email to Sense Scotland, who run a centre called ‘Touchbase’ in Glasgow, who will hopefully grant me an interview and we may be able to help one another out. I will update the outcome of this shortly.
Going Live – Fire Test
As well as the dragon head I built for rendering tests, I have suggested/been asked by the team to to a fire test for the purposes of showing Axis animation, at this early stage, what we mean to achieve, by means of producing more than we need to for the first hand-in date next week (specifically for the animated storyboards).
So, using what I learned from the sparks and fire lessons, I have put together a rough but hopefully effective few seconds of animation with the same dragon head I designed along with smoke, sparks and fire coming out of its mouth. I created a very simple IK rig for the head, and used a separate joint to rotate the jaw slightly when it opens its mouth to breathe fire. Here is a couple of images from the basic render:
I’ll do a proper render next week with appropriate render passes, lighting, some textures, a basic backdrop and a basic composite.
Friday 31st January – 3D Tracking – Jin
3D tracking was first used by the miloitary in the war to track aircraft and so on. 2D tracking involves X and Y co-ordinates, whereas 3D has all 3 axes. 2D tracking is used mainly for helping rorplates or creating clean plates. 3D tracking is essesntially for creating a virtual camera.
So, as I have covered the basics of 3D trracking a few ago, I won’t go into great detail here. I will, however, point out some important points to remember:
- step 1 – take off lens distortion! Typically, professionals will ask if you have cropped an image (with lens distortion still apllied) which will essentially create a bad track, and make your 3D life a misery! You don’t want to be modeling on a curved grid!
- So, in general, you take the rendered CG footage and add back in lens distortion to match with the original footage
- in the raw footage, look out for moving objects (like people etc) and reflections etc for tracking
- create a roto node and key out the moving objects
- connect the roto to the mask of lens distortion
- for the lens distortion node itself – image analyse tab – analyse sequence (default) – moving bodies give you a bad result so use the mask – mask – mask alpha (no alpha in the original footage)
- VFX supervisors need to know camera information – what kind, height, distance etc
- Lens D – you also have grid analysis – this is the best option – plug in a photo taken with the same camera
- Line analysis – drawing mode on – you draw several ‘horizontal’ and ‘vertical’ lines along objects in the scene – RMB – you can also delete last point or line
- so, the camera tracker goes under the lens D, tracking tab – the number of features recommended is 250 – the default is only 150 – can maybe use more if you like – 300!
- Track features
- Solve camera
- Refine tab – never used it before but it’s straight forward – solve error – change the sliders at the bottom and dismiss what you don’t need etc
- Solve camera button again
- Create scene – tracker tab
- If you want to see the scene in 2D you need to add a scanline render node
- You can set your ground plane by selecting a group of points on the floor – RMB – set to X axis
- Add in geometry to the scene – connect to scene
- Remember to use lens distortion – undistort box – before merging with the original distorted footage (just copy and paste the first one)
- Exporting to Maya – writegeo node – you can use a mergegeo node before that in the chain if you have several objects – or you could just use the one and export out whatever you check in the boxes
- Write out footage without distortion for Maya!
- Refer to Jin’s files for more detail!