Tutorials

How to Blender Conference: Quollism Bumper Edition!

Hi all! I’m not going to Blender Conference this year but I attended Blender Conference in 2014, 2015 and 2016. After reading Looch’s great article, I remembered I was planning to chuck in my own two cents on how to bconf!

Well, ok, more than just two cents. Here’s what’s helpful to know..

My first Blender Conference in 2014. Banner by Andy Goralczyk.

Blender Conference

The Blender Conference is scheduled to run Friday-Saturday-Sunday. This is just the presentations: in terms of hanging out with fellow Blenderheads, it’s potentially a Thursday night to Monday night kind of a deal. If you head over to De Balie on Thursday night, it’s almost guaranteed there will be a few earlybirds already there having drinks and being sociable. 🙂

By the way – if you have a project or other work to show off, keep it on you! I was working on a movie during the conferences I attended; I had a tablet and headphones so I could show a work-in-progress version and get valuable feedback on it from my fellow attendees.

Also If you’re stuck for a way to start a conversation with someone at the conference (e.g. on Friday morning while waiting for De Balie to open), ask them “So, what do you with Blender?”. Easiest ice-breaker in the world!

If you’re on Twitter, your official conference hashtag is

Events

On registering, you’ll be given a badge and a schedule, plus some other goodies. If you signed up for the Saturday dinner, your ticket for that will be included too. Don’t lose it!

As Looch said, once you get the conference program it’s good to plan out where you want to be. I like to circle my picks on the schedule with a pen and keep it in my pocket. 🙂

Ton Roosendaal giving the 2016 keynote.

The keynote and farewell with Ton are no-brainers – get a seat early if possible.

Definitely go to the Suzanne Awards on Friday night. Some films are in contention for an award, and some of them are secret exclusives just for conference attendees. There’s an early and a late screening. I’d recommend the late screening instead because the audience is a bit drunk/stoned and that’s more fun. Don’t forget to vote afterwards!

Definitely go to the lightning talks on Saturday evening. (If you’re giving a lightning talk, try not to go over five minutes!) Do not believe anyone who says they’ll definitely finish their single-person movie project in time for next year’s Suzanne Awards because they don’t know what the hell they’re talking about.

Aside from that, don’t feel compelled to be at a presentation for every single moment of the conference – the bonus of actually being at the conference is the opportunity to hang around and chat outside or upstairs. (Also, free sandwiches!)

The real conference happens outside..

Definitely try to make it to a presentation that’s about something completely different from how you use Blender yourself. The lightning talks are good for that, but the more in-depth presentations are eye-opening as well. Blender gets used for all kinds of cool stuff you might not even know about!

Do be prepared to occasionally sit through a talk you’re not that interested in to make sure you’ve got a good seat for a popular talk that you _are_ interested in. Hjalti’s animation talk is often standing-room-only. 🙂

Definitely drop in for the Blender Insititute Open Day as well, even if you’re just popping in for a look. The conference is officially over by then so the Blender Institute folks are much more relaxed instead of running around making sure everything’s running smoothly.

You may even run into this guy!

Transport

Negotiating the airport

Those flying in internationally through Schiphol may benefit from the following info.

Schiphol is big. There might be a long hike between your arrival gate and customs. If this is your first international flight, I suggest legging it to immigration as quick as your feet will let you. Have your passport ready and waiting. Fortunately, the Dutch immigration people are pretty cheerful and are the nicest first impression of any country I’ve ever had.

Once you get through immigration and customs, you’ll probably have people walking up to you and offering a taxi service. Brush them off, no matter how official their gear is. The proper taxis are outside at the taxi cab rank.

Windmill break! This is the windmill at Brouwerij ‘t IJ, much favoured by Blender Institute employees.

Also right outside immigration at customs, you can pick up a local pre-paid SIM with Lebara. They can pop out your old SIM and activate your new one on the spot. This is worth doing if you’re going to be out and about with Google/Apple Maps or using social media to coordinate meet-ups. Even if you’ve got international roaming on your phone, this might work out a lot cheaper depending on your carrier. Something to keep in mind!

Leaving the airport

Keep walking and you’ll eventually come to the entry hall. There you have the choice of turning left to go to the train station or turning right to find a cab. You should be able to see an automatic kiosk which will let you purchase an OV-kaart (a rechargeable Dutch public transport pass). If you’re going to be doing any sightseeing in Amsterdam or you need to use the trams or trains to get around, you want one of these. Cash or card is fine and you can flip the machine over to English if need be.

If you want to catch the train to Amsterdam Centraal, you’ll need at least twenty euro on your OV-kaart unless you’re paying for a one-off ticket.

There’s also an airport shuttle bus for 5 euros which might go past your hotel. Check ahead of time.

This is Dubai. Dubai is about eight hours from Amsterdam, just over halfway from home for me.

If you want to taxi it up to Amsterdam, you’re looking at around a 50 euro fare or thereabouts. (The way I see it: if you’re at the tail end of twenty hours of travelling and fighting off delirium, getting someone to drive you directly to the front door of your hotel is probably a good idea.) Shuffle past yet more dodgy taxi hawkers with your luggage and veer right to head outside. Follow the directions to the taxi cab rank. I like the Tesla taxis the best because they’re zippy as heck and can even use tram tracks as required. Noice!

Local transport

An amsterdam of bikes.

Amsterdam is a fantastic walking city and an even more fantastic bike city, but it can be a lot to take in at first! If you’re on foot, make sure you’re not accidentally standing in a bike lane like a tourist. Always keep an eye out for bikes, trams and cars. And take care not to fall into the canals!

If you’re doing some sightseeing and bikes are not for you, I highly recommend availing yourself of Amsterdam’s excellent tram system by getting the aforementioned OV-kaart and installing 9292.nl on your smartphone. The trams need you to have at least 5 euros of credit left on your card to use them. Heavy rail between cities requires 20 euros of credit.

Leidseplein by night.

De Balie is just around the corner from a square called Leidseplein. The trams that run through Leidseplein are 1, 2, 5, 7 and 10. The 1, 2 and 5 all terminate north at Amsterdam Central Station, while the 7 and 10 run more east-west.

The Blender Institute building is on Entrepotdok. You can get from De Balie to the Institute a couple of ways. You can catch the number 10 tram directly from the Leidseplein stop, get off at Hoogte Kadijk, wave hello to the Windmill, backtrack the way you came past the service station, walk through the trees and head westwards up Entrepotdok until you see the Blender Institute logo.

You are here!

And since you’re in Amsterdam, you may as well know that the filming location for “Tears of Steel” is the northernmost bridge of Reguliersgracht where it intesects with Prinsengracht. Just don’t freak anyone out with your robot hand if you do go there. It might not end well. (The Oude Kerk where the movie “takes place” is up in the famous Red Light District, but that’s pretty easy to find.)

2015: Tiny Numbat is awesome in space!

Food and drink

First off: there’s coffee, tea and water at the conference. There’s also sandwiches for lunch. Yay, free stuff!

Leidseplein itself is an entertainment district with lots of restaurants, most of which are overpriced tourist traps. On any night of the conference, people peel off in packs to grab dinner. It’s good to follow the lead of people who know the area and therefore know which places are good to eat at. Expect to be constantly invited in by hawkers/spruikers, and don’t feel bad about brushing them off.

A cheap option: vlaamse frites! (Flemish chips) – and yes, that is dipping mayonnaise just like “Pulp Fiction” said.

Dinnerwise, have maybe twenty euro in bills and change to pitch in for the cost of your meal. Tipping is optional. If you’re short on cash, there’s a blue ATM/cashpoint which accepts credit cards on Leidsestraat across from the newsagent.

Said newsagent is also the closest source of cheap-ish Red Bull that I’ve found to De Balie. It also has an OV-kaart recharger in the back. The closest really good coffee I’ve found is at a place called “Sweet Cup”, down Lange Leidsedwarstraat.

I don’t drink so I have no idea where there’s a good pub. I also don’t smoke cannabis so I don’t have any recommendations for a nice gezellig coffeeshop either. 🙂

Local tasty things to eat include stroopwafels and poffertjes.

Be on the lookout for small plastic marsupials when enjoying poffertjes..

Language

English. Seriously. Everyone in Amsterdam speaks English.

Careful of those horens!

The only reason to actually learn Dutch as a tourist is to eavesdrop on people or for pronouncing placenames. “Oe” is pronounced “oo”, “oo” is pronounced like “aww”, “ij” and “ei” are pronounced something like “eye” or “ay” depending on your accent, “ui” is pronounced something like “ow”, “r” is pronounced “GHHHH” and “g” is pronounced something like “KHHHHHHH”. Don’t try to pronounce “Ruigoord” without adult supervision.

“Alstublieft” means either “please” (e.g. “spa rood, alstublieft”) or is said when handing something over. “Dank u wel” means “thank you very much” to someone you don’t know; “dank je wel” is for someone you’re more familiar with.

If you really want to learn Dutch for some reason, Duolingo has a Dutch course.

Literal non-obvious translations from top to bottom: pouch-devil, ant-hedgehog, tree-kangaroo, pouch-marten, bird-beak-animal.

That’s it

May the 2017 Blender Conference is the best one yet and hopefully I’ll be up there again myself again before too long! Tot ziens!

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):

ALL HAIL THE PYRAMID (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!

6 to 12 March 2016, we hardly knew ye..

I’ve been playing lots of Far Cry Primal since it came out last week. It’s been jolly good fun tooling around the Stone Age on Easy difficulty, lobbing spears and cave bears and bees at conveniently colour-coded baddies.

A Moment In The Sun meanwhile is back in active development. I’ve written a much tighter synopsis along with some handy character rules that should help keep me on track. Easter’s coming up weekend after next (not next weekend, derp), so if I get my act together I’ll have a good run of days for doing some rough layout. 🙂

There’s two animated shows in particular whose feel I like for AMITS, both kids’ shows – Pocoyo and Kaeloo. I’ve recorded both of them off free to air TV down here but I end up with WTV files. Neither VLC nor Blender load WTV files natively, and WTV files (here in Australia at least) are also stupidly big because our digital TV broadcasters are still using old inefficient codecs to maintain compatibility with old hardware.

Anyway, here’s a mini-tutorial on turning WTV files into MP4 files using open source software. Mainly writing this so I don’t forget the commands for FFmpeg or the keystrokes for Avidemux. 🙂

Step 1: Record your show using Windows Media Center (sp). Make sure you’ve got a buffer of around 5 minutes either side of the show starting and finishing because TV schedules are not exact. Free-to-air TV in Australia doesn’t apply any kinds of extra DRM – other countries may vary. You will end up with a stupidly big file.

Step 2 – conversion: For this you’ll need FFMpeg.

  • Start the FFMpeg shell batch file. You will get a DOS prompt. Don’t be scared.
  • Change directory to where your recordings are, so cd C:Recorded TV by default.
  • Execute the following command: ffmpeg -i tvshow.wtv -strict -2 -deinterlace tvshow.mp4
  • There is a way to batchconvert a whole directory using a single line of code – sadly, * doesn’t work. Personally I cheat by booting into Linux and using bash. 🙂
  • Once FFMpeg is going, wait a bit. It will do Things.
  • You will have a file which is much smaller but about the same quality.

Step 3 – topping and tailing unwanted bits without recompressing. For this you’ll need Avidemux. Manipulating the MP4 stream directly means there’s no extra quality lost through recompression. Also Avidemux is much quicker to use with hotkeys instead of clicking icons.

  • Load your fresh new MP4 into Avidemux.
  • Keep hitting the up arrow key until you can see your show starting. Press [ to mark the in point.
  • Hit the up arrow key some more until your show ends. Hit down arrow if it skips past the end of the show. Find the keyrame closest to after the program ends then keep hitting left arrow key until you’re at the last frame of the show. Hit ] to mark the out point.
  • Choose your Output format (AVI or MP4 is fine), then hit Ctrl-S to Save!
  • You will now have a nice small file with just the bits you want. Mostly.

Having done all that, I can then pull the video into Blender’s Video Sequence Editor and examine it frame by frame to learn precious animation secrets… mm… secrets..

You could also use Avidemuxer for datamoshing too. 🙂

That’s it for this week!

Using sound to drive animation in Blender – video tutorial

It’s here! In this tutorial, I go over Blender’s “Bake Sound to F-Curves” function and some of its options, demonstrate ways of using the resulting data within objects and armatures, and provide a whirlwind tour of the audio spectrum.

The second half of the tutorial shows you how to identify and extract data from specific frequencies in order to make a drummer armature play the drums using automatically triggered actions – no need to keyframe each individual hit or even open the NLA Editor!

Software you’ll need to follow along at home: Blender 2.70 or higher, Audacity or any DAW.

Soft Body dynamics, roughly speaking

Here’s some expanded notes on the soft body sim in Blender. I’ve figured out what I think are the basics. I think. Theoretically. Let’s use Mr Jelly Belly as an example mesh.

The goal is to create a soft body sim that procedurally jiggles Mr Jelly Belly’s soft parts around without requiring hand-keyed animation.

image

The soft body dynamics simulation is mainly an interplay between introduced energy, stiffness/springiness and damping (more correctly dampening but whatever).

When the vertices of the mesh are set in motion (through object translation, shape keys on keyframes, armature-based deformation, certain force fields), energy is introduced – soft body simulation treats vertices like a system of physical particles linked by edges and faces. The stiffness/springiness of the vertices, edges and faces determine how much that energy affects the position of the vertices, and factors like damp(en)ing determine how quickly energy is lost from the system. Once energy stops entering the mesh, the verts will try to get rid of the rest of the energy and return to equilibrium (motionlessness).

First off, for the love of kittens and puppies, open up Soft Body Cache and change the Cache Step option from 10 to 1. (1 should really be the default.) [EDIT: It is the default now. Hurrah!]

image

So, first let’s look at the top panel, labelled just Soft Body. Here we have:

  • Friction: the viscosity or thickness of the “air” outside the mesh. Low friction (0 – 1 or so) means the “air” has little if any effect on the mesh – it’s thin, so it doesn’t do much. High friction (4 or more?) means that the “air” takes more energy for the mesh to move through if it’s still. This means the simulation won’t be as energetic, because it’s losing energy to the viscosity. and if the “air” is moving (e.g. because of a wind or vortex force field) it imparts more energy to the mesh. A wind force field will have much more effect with a high friction value because of the extra viscosity of the air.
  • Mass: As in real life, mass determines inertia: how much energy it takes to get something moving, and also how much energy it takes to make it still. If there’s a mass vertex group selected, this number acts as a multiplier. If there’s no mass vertex group, each vertex is weighted with this number. (Probably.) Mass also interacts with the world gravity setting.
  • Simulation Speed: If your simulation’s OK except for the fact it looks like it’s in slow motion, set this number higher than 1. If it’s too quick, set it between 0 and 1.

Think of the mass vertex group this way – how much mass is pressing against the vert from the inside of the mesh? How much force is that vert holding back? In the case of Mr Jelly Belly, there’s a lot more mass affecting the underside and sides of the belly than the top of the belly – the weight has sunk into place. Essentially, it’s a gravity thing.

We want Mr Jelly Belly’s spare tyre to be heavier on the bottom so it jiggles more slowly than the top. This is the mass map for Mr Jelly Belly:

image

Skipping Soft Body Cache (we’ll come back to it), we come to Soft Body Goal. This is where you control how much the verts attempt to keep the position they hold before the soft body simulation takes effect. This is untickable. Here’s why:

  • If you want to run a pure soft body simulation on this mesh, you want the verts to be able to go wherever the simulation says they should. Therefore they don’t need to pay attention to where they were before the simulation, so a goal is irrelevant. In this case, leave Soft Body Goal off.
  • If you’re doing armature deformation or shape keys or anything else like that to the mesh and using soft body dynamics as icing on the cake, you want Blender to pay attention and work additively on pre-existing animation. In this case, leave Soft Body Goal on.

We want to control which bits are simulated and which bits aren’t, so we’re going to leave Soft Body Goal on.

Parameters in this section are:

  • Default: If there’s no vertex group given, or if a vertex doesn’t appear in the vertex group, this number determines how much the verts stick to their pre-simulation positions. We want some bits to jiggle and some bits to stay still, and we’re going to specify values for all vertices, so we can ignore this number.
  • Minimum and Maximum: Scaling values for the vertex group. A vert with a weight of 0 in the vertex group is re-scaled to the value in Minimum, A vert with a weight of 1 in the vertex group is re-scaled to the value in Maximum. Anything else weighted in-between is re-scaled to fit those values. If the verts are flopping all over the place gelatinously, upping the Minimum value to something like 0.9 is a good place to start.
  • Stiffness: How attracted are the verts to their pre-simulated positions? In other words, how much do they resist movement? While the mass value per vertex translates into inertia, and the goal value per vertex translates into how much movement is ultimately shown in the simulation, stiffness determines the strength of attraction of all the verts as the simulation progresses. Weak stiffness means the verts will go a lot further afield while stronger stiffness means they’ll generally stay put. Values range from 0 to 1. After some experimentation, 0.8 worked for me..
  • Damping: How quickly do the verts lose energy once they get it? Undampened verts (value less than say 2) can wobble for ages. Dampened verts (values up over 20) lose their energy quicker and wobble less. Flesh doesn’t wobble as much as jelly so I’ve got a high damping value in here (30).

Stiff, undampened verts will vibrate at high frequencies like a stiff ruler. Slack (unstiff), dampened verts will wobble a little bit then calm down.

Since we want the belly to wobble around a lot once it gets going but for other parts of the body (like the legs and chest) not to be too affected, this is the goal map (min 0.9, max 1.0). This map lets the belly wobble around as freely as possible in the sim while keeping the red areas where we left them pre-sim.

image

Both Soft Body and Soft Body Goal deal with external forces.

Soft Body Edges, the last panel we’ll deal with in this intro, is all about setting internal forces. (There’s also Soft Body Self Collision, Soft Body Solver and Soft Body Field Weights, but I didn’t touch them.)

Soft Body Edges is truly where it’s at. I can’t think of any situation in which you’d actually untick it because if you do, things tend to fall in a heap. This is because Soft Body Edges is where you set up the internal tensions of your mesh acting through its edges and quad faces:

  • Pull and Push: Determine how much edges resist when stretched (Pull) and compressed (Push). These can be wildly different values depending on what you’re simulating. For instance, rubber can be stretched quite happily (low pull value) but doesn’t compress anywhere near as well (high push value).
  • Damp: How quickly do the edges lose energy once they’re excited.
  • Plastic: Should the deformations affect the mesh’s shape for the rest of the scene? If so, enter an integer (!) from 1 to 100. Wisely set to zero by default. If you are doing a soft body sim of an object dropping with Soft Body Goal unchecked, reaching for this might make your sim a bit more interesting.
  • Bending: How much should the mesh resist bending out of shape? This is a sort of distributed stiffness, calculated across neighbouring edges and verts. Turn it up if your mesh is deforming out of control. We’ll come back to this one, actually.
  • Length: If you want to shrink or expand the edges by a particular amount, enter the percentage (as an integer) here. Haven’t found a use case for this yet.
  • Springs (vertex group): At a guess, a vertex’s membership in this group is multiplied with the Pull and Push values to get a final springiness value. That’s what it seems to do.
  • Stiff Quads: An extra layer of mesh stiffness reinforced across opposite (as opposed to adjacent) verts on 4gons. Shear controls the stiffness across the quad.

Since we want the belly to be pretty springy and mobile, it gets a low spring value in the Spring map. Other parts of the mesh should be relatively stiff. This is the spring map I weightpainted for Mr Jelly Belly:

image

Soft Body Solver contains the very useful Min Steps parameter which controls the minimum granularity of Blender’s simulation. If the simulation appears to be doing stupid stuff like making certain verts stick and then suddenly fly all over the place like a wasp on crack, try cranking this number up a bit.

So, back to that Bending parameter in the Soft Body Edges panel.

Let’s say you’re playing with dynamics. Let’s say you’ve got a complex shape like our good friend Suzanne. Let’s say you’re blasting that complex shape with a very powerful Wind force field, and let’s say Suzanne’s eyebrows are periodically disappearing into her forehead. By cranking up the Bending parameter to 2 or 3, you increase the stiffness across longer links than just adjacent verts. Suzanne’s eyebrows find it harder to bend back because of this distributed stiffness. Basically it’s a way to say “Get the mesh to hold its shapes as they are”.

Dealing with self-intersection this way is preferable to the alternative, namely ticking the Edge or Face boxes in Soft Body Edges, then turning on Soft Body Self Collision and burning enough CPU to fuel a small country.

Anyway. Whenever you play the scene’s animation from scratch, the soft body re-simulates. You can tell it not to simulate until render time by unticking the eye icon next to the “Soft Body” button.

Soft body dynamics can also be placed over the top of meshes being deformed with armatures.

It may help to remember in this instance that the soft body parameters can be animated. For instance, you can nullify the effects of the soft body simulation by having Soft Body Goal’s Minimum and Maximum parameters set to 1 during parts of the scene. Such parameters can be bound to bones and linked using our old friends drivers.

If any given vertex is allowed some simulation, it’s possible for the armature-driven movement to lag severely or even be ignored entirely if the stiffness in Soft Body Goal is set too low.

I wouldn’t call that everything I know about soft body dynamics in Blender, but at least now we have a procedurally animated hypnotic jiggling purple arse to contemplate:

image