Tag Archives: work in progress

Dance cocky dance!

It’s been 6 to 12 August 2017. I made some progress on Shot 3 and cocky is now dancing!

In my head this sounds like “AAAAAA-ZWHOOSH FWSHwhshwhsh. (beat) .. AAAAA! woobh-woobh-woobh-woobh..”

In terms of timing and action beats, this shot feels good to me. I’ll polish up the animation and maybe fiddle with the materials a bit more before I render it out, and then it’s onto shot 4.

This is my phone background now. It can be yours too!

I wanted to produce AAAAAAAAA on a two week schedule per shot, but that momentum is hard to maintain alongside the modular synthesiser stuff, getting an adequate amount of downtime from the day job, etc. I’m still doing a ton of things by hand though – rigging/skinning, materials, modelling, etc. There’s almost certainly some workflow wins to be had by using resources that already exist. Rigging and materials in particular come to mind – it’s not like I haven’t got Blenrig and Cycles Material Vault sitting there idle. Something to look into!

That’s all from the world of AAAAAAAAAAAAAA this week. (Truly, any amount of As more than eight is fine.) For synthesiser-related bits, stay tuned! 🙂

Zip it good!

It’s been 9 to 15 July 2017. I don’t have anything close to a preview of Shot 3 yet – it’s been a week of lost evenings, product releases at the day job, visits from interstate and a pressing need for rest. Shot 3 and its bird/cactus japery is just going to take a while longer and that’s that.

Someone asked how I did the “zip” (smear) effect in Shot 2 and whether I used motion blur. I didn’t! It’s just extreme scaling on a few single frames.

Here’s the shot in motion (again):


And here’s stills of the smear frames where the head monk appears.

Frame 73 – monk enters

Frame 74 – monk ascends

Here’s a screengrab from Blender:

The highlighted bone is the base bone. It is quite stretched.

The X and Z scale values are both 0.142 because I built the base character much bigger than it ended up being in the final scene, so I had to scale it down. The Y scale value is 1.492, over ten times the value of X and Z. This distorts the rig considerably along the length of the base bone.

This means the character covers a lot of the screen, and in a single frame I can draw the attention of the audience to what this little purple guy is up to. It ups the cartooniness, it strengthens the staging, and as long as the zip frames are spaced so that they have obvious visual continuity (i.e. no large spatial gap from one frame to the next), it’s a lot of impact for not very much time spent.

If I’d had more time, I’d have added a frame where the monk is distorted in more of a curve to follow the contour of the ground rising up into the pyramid, but it’s fine without it. (Next time for sure!)

There can be no discussion of smears and zips and such without linking a certain Chuck Jones short which is chock full of great smear effects. Who needs motion blur?

See you next week!

Big week, little progress

That was 25 June to 1 July 2017.

As feared, this week completely wiped me out and left little time for making the funnies. To top it all off, it’s very cold and rainy this weekend.

But I got a little bit done. Here’s a work in progress pyramid worshipper. This little person is a replacement for the stick figure from the original part of the shot. (I think I might have another shot at making the triangle.)

“Hello. Do you know where there’s a pyramid around here I can worship?”

Next week should be less hectic and see the completion of Shot 2. See you then!

You spin me right round, AAAAA, right round…

Welcome to what was 18 to 24 June 2017. Scene 2 has begun in earnest. This scene establishes level of general silliness.

AAAAA runs past a mild-mannered cube with such force that the cube gets violently lathed into a pyramid. The pyramid is roused from its dizziness by a pyramid worshipper that’s arrived from nowhere. The pyramid does not know what to think about this.

Here’s the first attempt:

This pyramid has so many questions…

It’s a beginning, but there’s definitely room for improvement. (Mainly I’m thinking “How would this scene unfold if Terry Gilliam were directing it?”)

The little worshipper doesn’t instantly read as a worshipper. The audience needs to be able to recognise the character instantly for the shot to work because everything happens so quickly. I showed it to a workmate and they confused the worshipper for AAAAA himself!

To fix this, I’m going to switch the stick figure out for a small group of monk-like characters instead. Monks are obviously there to worship something, moreso if they have little pyramids on their robes and if they’re wearing pyramid hats so it’s obvious that they’re pyramid monks. Sound will definitely help with making the gag work too.

Meanwhile, the day job is ramping up again for an emergency project and I just took delivery of four DIY synthesiser kits from Befaco which I’m itching to put together. If I still deliver this shot despite all that, I’d consider that quite the win!

If you’ve got any other feedback on this shot, please do me the honour of leaving a comment. 🙂

With the cold comes a small green shouty thing

It’s been 4 to 10 June 2017. Things have turned chilly here. We were forecast for 9 degrees overnight on Friday morning and got 1.6C instead because the rain we were expecting didn’t pan out. Brrr! Still, Perth winters are pretty bearable once the overnight cold goes away. Like the sound of 25 degree fine winter days? Perth has you covered.[1]

Perth: Where winter typically only happens at night. (Source: bom.gov.au)

Meanwhile, the new movie project has something to look at. Last weekend was a three dayer so I rigged the title character and sketched out some animation. Here’s “Take 1” of shot 01, featuring the central anarchist of the piece:


Best title shot ever?

It’s promising but a long way from where I want it to be. I wonder if it all goes by a little bit too quick, not letting the character’s weird/cheeky nature shine through enough. There’s some undeniably good stuff in there too – the goofy run at the end feels spot on. Then there’s points of ambivalence – maybe the zippier pacing is what I should aim for? And should I stick with the snappy stepped animation?

I’ve got some of my own notes to work through and I’ll see where I end up by the end of next week. But what do YOU think, dear reader? 🙂

[1] Of course the flipside of this year-round sunny weather is being short on water. The Water Corporation both desalinates the Indian Ocean and recycles our sewage into drinkable water because there’s nowhere near enough rain to fill our dams anymore. Yay.

Sine functions to the left of me, matrices to the right..

It’s been 2 to 8 April 2017. I got a new semi-modular synthesiser this week so I lost a couple of evenings to playing with the new toy adding to the RYG-O soundtrack.

Music is never as exciting to look at, is it?

For this week’s shots I moved away from procedural meshes and back to working with lots of duplicated objects. I made a spiral galaxy, swarms of weird little swimming eggs, swarms of psychedelic kidneys and swarms of little balls having arguments with one another.

They are strangely individual swarms of balls.

One of the useful discoveries I made this week was figuring out that I could parent objects to other objects as part of Animation Nodes. The node setup for parenting is even pretty simple.

It’s as easy as setting “parent” in the Object Attribute Output node.

I used parenting to create the galaxy shot. I started with a spiral-making loop I made on Sunday. I created three sets of spiral objects with different colours of spiral and different sizes of blob. I parented each spiral to a different empty and set the empties spinning, then parented those empties to a master empty which moved them across the screen. Initially all three spiral bits were parented to one empty, but everything rotating at the same rate was dull to look at. It helped a lot to experiment with the rotation using empties as a guide instead of having to maths it.

It’s been too long between OpenGL renders…

Also this week I found out that constant updating can be switched off. This is useful when working with thousands of duplicated objects at once. The spiral was slowing my computer down pretty badly.

Over to the swimmy eggs now. Each of the eggs swims towards the top of the screen at a randomised rate which is peculiar to that egg. Of course, when certain aquatic animals like jellyfish or octopodes propel themselves through the water, there’s a push forward then a lag as the “water” absorbs its momentum.

This is an early version of the eggs which looked a little too much like an LSD hallucination of a thousand screaming mouths.

To mimic this, I added a couple of sine functions to make things more interesting – one controls the compression and expansion of the eggs’ shape, and the other offsets to the position to make the motion speed up and slow down. The two sine functions are out of phase – they both have a period of 12 frames, but they reach their respective extremes at different points. The actual node structure that makes this possible is a bit hard to follow, but this is the node setup I used to figure out how to tweak it so that it not only fit the swimming action but the beat of the soundtrack.

This is me hiding my mess.

Here the complexity of the maths and node tree is kept away from where I have to think about it, and that’s how it should be.

Good factoring also means putting messes in their own separate node tree to make it easy to reuse them in another file.

The psychedelic kidney swarm was made possible thanks to Omar Ahmad’s excellent write-up on transformation matrices in AN. I’d wanted to get the eggs swimming in different directions, and that meant having them turn to whichever direction they were headed in. I was getting nowhere with that on Thursday night, but finding Omar’s tutorials inspired me to give it another try on Friday night. Even though I couldn’t get the kidneys to change rotation/direction mid-swim, I did manage to get them turned to face the direction that they’re swimming in a straight line.

At least they’re not screaming mouths.

Here’s a more presentable version of the swimming trick, where timeOffset (can be positive or negative) is added to the Time input of “Animate Vector” to move the kidney from A to B.

Sinewaves – is there anything they can’t do?

Finally a word about materials! I have been using randomised colours a lot in RYG-O and that means using the Object Info node’s Random output a lot. The problem is that Random only outputs a single random number and I need three (hue, saturation and value) to make an entire colour.

To turn a random number into an entire random vector, I follow the Random output with multiply, modulo and add nodes before they hit Combine HSV. Multiply stretches the incoming range by an arbitrary amount to introduce a little bit more randomness. Modulo clamps the output of multiply to a particular upper limit, effectively setting a range from 0 to the modulo amount. Add offsets that output upward and sets a minimum.

For instance, in the following node setup, my random colours will have saturation between 0.6 (add 0.6) and 0.8 (modulo 0.2 + add 0.6), and values between 0.5 (add 0.5) and 0.8 (modulo 0.3 + add 0.5).

Three random numbers from one – bargain!

The quantiseHue group does a modulo, multiply, round and divide operation to quantise any random number input to 0.0 (red), 0.166 (yellow), 0.333 (green), 0.5 (cyan), 0.667 (blue), 0.833 (magenta) or 1 (red again). That’s how I’m sticking to my assigned colours. 🙂

That’s all for this week. See you at Easter!

Here’s an image from the new story reel, done entirely with Blender’s recently upgraded Grease Pencil, and a behind the scenes screenshot.

A planning process like this is different to going between Krita and Blender. There’s no need to do scene numbering or other stuff ahead of time to get filenames, for a start – I’m just drawing on different layers as I go. Each time I want to change a shot, I just blank out or redraw all the layers.

And yes, it’s in colour. Which is also new. 🙂

That green strip in the Video Sequence Editor is the scene I’m drawing in. The purple chunks above the green strip are the old storyboards. Wherever there’s a gap in that strip, I have to draw new art.

To render out the story reel with grease pencil, I have to use the OpenGL render button in the VSE panel. (The OpenGL render button in the 3D View only renders the scene. Big thanks to Olson and JA12 on #blender for patiently helping me suss that out.)

Back to it then!

And I have another end-to-end 2D animatic. Hooray!

For that last big shot I mentioned last night, I ended up doing it as a composite. Gronky’s elements have a white background. Pointy’s elements have a transparent background – to do this in Krita, I just turn the white default “Layer 1” off and save the standalone layer as a PNG.

Once I have both elements in Blender’s video sequence editor, I use the “Alpha Over” blending mode to layer them over the top of the other. Simples.

That one shot – shot 54 – has 28 individual pieces. The storyboard numbering system got abused thoroughly to put it together – for example there’s a file called 054b13b_s10.png which is part of shot 54, second (b) action, thirteenth illustration, second.. uh.. I have no idea. But things stayed in the right order so.. yeah.

All up I drew 222 images for this animatic. That’s three times as many frames as the previous versions. The planning is now within five seconds of hitting three minutes, but I don’t think it’s going to get any longer.

If anything, once the comedic stuff is tightened up a bit it’ll get shorter.

Two people I’ve spoken to have said I should work on a 3D animatic (reasons: 2D is flat and doesn’t represent volume well; timing will change; 2D is subject to my inconsistent drawing) so I’ll likely be beginning that process this weekend if not sooner. But I want to give the 2D animatic a couple of days just to see if I can trim some fat and tighten it up. Comedy is hard.

Doing some environment exploration. Trying to mimic harsh Australian summer light infused with a bit of low-poly for the background. Wasn’t sure about the angular mess initially but it’s growing on me. (Except for those foreground rocks. Screw those.)

The rock wall is almost entirely procedural. It starts out as a subdivided plane. A few faces were removed to give it holes and caverns. Then comes a stack of modifiers:

  • Array modifier tiles the original grid a couple of times
  • Displace pulls the grid out of shape using a Cell Noise texture progressively more from top to bottom using a Vertex Weight group
  • Solidify turns the grid 3D
  • Bevel adds a bit of extra geometry between the faces
  • Smooth pulls the bevelling apart
  • Subsurf adds more geometry
  • another Displace roughs it up a bit
  • finally, a Decimate modifier pulls the poly count down to 15% of the original, giving the geometry some variation in the process

The texture on the rocks is a Musgrave texture. Nothing too interesting there. I duplicated it, stretched it some more along X, rotated it so it would pop out of the ground and placed it so the duplicate would intersect with the original at the bottom, giving the impression of boulders having rolled down the rock wall over time.

This is near to the point of procrastination given that I’ve got a ton of rewriting and reboarding to do, but this test isn’t looking a million miles away from what I had in mind as an environment. Which is nice. 🙂