GDC and a Height Blending Update

General / 02 April 2018

Hi everyone! The awesome folks at Allegorithmic gave me the chance to talk at GDC with them. It was quite the ride but a lot of fun, I can't tell you how humbling it was to go and stand among the kings that are Daniel, Josh, Tommy, Steve and of course the Substance developers. It turns out I made a few blunders in my live demo of the height blending node, so this post is in part to address that and in part to provide a public forum should anyone have questions about the talk. So spread the word of this update if you cant get the height blending node to work! There is also a bit of ramblings about my experience if your interested.

You can watch the talk here

TLDR: I missed a key step in my gdc presentation demo, the image below is everything you need to know.


I think I can comfortably say this was one of the greatest but also hardest trips I have been on. I very nearly didn't make it to San Francisco (a number of times) and eventually had to cut it short. Unfortunately the week before, I came down with the flu and some 10 hours before I was due to fly it had developed into an ear infection. This ended in taking a trip to the hospital and canceling my flights =( To say Allegorithmic and Machinegames were supportive would be a gross understatement. Considering how stressful it is to organize something like substance days, let alone at GDC, my last minute cancellation must have been awful. Alexis Khouri from Allegorithmic was incredible and I owe him a lot! He not only offered me new flights but also worked throughout the night to find an alternative way for me to deliver the talk in the event I could not make it. I was diagnosed with Acute Otitis in both ears and if you have any experience of flying with ear infections, you know its not pretty. The doctor was amazing though and prescribed me all I would need to be able to fly the next day. Between late taxi's, side effects and some VERY secure airport security, I did eventually make it to San Francisco. The plane journeys sure were uncomfortable, but thankfully there was no pain!

Meeting the folks from ILM, Allorgithmic, Daniel and Josh was incredible and definitely the highlight for me. I really enjoyed presenting the talk and being able to represent all the talent at Machinegames was a true honor. Seeing a room packed full of people excited to see something you have poured your soul into is a feeling I can't describe. Thank you all who came to see the talk, I hope you enjoyed it! I did make a few mistakes, but aside from the ones above, the rest will stay with me ;) I can only apologize for the questions at the end though. Between the terrible echo from that side of the room and my stuffy blocked ears, I just couldn't hear people properly. Sorry! I hope I managed to answer your questions correctly.

Come Wednesday, I was out. I think all the medication, jet lag and adrenaline just caught up with me. I ended up staying in the hotel the entire day resting. The following days were not much better either and by Friday I booked an early flight home. Annoyingly, after purchasing my tickets the re-seller made some fraudulent claims on my card meaning I had to block it. This meant the only money I had access to was the cash I had on me! So official warning, stay away from Luckily Josh Lynch saved the day, ordering my taxi and offering to fund anything should I need it. Lessons learnt, take more than one card with you!

Regardless, I did manage to pick up a nice shirt and hoody (and some random cats). I even got a signed copy of Wes's new PBR Guide! How cool is that?!

This was a roller coaster for me, but despite being a bit under the weather, was one of the best experiences of my career. Everyone bent over backwards to help me, especially Alexis Khouri and Josh Lynch, so thank you guys, I am sorry to have missed most of the event and not get to meet everyone, but I am grateful to have been part of it.

Hey First Blog - Lets talk stones

General / 30 January 2018
Woo first blog post, heres what I'm working on.
I have been trying to solve scattering stones that do not clip into each other and been developing a node to hopefully handle this. It at a stage now to show, so here is my progress so far. It's designed to layer with itself, building up to more and more complex forms and below are some of the settings available on the node.
Lots of images ahead so get ready to dig in!

Lets start with a simple scaling control:

As well as how many:

You can vary how ordered the stones are:

But you can also plug in a noise to control the shapes:

Now lets look at shape controls for the rocks, lets make them sharper with an inflate:

Or soft:

You can control how round each stone is:

Increasing this variable will retain more of the original stone shape, and keep the rounding to the sharp corners. Here we have an intense rounding value, but notice how the it still tries to push the shapes back out.

Ccontrols for cutting facings into the stone:

How many facets:

And an intensity control:

If you want some quick surfacing detail:

Or flatter shapes:

But this is the fun part. If we connect two layers together, the stones will dynamically scale down to reduce clipping. Here we have a second layer blending in but notice all the clipping! When we plug our mask in, the stones behave much more contextual and clipping is reduced:

We can however, control how much overlapping to allow. Notice here the stones get bigger the more overlapping we allow for:

If we connect our height data too, its possible to cull stones away in clusters:

But how do we color this I hear you ask! Well I got you covered there too. It also generates position data for each stone and using that, I can sample a color for each stone.

And here is an example with 4 layers:

I haven't put this thing through its paces yet, will be trying it out with some proper use cases in the future but I feel like I'm making progress!