VFX Breakdown: WW1 Battle Field

Posted on: No Comments

We had two live action elements for this shot, a dirt explosion and some dark billowing smoke. Some burnt trees were also photographed.

The rest was cobbled together from stills projected through a camera onto a ground plane and cards.

The ground plane has some procedural displacement to match the hills and valleys in the comp.

The camera shake is animated using TCL random expressions whose amplitude is an animated Nuke nob.

VFX Breakdown: Avalanche

Posted on: No Comments

One of the major shots for the season, we had one artist on the avalanche R&D for a month. Another artist worked on some smaller particle and fluid interactions.

Another artist was on the plane animation and mountain ground plane modelling.

I comped all these passes together for the most part using luminosity values of the avalanche to mask the plane.

I also had to re-project the matte painting of the plane’s skid marks through the 3D animated camera to integrate it with the background plate.

VFX Breakdown: Ice Shacks

Posted on: No Comments

This shot required the addition of a few ice shacks into the plate.

From stills taken by the supervisor, I made 4 unique shacks – one for the foreground and 3 for the background. The shacks are graded to match the plate, adding in light leaks and highlights.

To tie everything in, I added some haze using fBm noise. I created the falling snow using particles applying the alpha channel to a gradient so that the flakes are light over the dark sky and dark over the light snow.

Add camera shake and done.

mrender: sendToAvconv 2014 update

Posted on: 1 Comment

It’s time for a new version of the sendToAvconv that takes into account the -start_number flag and xterm (two options that came out of comments from the last update from 2012).

Now called mrender, I add this to the afterRender callback in Nuke write nodes to send a subprocess call to avconv (or ffmpeg) and render a Quicktime. This is primarily meant for linux distros which don’t have great gui options for converting image sequences into movies.


This update no longer requires image sequences output from Nuke to start at frame 0, or 1.

You can set xterm to show the output under the configuration options (request).

And if you have ffmpeg installed instead, you can set that to default


Remote Access over SFTP on Ubuntu 14.04

Posted on: 2 Comments

Today, I wanted to allow a remote user access to some files stored locally.

All together, it was about 8GB of files and I didn’t want to use any large file transfer websites.

Allowing SSH access on your LAN  is one thing, getting it working safely for a standard remote user is another. I wanted the user to have access to only his home folder.

  1. If you haven’t already, install ssh
    • sudo apt-get install ssh
  2. We are going to allow access based on user group, so lets create a new group for remote users.
    • sudo groupadd sftp
  3. Create a remote user and add them to our new group. I set their home folder to a secondary drive (but their home folder can be anything).
    • sudo adduser --home /media/storage/remote/username username
    • sudo usermod -aG sftp username
  4. Set the correct permissions on the remote user’s home folder. For the remote user to be restricted to their home folder, every directory above their home folder must be owned by root. We do this in step 3.
    1. sudo chown root:sftp /media/storage/remote/username
    2. sudo chmod 750 /media/storage/remote/username
    3. sudo chown root:root /media/storage/remote/
    4. sudo chmod 755 /media/storage/remote/
  5. Edit our SSH config
    • sudo nano /etc/ssh/sshd_config
      1. Enable SFTP only (don’t allow shell access)
      2. Deny any users we know shouldn’t access remotely
        • DenyUsers johndoe
      3. Allow our sftp group created above
        • AllowGroups sftp
      4. Add specific settings for this group. This has to go at the end of the sshd_config
  6. Test output
  7. Restart ssh service

If you wanted the user to have write permisions, create a subfolder of /remote/username/writable and chown username:username
Lastly, Ensure your router forwards port 22 to your LAN IP. And don’t forget to open part 22 incoming on your firewall.

Spherical Pianos

Posted on: 1 Comment

While designing an album cover for Peter Jones’s next album, some interesting images arose from photographs of the insides of grand pianos and the polar coordinates filter.

Ubuntu mimetypes

Posted on: No Comments

Opening an unknown file type into a new default application is a bit of a pain in Ubuntu 13.10.

For example, getting .nk files to open by default in Nuke isn’t as obvious as it should be. Nuke uses plain text files with the .nk extension and always associate with gedit.

Ubuntu’s wiki page on adding mime types offers two solutions:

  1. modifying  /etc/mime.types
  2. add xml files in /usr/share/mime/application

Unfortunately, neither worked for me, for whatever reason. Option 2 however included the xml file information which was useful.

In the end, I used xdg-icon-resource and xdg-mime successfully.

With the Nuke for example:

install icon

install mime type

restart nautilus

The application-x-nuke.png  is just the launcher icon.

the mime type xml in the second step looks like this

More details at stackoverflow

client denied by server configuration error after upgrade to Apache 2.4

Posted on: 1 Comment

After an upgrade from Ubuntu 13.04 to 13.10,  my Apache virtual host configurations were returning a HTTP Forbidden error.

With the Ubuntu upgrade, I was now running Apache 2.4.6, which had a few changes made to access control.

The relevant one here was the move from  Allow from  to Require all .

Thanks once again to stackoverflow.

Importing VFX Plates with reference MOVs

Posted on: No Comments

This is an update to my previous post on using bash to shuffle files around into named folders.

The additions in this script take into account editorial giving us a reference Quicktime that should be filed accordingly.

Additionally, the script now takes an argument that is the folder to process. And prints the progress to the terminal.