Monday, August 29, 2016

Grease Pencil - Reproject Strokes tool

Yesterday, inspired by Matias's blog post about storyboarding using Grease Pencil, I hacked together a little tool to fix up your Grease Pencil sketches when you find that you'd accidentally moved the 3D cursor around while drawing, causing all the strokes to be splayed out in weird places in 3D space.

Here's a video showing off how and when to use it (thanks to Matias for letting me use the file from the blog for testing :)



From the video description and commit log:
This operator helps fix up this mess by taking the selected strokes, projecting them to screenspace (i.e. "flattening" the strokes back on to the screen), and then putting them back out into 3D space again. As a result, it should be as if you had directly drawn the whole thing again, from the current viewpoint, but without losing the pressure/strength info.

Unfortunately, if there was originally some depth information present (i.e. you already started reshaping the sketch in 3D), then that will get lost during this process. But so far, my tests indicate that this seems to work well enough.

Friday, August 5, 2016

GPencil V2 Has Landed

In case you've missed the news, Antonio's "Grease Pencil v2" branch landed in master earlier today. Check out the upcoming nightly builds for the new goodies :)

And now for some obligatory doodles I made while giving the tools a bit of a shake down :)


Wednesday, August 3, 2016

Siggraph '16 Paper - Fish Swimming Simulation

This video just popped up on my Youtube feed this morning:

It's the video accompanying a paper that was presented at Siggraph 2016 last week (pity I couldn't be there... there were quite a few talks/production sessions I'd have liked to attend), describing a system they build for simulating how different types of fish swim. They also discuss how this method can be used for simulating schools of fish swimming and interacting to various forms of shaping controls (e.g. for art directing the results), including doing so interactively!

Sunday, July 31, 2016

Violin Layering Songs - 20160730

Here's another bunch of songs I recorded for fun (and a break from "work-like" things) this afternoon.



This time, I tried to keep things a lot more "tonal" than in previous recordings, so hopefully more people will find it less unsettling to listen to. Another thing I was playing around with here was tweaking the left/right balance and relative volume levels of each track (apologies in advance if one or two are a bit on the "loud" side) - I ended up optimising for headphones (tracks "8" and "3" in particular really sound a lot better this way; in particular, "3" only seems understandable this way).

My personal favourite of this set is the first one on the playlist ("8 - Horse Riding"). While there may have been a few places where the timing isn't quite perfect enough, the overall effect is quite nice, and really gives off that equine "galloping" feel to it :)


Friday, July 29, 2016

The Sea - Music inspired by a visit to the beach

It's taken a few weeks to get around to it, but I've finally gotten around to uploading the set of tracks I recorded for use as a soundtrack to a bunch of clips I filmed while spending some time out at Sumner beach watching the waves. You can see one of those clips (a real-life homage and fan-art for Pixar's "Piper") and the track I specially recorded for it here.



It was really relaxing spending time just staring out at the waves as them came crashing in to the shoreline. While the picture above shows the tides as they started to recede, they were initially much higher, and would come in thick and fast.

Thursday, July 21, 2016

Seagulls vs Waves Clip

Keeping with the theme of "fan-art" of sorts, here's a little video I put together from footage I shot while out a Sumner beach on Saturday afternoon...



From the video's description:
A pair of seagulls hunting for food along Sumner Beach, between the receding tides. Filmed yesterday during a relaxing stroll along the shoreline out at Sumner, after a great lunch. The sea yesterday looked as I've never seen it - the water level was really high, and the waves just kept coming in thick and fast.

The scene reminded me a lot of Pixar's amazing short film "Piper" (showing in front of Finding Dory). It's one of my absolute favourite shorts! Great story, wonderful animation, amazing rendering, and OMG cuteness overload!

While this shaky phone-cam (at reduced resolution to save disk space) doesn't hold a candle to that, this clip is still very much in the same spirit!

The soundtrack here is a little track I recorded specially for this footage. It's done using the "Violin Layering" techniques I've been playing around over the past month of so - basically, I recorded the first pass of the music watching the video (via my phone), and then worked on recording extra tracks for it while keeping in mind the general mood I was going for (in addition to the key beats of the clip). It's not quite 100% there yet, but as a first attempt at doing this, I'm overall happy with the results!

Mid-Week Doodle - Blurry Tree-Lined Path at Night

Another little doodle/painting session to relax a bit, inspired by the experiments I'd been doing this autumn with deliberately defocussing my lenses to get an optimal "painterly bokeh" look. (Long-time followers of this blog may also remember that a few years ago when learning how to use GLSL, I mused about developing a "disk splatting" technique for rendering bokeh-filled scenes; this was basically another attempt at achieving similar results, except in the real world ;)


This image started by being just an attempt to test the "disk splatting" blurry-tree technique I'd been interested in trying (especially after accidentally "discovering" a way to achieve that look in Krita using a particular circular brush, playing around with different combinations of Opacity + Size settings). However, seeing the result and feeling that the result still somehow lacked a bit of the "oomph" the foliage needed, but not being able to quite pinpoint it, I started blocking in some background (in the hope that it might help), and before long, I'd ended up with this scene.

It is partially drawn from somewhat idealised memories of the annual Lantern Festival in Hagley Park (this particular setting is a bit closer to this year's layout, leading to the area where they had the fireworks). However, it is probably influenced more by the beautiful work of Leonid Afremov - he's one of my favourite painters, with his unique style chunky blocks of bold + vibrant colours, which he paints by using a little triangular knife to scrape lumps of oil-based paint onto the canvas. In that case, I guess you can probably consider this an example of some crappy "fan art" of sorts ;)


Sunday, July 17, 2016

Sunday Afternoon Doodle (+ Additional Music Mashup)

Just a random doodle on a cold and dreary Sunday afternoon, playing around with Krita's Multibrush tool... It's quite bizarre using this tool, yet sometimes, you can get some funky effects (like the middle bit, which was quite captivating to draw).


Tuesday, July 12, 2016

Pyne Gould Building Collapse Simulation Video - Blender Bullet Addon Demo

What strange times we live in: I just came across a video for a Blender addon for simulating building collapses using the built in Bullet (rigidbody simulation engine) tools.  What I didn't expect though was to open the video link, and be confronted with was this:

Woah... I know this place...




This is the Pyne Gould Building, that collapsed during the Feb 22 2011 Christchurch Earthquake. It was one of the two worst hit buildings that collapsed that day, killing and trapping people. The other one was the CTV building (also in the CBD), where over 100 people died (including the mum of a classmate from primary school) when it pancaked. In other words: not really something us Cantabrians want to remember/dwell on...

Friday, July 8, 2016

Boom! New Animation Features - 7 July 2016

Boom! I've just pushed a bunch of features I've been working on to master. Some of these are things that you've been asking for for a long time too, so be sure to keep an eye out on the nightly builds coming out soon :)

Here's a quick list of the recent highlights:
* Animation Editors: Object datablocks are now sorted alphabetically by default  - I suddenly figured out a way to minimise the potential performance hit of having this enabled, so now you don't have to suffer with having you objects ordered however the old depsgraph thought they should be ordered (yes, that's the reason why the old ordering was as crazy as it was... blame the old depsy!)

* Dopesheet: Added "Moving Hold" as a keyframe type - Note that this will also automatically show "long keyframe" indicators between these keyframes (as you get with normal holds), so you can see at a glance where these are

* Dopesheet: Keyframe size can be adjusted as part of theme settings - For those who've been saying that by default the keyframes are bit hard to select

* Delta Transforms
   1) Added operators to make it easier to "Freeze" the current transform (either Loc/Rot/Scale together, or just Loc, Rot, or Scale by itself) into the Delta Transforms, leaving the normal transforms zeroed out again. These can be found in the Apply (Ctrl-A) menu
   2) The "Animated Transforms to Deltas" tool is now located in the Apply menu too, to make it easier to find it relative to the new tools


And from a few weeks back (for good measure):
* Ctrl-Shift-C: Made it easier to add constraints between bones in different armatures  - When the second object selected is an armature in pose mode with an active bone, the Ctrl-Shift-C operator for adding constraints will be able to pick the bone in the second armature as the target. Previously, it would only go as far as using the object

* FCurve Auto Colours: "XYZ to RGB" works for Quaternions too now  - The "W" channel uses a Yellow colour (blended from the X and Y axis colours).  (Note: If I knew what I know now, we would have had some stuff in place to ensure that colour animation was done in any colour space other than sRGB - even HSV as used here would be a lot better for a lot of people)

* Dopesheet: Circle and Lasso select now work  - These were relatively new additions to the Graph Editor (like only added in the past 1-2 years, from Gooseberry or so), so that's why they weren't there for the dopesheet yet

* GPencil: Eraser respects "Selection Mask" when in EditMode


I've got a bunch of other stuff planned, but for now, I'm not sure when I'll have time to get around to them yet. Hopefully soon (fingers crossed) :)

Happy animating!

Thursday, July 7, 2016

Violin Layering Experiments - 20160706

Earlier today, I had another fun session playing around with making overdubbed violin recordings. This time, I was mainly playing around with the order in which I recorded the tracks (e.g. "3 - Delicate" and "5 - The Last Moose" had the melody line recorded first, while "D-F-A" was an experiment in layering things up with layers hovering around each of the notes in a standard D-minor chord). The result is a set of pieces that I've found are quite nice for listening to while working, especially when played in the order I created the playlist in (hopefully it appears the same for everyone else... for reference, it's: 3, 4, 7, 1, 2, 5, 6)



Some of the dissonance in the tracks is still a bit unsettling (I'm working on it! It's getting better in general I think) and as a result may not be everyone's cup of tea, though on the whole, I'm again quite pleased with these tracks :)


Wednesday, June 29, 2016

Violin Layering Experiments - 20160629

Today, I played around with some more "layered" recording. Here are some of the better results:







This time, I nailed down my tech setup a lot better - laptop lid up (to not muffle the sound - I usually keep it closed nowadays as I exclusively use the external monitor), and headphones on for playback (it turns out I need to fully extend the cord and to actually have the band flat on top of my head to get the cords out of the way). As a result, there's a lot less "bad noise". Judging from these clips, I might be getting the hang of this... then again, you haven't heard the rejects instead :P

One of the biggest challenges still is keeping track of all the other "sync points" in the other tracks to avoid creating some nasty muddy/confused/out-of-sync clusters that just sound horrid and messy. It's particularly bad once the track count starts ramping up and it's no longer possible to show everything on screen at once. Maybe that'll be the next little "fun hacking experiment" :)