— Vanilla Box Blog

XSI_ICE_TW_ConstrainNullToSurface_01

It’s been a while since I’ve used ICE, but on a recent project involving lots of Alembic caches I thought it would be nice to be able to augment baked geometry. In 3dsMax the attachment constraint is perfect for this, but in Softimage there isn’t really anything similar.

Needless to say I didn’t get this implemented before the project was finished, typical. Anyway, now that project is done, I’ve made an effort to finish it.

To make this work, simply add the compound to a null, link your geometry to said null. Input the link to object name, and the polygon number you want to attach to.
Note: When working with kinematics in ICE. One very helpful tip (thanks to my co worker Simon Reeves for this one) is adding a key at frame 1. So when, as is normally the case, the kinematic tree gets ‘dirty’, Softimage can then work out where the null was originally, then re-apply the ICE kinematics. This saves, removing the ICE execution, zeroing and re applying it.

This compound works on quads, and Tri meshes, normal keyframed objects, and critically for me, imported alembic geo.

XSI_ICE_TW_ConstrainNullToSurface_02

XSI_ICE_TW_ConstrainNullToSurface_03

XSI_ICE_TW_ConstrainNullToSurface_04

How it works:

If anyone is interested in how this works, you can of course open the compound.

But in short I create all the matrix transforms in a temp pose, then apply it in one go at the end. It starts by grabbing the polygon position, this becomes the snap transform. Then I get the polygon normal, and multiply it by the matrix rotation only, of the attach object. Then using the snap location, closest location will give the point ID’s of the polygon I’m attaching to. I then use two of these to find a poly orientated axis. Cross product this axis with the polygon normal, and you get a rotation matrix.

The trickiest part was working with an ice tree on the local object and referencing another object. Once the current null moves you cannot do any more computations, as you have the attachment object global position and the null objects new location, which causes problems in the kinematic stack. So you work everything out once, then apply the kinematic once.

A big issue I found was grabbing the normal off attachment object. If you use multiply by matrix on the normal, you get a distorted normal that is pushed from the null’s zero, to the attachment object. Thanks again to Simon, I use only the matrix rotation in the multiplication, and ignore the rest.

Scale is not supported, but if you need it, it could be added easily.

Download:

TW_ConstrainNullToSurface 1.1
TW_SnapToSurface_Example

Read More


A little animation using my finished Mini Cooper. Still a few things not quite right, but it’s time to archive and move on!

Read More

Brugge has to be the prettiest town I have ever visited, without a doubt.
Over the past few years we’ve been around the block quite a bit, to far flung places all over the world. Little did we know that Brugge was only 3hrs away on the Eurostar.

The little gothic town is like an espresso shot of coffee, tiny, but packs an almighty punch. As the crow flies you can walk from one side to another in 30 mins, but every corner you turn there is something waiting to be gawked at, my camera stayed stuck to my eye for hours.
You can spend days just loitering along the canals, bridges and alleyways, and I’ve never been to a town with so many gothic churches crammed into such a confined space.

Overall it’s one to put on your bucket list. London to Brussels 2hrs, Brussels to Brugge 1hrs, why are you still here, go now.

Bruge_01 Bruge_02 Bruge_03 Bruge_04 Bruge_05 Bruge_06 Bruge_07 Bruge_08 Bruge_09 Bruge_10 Bruge_11 Bruge_12 Bruge_13

Read More

Ghent was a very pretty town too, bigger than Brugge, but very similar. More industrial and built up,  it still had charm.

Ghent_01 Ghent_02 Ghent_03 Ghent_04 Ghent_05

Read More

A few photos from a long weekend in Belgium. We visited some family in Bruges, and on the way stopped at Brussels and Gent.
Belgium is a fascinating place, full of history at every turn of a corner. At some points I wasnt sure which way to look, with jaw dropping architecture littering every spare millimeter of lense space. Bring a spare memory card! Well worth a visit.

Brussels_01 Brussels_02 Brussels_03 Brussels_04 Brussels_05 Brussels_06 Brussels_07 Brussels_08 Brussels_09 Brussels_10

Read More

A little visit to the hills surrounding Hastings. Great views of the sea, and an opportunity to push some photo exposures to the limit. Not great shots, but trying to manipulate them in the raw format.

Firehills_01 Firehills_02 Firehills_03 Firehills_04 Firehills_05

Read More

Cooper_Front_v001_SM
Well it’s finished at last. I modelled this last year during a little break from work. Finally added the last touches to the textures and shaders. It’s taken far too long between ‘real’ work, and I’m glad to be shot of it!
Modelling was done in 3dsMax, and shading and rendering Softimage XSI and Vray. Thanks to Analog Studio for letting me use the software/hardware to get it finished off and rendered.
Oh, and no post work in photoshop, just the background gradients and grain.
I will now attempt to render a turn table and some closeups etc. Watch this space….if my work pace on this so far is anything to go by, maybe next year?
Cooper_Back_v001_SM
Cooper_Ortho_Front_01_SM
Cooper_Ortho_Side_01_SM

Oh, and here is a wireframe, incase you all couldn’t believe It wasn’t a photo, haha yeh right!

Cooper_Front_Wire_v001_SM

Read More


Here’s my latest reel of work last year. With a few older ones still in there.
Work will have been produced whilst at Analog Studio, Nexus Productions, Picasso, and The Neighbourhood.
Using Softimage, 3dsMax, and probably Vray.
A full breakdown is available on request

Read More


Creative Agency : HarrimanSteel
Agency Creative Director : Julian Harriman-Dickinson
Agency Senior Creative : Tom Austin
Agency Design Team: Doug Stewart, Thomas Humeau & Charlie Patterson
Agency Producer : Sam Goldthorpe
CGI @ Production : Analog
Music & SFX : David Kamp

Nice little ident I worked on at Analog. I started off organizing many of the assets, then doing a little shading. Animation of all the little pieces dotted around. I also painted up some the frames to add the dirt and weathering in Photoshop.

Read More


Here’s a little animation I did for a Lily Allen video a few month’s back. Created with lots of morph targets.

Also here’s an animation test I did for ITV.

Read More