Crowd Simulation and Auto-walking

Hey everyone, this is my first post since I’ve been back in England!  In these dark depths of winter I really miss the summer I spent over in the US as a Bit Films intern; nice weather, good food, great crew.  Since leaving the states I’ve been hard at work at college, and on various […]

Hey everyone, this is my first post since I’ve been back in England!  In these dark depths of winter I really miss the summer I spent over in the US as a Bit Films intern; nice weather, good food, great crew.  Since leaving the states I’ve been hard at work at college, and on various other projects, but now and again I get enough free time to work on Tube.  Something which has been on my to-do list since B-Conf is feasibility tests for crowd simulation and auto-walking, and combinations of the two.  

I’ve always struggled to set up Blender’s boids sim exactly how I needed it for ground based creatures (trying hard not to give anything away about the film here!), especially in the case of collision critical simulations when its important that two bodies don’t get tangled up together.  Coupled with this I know that for Tube we will need more direct control over the ‘boids’ and being able to explicitly direct them and override the ‘boid brain’ is a must.  On top of that we need more than just fly, walk and sleep actions.  It seemed that rather than trying to strap something on the back of Blender’s built in boids, it might be easier to code something more specific (and more limited in scope) for a few scenes we have to animate, so I started out on a now heavily WIP crowd sim.

There used to be an auto-walker script for blender 2.4x.  I came up with my own algorithm before finding it, but did end up mimicking a few of the features (leg sequencing for one) though my implementation had to be completely different because of the way the rest of my code works.  It only walks, as such, not runs, yet…

A couple of weeks ago I tested out the code and rendered a couple of demo crowd shots.  Then I got completely carried away and implemented a few special effects using PIL and the ‘scribbler’ algorithm, and generated sound from the fcurves of hundreds of marching spiders.  The project uncovered a few pitfalls and some more work still to do before the crowd sim is production ready, but enough of the worrying, here’s a demo video!

“Spiders” auto-walking and flock simulation for blender from Josh Wedlake on Vimeo.

Here’s the video on youtube where the compression is slightly nicer at the larger sizes.

More animators and first practical use of blenderaid api!

We currently have a bunch of folks ( Tal, Jarred, Malefico and Jason) with assigned shots, but still looking for more. Today Lee and Pablo volunteered on irc, but it turned out neither is right now capable of getting the entire SVN…. with all our file dependencies this seems like a problem, right? wrong! Blenderaid […]

We currently have a bunch of folks ( Tal, Jarred, Malefico and Jason) with assigned shots, but still looking for more. Today Lee and Pablo volunteered on irc, but it turned out neither is right now capable of getting the entire SVN…. with all our file dependencies this seems like a problem, right? wrong!

Blenderaid to the rescue! The new python api seemed made for the task, so I quickly wrote a really dirty script that goes through the production, finds the dependencies (via the blenderaid api) and then uses the normal python affordances to copy files into a new ‘package’ for the animators.

bonus is I can skip non .blend (read: textures) and out of tree (read: temporary background images) really easily, thus keeping the package even smaller.

I’ll just pasteall this one since it’s a quickie:

http://www.pasteall.org/18436/python

Mini Production Update

Hello world! Since we’ve been so quiet it’s time for a little mini update of where we are at! Animation just started, with Jarred and Tal taking the lead, but we’ve got more shots/animators assigned, so I expect some speedup there. Modelling is continuing – we’ve gotten to a ‘non blocking’ stage, but there is […]

Hello world!

Since we’ve been so quiet it’s time for a little mini update of where we are at! Animation just started, with Jarred and Tal taking the lead, but we’ve got more shots/animators assigned, so I expect some speedup there.

Modelling is continuing – we’ve gotten to a ‘non blocking’ stage, but there is still more to do . We’ve also not yet gotten the final character model and rig yet, animators are working with a proxy.

We’re also 15 shots closer to finishing… because I just removed 15 shots from the animatic 😉 seriously, this is a big deal, and makes the first act almost (there are a couple of shots I’d like to change) completely ready for animation. Geppetto worked well (with a few edits for python api changes) and the changes took very little time. Oblig. Screenshot below:

See you all in 2011!

Drinking the Blenderaid

I’m a huge fan of Blenderaid, a great way to manage your blender projects. You run a small server that is capable of crunching through your project, finding all objects, dependencies, etc., then point your browser to it and get a graphical overview. You can look at individual files, see the names of objects/materials/etc., rename […]

I’m a huge fan of Blenderaid, a great way to manage your blender projects. You run a small server that is capable of crunching through your project, finding all objects, dependencies, etc., then point your browser to it and get a graphical overview. You can look at individual files, see the names of objects/materials/etc., rename them, view dependencies, fix broken links, and now check and update SVN status etc. etc., all from the comfort of your browser window. I’m using the Python 3 version, which for me necessitated installing PySVN from source, since the Ubuntu modules are Python 2 only. Other than that, I had a smooth install; I’m looking forward to continuing to use this version and further goodies in the future.

Some cool things you can do with it:

  • Find errors in your project globally without having to check each file one by one in blender- and fix them (could benefit from batch tools so you can do multiple at a time)
  • Create ‘bundles’ of files, e.g. to send to an off-site animator who doesn’t have SVN access, by quickly seeing all the dependencies of a given scene file. This can be done by hand right now, but I’m pretty sure it could be scripted fairly easily.
  • Make sure your files are up to date, track problems with SVN visually
  • Rename models/assets, find out where they get used, etc.
  • Probably a lot more 🙂

Blenderaid could change the way we work with SVN for projects – instead of checking out several gigabytes of production data, each artist need only check out exactly what they need– saving time, local disk space, bandwidth. We could use it also to have versions of assets and switch (optionally) some scenes to use newer versions or to continue working with the old.

I’m hoping to have time after tube to experiment with blenderaid in conjunction with helga, or alone, and to have server-side installation as well as the local one. This could be the key for large-scale projects in blender, big thanks to Jeroen and Monique for writing it, and I look forward to seeing how it evolves.

Quick note from Jeroen: the python2 version saves time by removing the need for additional compiling, and should work without any problem. (I was under the mistaken notion that Blenderaid’s python version had to match Blender’s).

Display Thirds for Composition in Blender Camera

I’ve often wanted to have lines for ‘rule of thirds’ in the Blender Camera as a composition aid – I’ve got countless blend files with little no-face meshes parented to cameras (that have to be moved or scaled whenever I change the camera view angle). Granted this problem could be solved with a driver (That […]

I’ve often wanted to have lines for ‘rule of thirds’ in the Blender Camera as a composition aid – I’ve got countless blend files with little no-face meshes parented to cameras (that have to be moved or scaled whenever I change the camera view angle). Granted this problem could be solved with a driver (That might not update – driving on camera angle is not dependable yet), but I got tired of ad-hoc solutions.

I don’t use the Title safe option that much or at all, so with the help of a trusty text editor (gedit in my case) I hacked a couple of files and now I have ‘Thirds’ instead of title safe for the camera. The internal property is still the same, it just displays differently, so no messing with RNA happened.

If you want the same functionality and are comfortable building blender/applying patches, you can get it here . Usual disclaimers about baby eating and such apply.

Free/Open Source software is nice, isn’t it?

©URCHIN 2015