Avengers: Age of Ultron

May 13th, 2015 . 0 comments

Avengers: Age of Ultron is now out in the cinemas, including a sequence that a small team of us at Animal Logic worked on for about nine months. We were responsible for the ‘Birth of Ultron’ sequence, creating the Jarvis and Ultron characters’ hologram representations in Tony Stark’s lab, and also the ‘cyberspace’ sequence where Ultron becomes self-aware while searching the internet. The process of creating these was highly creative and interesting, and I’m happy to have had the chance to take responsibility for so much of what was shown on screen, from the months of design development through to the final animated imagery. There’s a bit more info in this article on fxGuide and this interview with SideFX.

Jarvis&  Ultron


Laplacian Growth

February 4th, 2015 . 1 comment

The two above pieces are some sculptural objects I’ve produced for an exhibition a friend of mine runs every year. They’re the result of some ongoing work and research I’ve been doing into generative techniques for modelling and growing organic objects – in this case, coral. The objects were designed using a directed laplacian growth process, then 3d printed and cast in brass.

The video below shows the progression preceding the final forms.

They’re currently on exhibition and available for purchase until Feb 23 at Art By Design 10, Wedge Gallery, near Books Kinokuniya, L2, The Galeries, 500 George St, Sydney.

Jurassic Park Terrarium

December 22nd, 2013 . 0 comments

I just finished making a terrarium for Kat’s birthday. It’s an homage to her favourite scene in Jurassic Park when the lawyer gets eaten on the toilet. I was able to pick up a plastic dinosaur from the Australian museum, and some architectural model making supplies for the destroyed toilet structure, but I wanted to make it accurate, so used 3d printing for the lawyer on the toilet. I’m not a great modeller/sculptor, but at the size it was printed, I could get away with a pretty rough digital sculpt to generate the STL for printing. It’s a repurposed version of this toilet combined with a modified old human base mesh I made years ago.

Once again I used Rapid Prototyping Services in Sydney for the print – the level of fine detail and quality was impeccable, unfortunately a bit masked by my dodgy paint job with too many layers of undercoat. You can check how well it fares against the reference.

926939_267741380043724_1916669816_n 1516214_726143504064709_1291953995_n1530666_1443722015846605_1143436244_n

digital sculpt

The Lego Movie

December 4th, 2013 . 2 comments

Last week I wrapped on The Lego Movie, produced at Animal Logic in Sydney. It was tons of fun to work on with lots of unique challenges for us in the fx department. It’s also really surprised me, becoming a much better film than I initially imagined. I’m looking forward to seeing it when it comes out next year, until then here’s the trailer:

Tile necklace

December 28th, 2011 . 4 comments

I made another piece of jewelry for Kat‘s birthday last week – I thought I’d experiment with making a necklace rather than a ring like last time. It’s 3D printed and cast in sterling silver, and sits in three parts. Originally the idea was to have the arrangement customisable so they could be re-positioned along the chain, but in the end only a few combinations hang well in practice. Doing it this way, as opposed to a pendant, is much more complicated than I imagined and will require a bit more experimentation and prototyping if I attempt it again in the future.

The design is inspired by an islamic tile pattern that we saw recently while travelling in Turkey. I modelled it in Houdini by first procedurally re-creating the tiling pattern, then randomly breaking it up and distorting the pieces with some final detailing and bevelling. The final form was chosen by spending a while experimenting with different random seeds and noise offsets to find something that worked aesthetically. I then brought it into Blender for final tweaks, cleaned up the geometry to be watertight, added sprues for ease of casting, and exported the STL file for the print service.

procedural jewellery

December 23rd, 2010 . 1 comment

It was K’s birthday recently, and this year I wanted to do something a bit different for a present. I’ve been getting more familiar with Houdini lately, and thought it would be a good exercise to use it to design a ring, to be rapid prototyped and cast in sterling silver. I was aiming for something geometric with a hint of art deco (which she likes), and I also involved random elements in the production, so the end product would be something quite unique.

Houdini was great for this, I tried to keep it as procedural as possible, giving lots of room for experimentation. The final model was brought into Blender for some more detailing, and export to STL. The printers (rapidprototype.com.au) did a great job, the cast ended up looking great with very well resolved detail in what is a very small piece. I made a little video below showing some of the sop network in Houdini.

exhibition, kinokuniya sydney

October 19th, 2010 . 2 comments

For the last 6 years or so, a friend of mine from uni has organised ‘Art by Design’, an annual exhibition in Kinokuniya Sydney’s Wedge Gallery. This year I thought it would be fun to enter something in as a good motivation to take a break and produce something outside of commercial work.

I entered an illustration – a bit of fun, looking at the excitement of the early era of flight. It was produced with 3D renders mixed with a bit of digital painting over the top, and was actually more of a challenge than I thought, having to get back into doing the entire process (character modelling/posing) rather than just the lighting/shading as I’ve been doing mostly exclusively for the last few years.

The show is on until Nov 13 at Kinokuniya in The Galeries, 500 George St, Sydney.

quick gecko tvcs

June 8th, 2010 . 5 comments

Recent jobs – quick lighting/setup on a couple more Bridgestone Gecko TVCs in blender 2.5:

gecko on fxguide

November 4th, 2009 . 0 comments

Just came across a ‘quick take’ article about our Bridgestone Gecko work on fxguide: Bridgestone by RedCartel.

Klaas Vaak

October 10th, 2009 . 6 comments

We recently finished a cg sequence for ‘Klaas Vaak’, a European children’s TV show. The show’s about the Sand Man (Klaas Vaak), who tells stories and illustrates them with sand drawings, and it looks really fun. We did a 30 second intro sequence and 10 second end credits sequence. The character’s owned by a large theme park, Efteling, and as I understand, some of this stuff will be constructed in real life at the theme park – very cool.

As usual, I did lighting/shading/comp, and some modelling and fur work too. Jeremy Davidson did most of everything else – animation, rigging, particles, etc. In general it went pretty smoothly, although some of the bigger shots full of trees and houses caused some headaches with the amount of geometry. Especially since at the start of the project we were using 32bit systems to render, though we ended up moving to 64bit midway. Only the first few visible ‘layers’ of trees are geometry (well even still, geometry with branch alpha mapped image textures), but after that, much of them are either image planes with baked colour/normal/alpha maps. All in all though, I’m pretty happy with how it turned out.

gecko tvcs

May 27th, 2009 . 1 comment

Some recent Bridgestone Gecko TVCs @ ProMotion. I did shading/lighting/comp.

lighthouse / tornado

January 24th, 2009 . 2 comments

Last week I went to see a few sessions of the 2009 Sydney festival called films afloat, a free outdoor film screening on a massive screen floating out in the middle of Darling Harbour. Before the main feature (each night a different movie, with a soundtrack played by an improvising live band!) they showed the finalists of the animation competition, which our short ‘Lighthouse’ was included in. We ended up coming second in the competition, which was nice, but even better just to have it shown outdoors in front of a few thousand people in such a great atmosphere.

At work we also published a project we finished late last year, which was our first production use of the volume rendering tools I’ve been working on. It’s just a couple of shots, produced for an internal corporate video involving a hallucination sequence where a worker gets ripped out of his cubicle by a tornado. It’s a bit silly, and may not be the greatest vfx shot known to man, but it was fun to do, and good to give the rendering tools a good hammering in a practical context. There’s a bit more info about the process in this blenderartists thread.

Radiohead / point density

January 11th, 2009 . 9 comments

I’d heard before about Radiohead’s House of Cards video, made entirely from 3D laser scan data. Yesterday I found out that some of the point cloud data files were made available to download from Google under a creative commons license.

So I did a little test reading it into Blender with a quickie Python script, and rendered it as a volume, using the ‘point density’ texture, in the sim_physics branch. You can

download the .blend file including the script.


November 30th, 2008 . 5 comments

It’s getting to the end of the year and things are getting busy. There’s been plenty on at work – quite a few projects have been running concurrent for a while, including a new Bridgestone gecko spot that’s out now, and the still in-progress project I’ve been working on the volume rendering for.

We’ve been getting around a bit too, four of us headed down to Melbourne in October to attend the first ‘Melbourne Blender Society‘ meeting. We gave an informal presentation about some of our work, much of it involving character setups, and then headed out for some ‘beer r&d’, meeting some fun and interesting people (Hi Glenn, this only took a month ;).

Jez, James and I also gave a presentation at the Digital Media Festival in Sydney , on the topic of ‘an open source pipeline’, talking about our use of Blender in production. Some of the parts that interested the audience of mostly 3d/vfx/design people most were existing features like the library linking system, but also the ability for us to do custom development, such as contracting the ocean sim tools for the Lighthouse project. I also showed off some work on the volume rendering too 😉

The volume rendering tools are at the point now where it’s going to give acceptable results given the timeframe. Although it’s still lacking a bit in some areas right now that aren’t a priority for this job, for my purpose it’s going pretty well. Raul has now picked up this code to work with too, and I’m looking forward to seeing his implementation of voxel data sets. A couple of the improvements I’ve made since last time posting include:

  • Particle rendering

    There’s now a new 3d texture called ‘point density’ that retrieves density and colour information from point clouds (either particle systems or object vertices). It uses a BVH tree to store the points, and looks up what points are within a given radius of the shaded point, with various falloffs. It also has a few methods for simple turbulence, adding directed noise to give the impression of more detail. It’s also possible to use this texture on solid surfaces too.

  • Light Cache

    In order to speed up rendering of self-shaded volumes, there’s a new option to precalculate the shading at the start of the render into a voxel grid, which gets interpolated later to generate lighting information, rather than shading the lamps directly. You could make the analogy to raytraced occlusion vs approximate occlusion in Blender – it often gives around a 3x speed up with similar quality.

  • A few other small things such as internal and external shadows, anisotropic scattering with various phase functions, integration with the sun/sky system, and various fixes.

Kajimba‘s also rolling along nicely. We’ve released several more animation tests with audio (and plenty more sill in the pipe), the voices for the first episode have been recorded, and the animator dudes have started working on lipsync tests to begin some animation on ep 1 soon.

And on it goes…

volume rendering updates

September 24th, 2008 . 15 comments

Luckily, I’ve been able to work full time for a while on the volume rendering code, as part of budgeted R&D time at work. Since Monday I’ve made a lot of progress, and have been committing code to the ‘sim_physics‘ SVN branch, maintained by Daniel Genrich.

I’m actually quite surprised at how quickly I’ve managed to come this far, I guess I can attribute it partially to the clear design of pbrt, which I’ve used as reference for the fundamental structure. So far, I’m getting close to having it at a reasonably well integrated state with the rest of the renderer. Perhaps tomorrow it’ll be at a state where particles could be rendered by just instancing spheres at each point.

Some of the changes so far include:

  • Fixed the shading bug I mentioned earlier, due to a limitation in the raytrace engine (before, after). Now shading works quite nicely.
  • Added colour emission – as well as the overall ‘Emit:’ slider to control

    overall emission strength, there’s also a colour swatch for the volume to emit

    that colour. This can also be textured, using ‘Emit Col’ in the map to panel.

  • Cleaned up and clarified volume texture mapping, fixing the offsets and scaling, and adding ‘Local’ (similar to Orco) mapping, alongside Object and Global coordinates
  • Added colour absorption – rather than a single absorption value to control how much light is absorbed as it travels through a volume, there’s now an additional absorption colour. This is used to absorb different R/G/B components of light at different amounts. For example, if a white light shines on a volume which absorbs green and blue

    components, the volume will appear red. This colour can also be textured.

  • Refactored the previous volume texturing code to be more efficient
  • Worked on integrating volume materials into the rest of the renderer. Now other objects (and sky) correctly render if they’re partially inside or behind a volume. Previously all other objects were ignored, and volumes just rendered on black. The colour of surfaces inside or behind the volume gets correctly attenuated by the density of the volume in between – i.e. thicker volumes will block the light coming from behind.
  • Enabled rendering with the camera inside the volume.

Correct shading and absorption

Shading with two lamps

Shading within clouds density texture

Textured (with colour ramp) emission colour

Example of various absorption colours

Textured absorption colour

Objects and sky inside and behind volume

Shaded concave volume

Camera passing through a volume


September 18th, 2008 . 7 comments

This week, it’s been very exciting to publicly show a project that’s in the works for some time: Kajimba. It’s a CG animated comedy series for mature audiences (though not pornographic!) about a ragtag bunch of animals in the distant Australian outback, hanging out at the only pub for thousands of km. Kajimba has been in progress in-house at ProMotion since before I started working there, but in the last year has finally gathered momentum, going from what was originally a concept, some sketches and a few early character models, to now, where we’ve done a good few minutes of rendered character animation tests, and production on the first (out of 26 slated) 5 minute episode has begun.

At the present, it’s self-funded by the studio, so it’s taking time to develop alongside other paid work. The benefit of this is that we can do what we want, which working out great so far. It’s not certain how the episodes will be delivered, whether it gets picked up by a TV network or if we’ll try something different. At this stage, we’ll concentrate on getting a first episode done and see how we go from there. It’s a great concept, very aussie, and very exciting. We should hopefully have some first voice recordings happening soon along with more and more images and animation tests coming down the wire so keep an eye on the blog and check on our progress!

Where Am I?

You are currently browsing the Art & Design category at Matt Ebb.