Niall Horn VFX's Blog- Making Of My Work & RnD

Monday, 19 January 2015

Fume FX RnD- January 2015

Hi Guys,

I decided to render out some of my best FumeFX Setups from the past 4 months or so. You can watch the final video here- Fume FX RnD & Tests - Jan 2015

I've been aiming to work up my Fume Skills further, working on optimization techniques, without loosing quality, aswell as just genrally making cool CG Explosions!

I decided to put them on black rather than checkers, because you can see the smoke detail more easily.

The Heavy Bomb Style Setups-

These are using colour caching in Fume to get the mutli coloured smokes, I used high multiple scattering and smoke density to get the fire and smoke mixing alot more realistically. I watch a lot maybe to many explosion references on Youtube, the aim of these tests aswell was to get the inital emissions of the fire more realistic, I wanted to avoid that normal plume of smoke/column of fire emission you see alot in Fume Tests.

Radial Explosions-

For this test I wanted to get nice Ring Explosions, Formally Radial Explosions! The emission is very simple, using a torus animated to expand, then using PFlow to emit a quick burst of particles from the surface with some initial speed then deleting. Using a very high smoke density, and due to the emissions been throughout the sim, the turbulence was done using an effector, by fire density, because the smoke is generated from the fire, the smoke also inherits the fires turb so you have to be careful with the values.

Air Explosion and Engine Explosion-

The Aerial Explosion is a setup for when doing a plane been shot down for example, using mutiple emitters for the inital fireball, then thicker smoke trails and thinner smoke trails, all of these 6 emitters are in the same grid using Colour Caching again to get the multi coloured smoke.

The Turbine Engine Explosion consits of 3 Fume Grids, one grid for the Main Explosions, One For the Secondary Explosions, and one for the Smoke trails and firey tip smoke trails.

Thanks For Looking, I've got some cool projects lining up, aswell as my super ambitious personal project, more info soon!

Wednesday, 7 January 2015

Space Pyramid Rise- FX Project

Hi Guys,

This has been my biggest and most challenging VFX Project yet, Making a Giant Pyramid (From Outer Space!) Rise out of the Ocean! My inspiration came from Igor Zanics RISE Project as well as Important Looking Pirates (VFX Studio) Work on the OLF Commercial.I wanted to push all my VFX Skills from 2014 and make a Production Quality Shot.

Creation Of the Space Pyramid-

The Space Pyramid was pretty simple to make, Start off with a Pyramid Primitve in 3DS Max, then using RayFire Voxels Modifier with a bit of Chamfer to create the rounded edges on each Voxel IE Block of the Pyramid. This was what is used for the fluid collisions, at render time using Max Clankys Greeble Modifier, that then took the Poly Count of the Pyamid up to over 2 Million, but you can enable it at Render Time only which is great!

The Space Pyramid- With Greeble in the Max Viewport

The Space Pyramid- Render with Greeble

RealFlow Sims-

After watching Igor Zanics RISE and the OLF Commerical Frame by Frame aswell as alot of ILM and Scanlines work on Battleship ( I watch that daily anyway!) I knew that the emphasis of the shot would be the spray/whitewater cascading off the Pyramid, I wanted there to be little fluid mesh if any on the Pyramid as due to its size and the speed the water on it would be falling All the Water would ethier be Spray or Mist. I notice this in a lot of the shots on Battleship, when you see a big splash theres little fluid mesh there, because at that velocity and voriticity the water would be in a mist/spray state rather than liquid. To get this effect there are ways to mesh your particles by velocity however I found a much simpler option (More on this below).

Splash/Spray Reference, Notice no/little liquid and lots of Spray (Photo- BBC)

The Scale of the RealFlow Hybrido Domain was quite big, a lot bigger than usual which then means more RAM is needed and longer sim times, However I did add more scale to the core fluid sim using low gravity and some vorticity boost (Got to be one of the best Hybrido Features!) I did have a few problems with the Pyramid collisions so I switched to RealFlow Shell Mode to avoid random particle explosions even when using higher substeps, so I added some more interaction factor values to get the collisions working well. 

Core Fluid Sim In Progress

For the Bubbling/Swirling on the ocean surface before the Pyramid Rises, I came up with a way to do this using FumeFX and RealFlow 2014s new Ocean Force Daemon. Basiclly if a large object underwater is rising to the surface, theres lots of bubbles also been pushed to the surface which creats the swirl/bubbling on the surface, you can see this in underwater Volcano eruptions. For Igor Zanics RISE Project he used a Houdini Pyro sim that is then advected to FLIP, theres no way of doing that in RealFlow right now, So all I did was a basic lowres Fume smoke sim, of a small PFlow emission shooting some partciles into a grid and the using a VelMutipler of 1.5 to get more mushrooming on the smoke, also some turbulence, then rendered this from a top view camera of the grid. This is then used as an Animated Texture in the RealFlow Ocean Force Daemon with the strength tunred up and is positioned where the Pyramid will breach the surface, I was really happy with how this worked out! The Final Core Fluid sim had around 38 Million Particles.

For Secondary sims I used Hybrido Splash and Bubbles as separate sims, these ended up been really high particle counts but not creating the amount of spray I was after, I used lower gravity, drag, wind and noise to make them have more motion rather than just dripping off the Pyramid. For the main Spray I decided to use RealFlows standard object emitter using dumb particles, emitting ott the Pyramid only when it breached the surface, then using high wind and noise to make it cascade off the Pyramid nicely. I was able to cache the Spray to Alembic, however the Splash and Bubbles sim I could not stitch the alembic files for some bizzare reason, My Inital idea was to use Krakatoa and Frost to mesh the PRTs into tiny spheres, however due to there been over 40 Million whitewater particles which means lots of polygons been created at render time it led to lots of crashes, so I decided to render these through Krakatoa as particles and match the lighting as best as possible, I also rendered the Spray pass through Krakatoa as Voxels, to be used as a mist pass in comp.

 The Inital Foam Sim Was To Swirly, I had to get rid of some of the big clusters^
Object Emission Spray
The Particle counts for the whitewater sims got into the 50 million mark at one point, I wanted a very dense cloud of cascading spray from the Pyramid like in the OLF Commerical, I think using the object emitter worked really well because dumb particle sim quick and work well for doing spray. The Hybrido Secondary emitters worked well also, mainly for the foam/bubbles.

Some Of the Daemons used to give the Spray/Splash More Turublence

RealFlow Playblasts


I started rendering Space Pyramid Rise just after Christmas, I had got my new workstation also so I transferred over 2 Terabytes of cache data so I could render on my new machine. The meshing was done in Frost, as mentioned before all the water on the Pyramid itself was going to be whitewater or spray, to get rid of the mesh on the Pyramid from the core fluid sim, I used a slice modifier animated so once the bubbling of the surface had died down and the pyramid was rising the slice would clip off the top mesh.

Slicing where the mesh will turn to spray

I used Extra Tex Map and refraction passes from V-Ray to have velocity shading on the fluid mesh, For the waves I decided to use Fractal Noise, which seemed like a good way to avoid tiling on the ocean, however the waves dont move exactly like waves. I need to look into using HOT (Houdini Ocean Toolkit) But without tiling. For the Ocean Shader I used my custom ocean setup, I did some tests again with an SSS Ocean but its not worth the render time, V-Ray Fog works just aswell for creating the Attenuation/Depth effect, however Attenuation would be barely visible from the cameras position.

Fluid Mesh Render Test

 Fluid Mesh (With Box to Matte the Mesh Volume + Extended Ocean Plane)
Frost Mesh Settings

The Krakatoa passes were rendered in there own scenes, The Alembic Proxy spray pass was also rendered in its own scene however the fluid mesh was reflecting it. Both the Mesh/Ocean and the Particles were lit by a sky HDRI, I did a few tests with diffrent shaders, using some reflection but no refraction as it just increases the render time for little effect.

V-Ray Alembic Proxy (Splash Sim from my Plane Crash Shot)

I was really happy with how V-Ray Proxy looks, I saw great use of it on Graham Colliers Submarine Breach RnD.

Spray V-Ray Proxy Render WIP- With Lighting Refrences

For Compositing I wanted to have a finished shot with sky, infinite ocean etc. rather than just the render on black. The main comp work was getting the spray,foam,mist passes working well together aswell as blending the fluid mesh pass with the extended ocean pass which was a large plane with the same noise modifier on, however it still needed some manual masking to blend together. I did quite a few iterations in comp, I initially added a mountain in the background to break up the horizon of the ocean, however I didn't like this so to extended the ocean right off to the horizon I blended from the extended ocean render into a still image of an ocean, however its so far away and blured due to DOF you don't notice the waves are not moving.

 Comp V3- Not Final Version
A quick annotation to show where the Ocean Blends to the Mesh and The MattePainting of the sky and horizon ocean.

I also decided to show the Shot on black so you can see all the spray/mist a bit clearer-

Here is an earlier version of the comp, I scrapped to recomp because I felt the quality of some passes need re comping, also I wanted open ocean rather than the matte painting horizon I initially made.


Thanks for Reading, This shot was done over 1.5 Months On and Off, I've just started working on a Game Trailer, however I have some ambitious ideas for personal FX projects in 2015!

Monday, 29 December 2014

Houdini FLIP Greeble Splash RnD- Last Of 2014!

Hi Guys, Hope you had a great Christmas, I'm already working again on a big FX project starting early Jan (Exciting Times)!!

This RnD was done over 4 Days for me to test my new machine and learn Houdini FLIP, which seems to be one of the leaders in Fluid Simulation for Visual Effects even ILM have picked it up on the film Pacific Rim. and the pipeline of rendering back in Max through Krakatoa,Frost and V-Ray. The basic FLIP setup is from the OceanFX Flat Tank Shelf setup, I got rid of the WhiteWater networks and added them back in later. The Cross is just an cube with an extrude node on to get the cross, the Greeble Pattern is added in Max at Render Time via Greeble Modifier from Max Clanky. The Animation is keyframe not RBD not using VDB Collisions as theres no need, a cross is very simple for fluid interaction. Theres lots of Greeble Cube splash fluid sim tests/RnDs out there, I wonder whos idea it was to use a Greeble Cube I think it was Ghost VFX's I actually asked them about it when I was working for them for a short while. It kinda looks like an Alien Ship from the film Battleship!

Anyway A cross makes a nice splash, theres no custom/increased velocity or vorticity in the sim, its all from the collision, I lowered the gravity a bit for more scale on the Splash, one thing I found with Houdini FLIP which is common in all Fluid Implicit Particle Solvers is that the fluid can be come very stringy even without using viscosity or surface tension. I used droplets enabled in the sim as it creates more of the water drops IE Droplets as you can see which adds a lot more realism to the sim and final shot, Its easy to go a bit overboard with droplets though, you've got to consider meshing them.

Houdini FLIP WhiteWater Sim In Progress (Spray and Foam)

My Inital plan was to Sim WhiteWater but due to not been able to Export it to an Alembic file through Alembic ROP, Houdini Apprentice supports no exporting I was not able to. However I plan to if I get time export it through PRT and use Frost in Max to create lots of small spheres/Tetrahedrons its nearly as fast as VRay Alembic Proxy as it only creates the meshes at RenderTime.
 Frost Meshing WIP (To Be Lit By a HDRI through V-Ray Dome Light)
Example Of Using Lots Of Small Tetrahedrons To Create Spray that can be rendred in VRay

The Meshing of the Main Fluid was done by exporting to the amazing PRT ROP and using Frost to mesh with the Zhu/Bridson meshing, I tried to avoid been to blobby but did not want to webby fluid at the same time, I used some radius threshold to cut off some clumps of mesh that did not look nice, No Radius by Velocity though, I need to try it soon! I use a basic Slice to cut off the bottom of the mesh, Note this does NOT mess the Velocity Data up. I extracted the velocites through Magma Flow/Krakatoa and rendered them to an Extra Tex nap using a Vertex Colour Map.
Then this was added to a Refraction pass to create the WhiteWater/Bubble Refraction when water moves at high speeds. Rendered in V-Ray with basic Global Illumination.

Render Comps and Flipbook ( Final, Flipbook, Velocity,Beauty)

Before and After Velocity Shading (This Render has a SeaBed Refraction I was testing also)

While doing this little project I wanted to work on my Water Shader a bit more as I have some possbible large scale water jobs coming up in 2015 and I wanted to get that SubSurfaceScattering Look with using SSS. I started using not so accurate shaders to get more Attenuation which is depth in the shader so you can see objects underwater from the surface, I now use a lot lower IOR (Index Of Refraction) and a bit more fog which creates a much more realistic attenuation affect. The IOR of water in reality is around 1.33 or 1.34 depending, however my aim is to get nice looking shaders for VFX Rather than physically accurate shaders. I also found Bright Coloured Objects are much more vulnerable to the depth affect than darker objects, also its hard to get the attenuation on Fluid Mesh than on a simple plane due to the added faces of thickness, however I do cut my fluid down using Slice in 3DS Max. I did play with SubsurfaceScattering also, its quite quick on my machine, but when you start getting into complex sims it can be 5 times slower and its not really worth the wait right now. Also to Note, I had to manually place a cross matching the anim of the Houdini Cross in Max again due to Houdini Apprentice not letting you export anything, but it was pretty easy to re match to the Fluid Mesh, and then add the Greeble Pattern/Displacement!

Final Sim/Render Info, Also Ocean Shader RnD

Thanks for Looking! Heres a Sneak Peak of my big RealFlow Project in Production right now! Its nicknamed the "Space Pyramid Rise Shot" again trying to push my VFX Skills to the max! PS Check out the Heart Of the Sea Trailer 2 by Ron Howard for some amazing Fluid Sim VFX Shots coming next year, Think Giant Whale Vs A Ship, now thats exciting!!

Happy New Year- Niall

Friday, 12 December 2014

My Final 2014 FX Reel

My Final 2014 FX Reel is online! Final 2014 Reel

Thanks for all the support this year, its been a great year of VFX, from working on WarThunder for Platige Image, and then Ghost VFX, aswell as working on amazing Personal Projects, and ending the year on an ambitious one man FX Project! I hope to work on a project over the Christmas Break, and more ambitious personal projects in 2015, aswell as some amazing FX Jobs. So Happy Christmas and Have a great New Year! See you in 2015!!

Thanks a lot!- Niall

Friday, 5 December 2014

Turbine Engine Explosion- Personal FX Shot

Hi Guys,

For the past 2-3 weeks i've been working on a main test shot for a project (Cant Say What It Is!) but while waiting for sims and renders from that I started working on this Personal FX Shot. This shot has nothing on Wetas Amazing Shot from the Avengers but I did use that for Reference of the smoke trails! This shot I started on quite a while back with the scene setup, so having the free time to finish this was great, also my End Of Year 2014 reel is currently a WIP so this will be on it!

The Setup and Modelling was done in under a day, the model of the engine is a basic Cylinder with some rotors, and ladders on the base of the engine, then the actual outer body is just a box with some basic extrusions to look like a spaceship wing, and the Engine fits inside of it. The base Models were under 2000 Polys, the detailing was all added with the Amazing Max Modifier, Greebele. There is actually destruction of the engine, however you dont see it as the explosions covers it, but I put quite a lot of detail into the Tubines breaking which switich from a normal turbine to a broken one over 5 frames, then I use some PFlow Debris exploding, and I even added in some internal wires sticking out of the broken turbine. After the Setup was done, I did a basic annotation of the explosions I wanted in the engine. I did do some tests using RayFire to do RBD sims of the Turbine breaking, however these were not working so well with the Greeble Meshes, In the end I manually keyframed some chunks of the rotor/turbine to fly higher than the main debris.

Early Annotation I did For Explosions and Smoke Trails/Streamers
The Final Engine Model with internal details and debris.

Next was the FumeFX Setup, I knew from the start I was going to need multiple grids, I wanted to keep the Main Explosions in the same Grid so they could all interact and have diffrent smoke colours with Colour Caching, I also Knew I wanted to do this for the secondary Explosions. However I ended up with 4 grids. The Smoke and fire trails shared the same grid (A very big grid). The Fireball explosions are just basic PFlow Icon emissions that delete after a few frames, I always find trying to get more varation in the Particles speeds helps, but then to much will spoil it, and you end up with the well known "Bubbly Fire Look".  I played around with animating the timescale a lot, I didn't want a super fast explosion becuase I really wanted to see the fiery detail mixing with the smoke, but I didn't want a slow explosion as then the shot feels less engergtic like theres less energy from the explosion. For the smoke trails, I used a PFlow Spawn setup to and kept the trails trailling for around 6 frames with some variation, therefore the smoke trails are quite well definied, for the fire trails, they are again a PFlow Spawn setup, however they delete within 2 frames and have very short trails, these trails and then used for the fire which genreates the smoke through temperature rather than just emitting smoke. I did plan to use Afterburn for some even bigger smoke shooters/trails that would be pointless siming in Fume as the grid would need to be huge, but the I relaised it was not going to work well as the camera is so close towards the explosions you wouldn't hardly see them.

Trails Grid, Early Sims

Becuase the camera by frame 100 is just outside the Fume Grid and we are so close to all the Fume grids throughout the shot, all the grids were sim'd at quite hires and even with optimization in the stepsize and multiple scattering, the render for the Fume beauty pass took over 15 Hours. However I did over 50 iterations on all the Grids aswell as multiple previews, and test renders before setting off the final beauty pass. The Multiple Scattering that was casting on each others grids increased that time even more, but well worth it for realism. One Thing to note is that the Greeble was not sim'd in Fume as the Geo Collisions, it was only enabled at render time, siming Greeble Collisions on the Voxels would of been a nightmare and pointless.

 Just some of the Highlight Fume Previews^
A Test Render of The Trails Grid, Too Much Small Scale Turbulence

The Clouds were done in Afterburn, I talk a bit more about the setup for Aburn Clouds below in my Horrors Of The Skies Write up. Its hard to get nice detail without doing Fluid sims, however I wanted to stay in Aburn so I used a basic Plane, then used edit poly and soft sel to define the lanscape of the clouds, I then scatter particles on it through PFlow, only around 2000 and used ABurn with a lot of turbulence to get cheap detail and only one main Sunlight, aswell as using ambient light to fake the scattering. Aburn does not work well, using lots of particles, you really have to use less particles bigger sphere scale, which gives you a lot less control over the shape and size. I knew there would be a lot of comp on the clouds so I got them looking as best as possible matching the skydome and lighting.

Aburn Clouds Setup.

All the FX passes were done in Scanline, the Geo of the engine and debris was done in V-Ray, I used a HDRI in a V-Ray Light Dome for the main lighting, but then some standard V-Ray Lights for the sun and a bounce light underneath the engine. I had horrendous flickering issues due to the Greeble density, in the end I had to bite the bullet and use really high samples/subdivs, and any flickering that was left, I hid with Motion Blur. For the Fume Shadows (they were faked in comp with a 3D Solid expanding over the Engine), The FumeFX GI was rendered through V-Ray.

I created Basic Metal Shaders, from Diffuse, Spec and Bump Textures 
I really wanted the Lighting/Rendering to look Spot On!

The Composting was mostly spent on getting the Fume and Aburn passes to fit well in comp, making sure they looked like they were in the sky, using Tint and Curves aswell as Hue and Sat to get them to fit into the SkyDome Render. Ofcourse there Lighting was matched to the Skydome, but you never get working Renders straight from Max! All the Camera Shake was added in Comp using Wiggle Experssions and Keyframes. Lots of Extra motion blur to cover up the flickering also. For the Fume Renders Compositing I did not use any Glow, instead I use Hue and Sat to take a lot of the yellow saturation out, and then relied on a Lens Flare for the glow, The Fire shader I created was working well without Glow and I did not want to totally whiteout the fire, even though in reality with a cameras exposure it probably would whiteout.


Overall I am happy with this shot, I would really like to re-do it well not redo but do a V2 trying to match the Actual Avengers shot and match Wetas Explosions exactly, but I have a lot lined up right now aswell as working on my Reel, I talked about learning Thinking Particles so some of my RnD from TP will be coming soon. I also have a really big Client test shot in Production which for now is confidential but I will be able to show it once its done!


As Always Thanks For Reading!- Niall