Showing posts with label experiments. Show all posts
Showing posts with label experiments. Show all posts

Saturday, April 14, 2018

Future of Animation Tools - Some WIP Thoughts and Ideas (+ the Role of Pose Sculpting in All This)

As a follow-up on my earlier brief discussion about the general direction for Motion Path editing in Blender, I figured that it's probably time to outline a bit more my longer-term vision for the future of the animation tools (mainly in Blender, but also the wider animation industry at large) to give a bit more context/motivation to my earlier comments.



I had originally intended to release this all a bit later once I had a few more key pieces in place, but, inspired by Raf Anzovin's enlightening blog, Daniel M Lara's Easy Rigging stuff, the exciting developments in the VR-based animation space, and also the 2.8 code quest, I decided to put this out earlier.

In this article, I'm going to try to "throw the ball further" (as Emirates Team NZ would say) and take a more comprehensive view of where we need to going in the medium to long term, as well as what steps we can take now.

(NOTE: I originally started writing this article in NZ, but in between preparing a new laptop for travel, and travelling to/settling in Amsterdam for Code Quest, I've only had time to really work on finishing this in the past day or so).

Saturday, February 11, 2017

Crazy Ideas Folder: OpenGL Renders in "Background" Mode via Mesa GL?

This evening, I caught a mid-conversation snippet that had me thinking, "Is that really so? I'm not so certain about that..."  (or perhaps my supervisor's frequent utterings during our meetings have been starting to get ingrained in my mind XD).  Anyway, the quote in question was:

"it's not possible to do opengl render in a background mode"

Really?!  I know it's not **currently** possible to do an OpenGL render in background mode, and perhaps there are limits to what we can achieve (especially if you're not allowed to spawn any windows and/or there's no graphics card on the rendermachine).

However, something from the vague hazy memories of the past tell me that this is not a cut-and-dried certainty.


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


Thursday, July 21, 2016

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


Wednesday, June 1, 2016

Next Gen Animation Dev - Dev Update 3

As promised, here is a video updating showing off the current state of the Pose Sculpting and Pose Sketching tools, and how they can be used for a more fluid animating experience.



Sunday, May 29, 2016

Next-Gen Animation Dev Sneak Peak - Teaser Pic

Woohoo! Tonight I finally got stage 1 working at last!  More details about the entire grand plan here will follow in due course, but let's just say that what you're seeing here is just like the tiniest/most basic little stepping stone of the full set of things I've been dreaming about and working towards on and off for a few years now... I'm planning on recording a little demo video of the current state of all this stuff later today/tomorrow, which should help make it a bit clearer what's possibilities this brings. In the meantime, feast your eyes on this little teaser screenshot I grabbed of the tools in action:

Rig: "Basic Animation Rigs" by Beorn Leonard/CG Cookie  (CC-BY-3.0)


Even in the primitive state that things are in now, it's clear that these tools are going to be every bit as amazing as I imagined way back in 2010 as I stood in the bookstore reading Richard Williams' famous "Animators Survival Kit" book and getting quite inspired to push the state of animation tools into a new era :)  

Now, back to work!  Hehe :D

Thursday, March 10, 2016

Workspace Upgrade: New 27'' Monitor

Today, I finally went out and got myself a nice big 27 inch 4k IPS monitor for use at home. I'd been stewing and investigating move this for several weeks now (though the idea of getting a larger external monitor for use at home has probably been floating around over half a year now).

Saturday, October 25, 2014

Dev Test - Using GLU Quadrics for Drawing Grease Pencil Strokes

While playing around with ways of implementing stroke-filling, a thought occurred to try experimenting with using GLU Quadrics (specifically, the disc primitive) for drawing the 3D points too (and perhaps for the strokes themselves).

Without further ado, here's a little demo vid showing what the effect looks like:



If you want to get your hands on this to play with it, you can find this on my GitHub Blender Repo:
https://github.com/Aligorith/blender/tree/GPencil_FillStrokes

(Just to clarify things: the main branch for Grease Pencil stroke editing tools is still on developer.blender.org - https://developer.blender.org/diffusion/B/browse/GPencil_EditStrokes/
The GitHub branch is purely for experimental hacks at this stage)

Monday, July 14, 2014

Experiments with QML and Vim

This weekend, I've been having a lot of fun playing around with QML, and doing so in Vim (instead of my usual Notepad++). Chances are that you probably haven't heard of QML before (or if you did, your projects at the time wouldn't have really benefited from it, given that it does have limitations when it comes to being able to use standard widgets).


QML is basically a "declarative" language for defining dynamic UI's, built on top of the Qt Framework. It's syntax is like a nicer version of CSS, with the ability to throw snippets of Javascript in when needed to define small bits of custom logic when needed, and (if it's hosted via PyQt) you can even code up any of the more "tricky" or substantial logic in Python, then use the PyQt QObject bindings to make this available to your QML code.

Although it doesn't come with a fully fleshed out widget set that you can use (though apparently, this is only true for the PyQt4/Qt4.x that I'm still using, as they've developed a set of widgets for that purpose in Qt5), it more than makes up for that in terms of what it enables you to do instead.

Basically, if you're looking for a lightweight domain-specific language for defining/prototyping little graphical scenes, complete with dynamic behaviour (i.e. procedural animations, animation effects, and transitions in response to user input), and the ability to compose/package up you creations as reusable assets, look no further. This toolkit is for you!


Friday, January 24, 2014

Blender + FFMPEG - Notes on Getting Usable Video Output

Everytime I work on a video project after not doing so for a while, I'm eventually reminded of just how sucky the situation with Blender + FFMPEG video output really is. In many ways, it is really quite a frustrating exercise, though admittedly already much better than it was a few years ago. (For starters, it now crashes a hell of a lot less, though I've also only been trying relatively "common" and "sane" format configurations this time).

This time, I had specific requirements for the types of acceptable formats I needed to output to, which helped narrow down the field a bit. Specifically, I needed .mpg, .mp4, or .mov output (with the associated "default" codec/encoding schemes associated with those). To keep things simple, the aspect ratio used was "basically" HD (i.e. 75% HD, to keep the rendertimes on some of the more intensive shots down).

In this post, I list out the results of some experiments I did to find something that would work well enough across various players.


Thursday, May 24, 2012

Sneak Peek - Group Colours for Animation Channels

In response to some recent feedback I've been hearing about the difficulties of managing animation channels, especially for bones, I've been taking a look at restoring (at least partially) one of the features from 2.48.

Saturday, May 5, 2012

Blast from the past - Ludwig van Byteoven snippet


For a bit of Friday night entertainment, I dug up my first major/non-trivial programming project that I had started way back in 2005, and worked on for about a year before other projects took over most of my time. It was called "Ludwig" (after Ludwig van Beethoven) and was an attempt at creating a piece of software that could "compose" credible sounding pieces of music... or at least that was the goal ;)

Thursday, February 2, 2012

Animators Wanted - "Pose Sculpt" Alpha Testing

Over the past few weeks, I've been busily working on developing a set of new tools aimed at improving the ways that we can pose our rigs. Today I can finally announce that Pose Sculpting is now finally here and ready for an initial round of alpha testing out in the field!




Pose Sculpting Demo 1 from Joshua Leung on Vimeo.


So, calling for alpha testers, and importantly, feedback!

Monday, January 9, 2012

Sculpt Blob

Just playing around with sculpt mode...


Sculpted Blob Test from Joshua Leung on Vimeo.

First time I've managed to get it to actually do anything. Apparently I've been trying to use it with meshes that were too low res for it to work!

Friday, September 16, 2011

Blast from the past... "Developer Art"

"Goldfish Pond"

This is almost 2 years old now - it was a screenshot I made when I was working on Grease Pencil back in 2009. I think at the time I was just randomly trying to see what the strokes would look like if/when they overlaid each other, so I set about drawing a bunch of random squiggles - one layer per colour I think - which resulted in the image above.

Recently, I've been using this image as a convenient test image for some stuff I've been working on which is currently taking up quite a bit of time (this particular project has been in crunch this week, with a deadline end of next week).

Thursday, September 8, 2011

A slow render...

First render of a "proper" mesh from the renderer I've been working on as part of a uni assignment.
Of course, without any fancy acceleration structures whatsoever (including no bounding box checks yet), the rendertimes on this were probably to be expected (though I suspect, still on the slow side of that).

EDIT: a simple boundbox test on just the top-level is sufficient to reduce the time by to just a quarter of the raw "stupid" time

Thursday, June 30, 2011

GSoC11 - Playing with the mute/visibility toggles...

By popular request, I've taken a look (but nothing committed yet) at swapping the icons for the Graph Editor visibility status and muting of channels.

Cue artifact 1:
1a

Thursday, June 16, 2011

GSoC11 - Simple Title Cards

When putting together brief animation tests and/or feature demonstrations, it's often necessary to be able to include some brief clips/slides which simply show some text. For example, a title card showing summary info such as a short title and author, or perhaps section headings to guide the narrative (e.g. "before applying our amazing new technology" vs "here is what our stuff can do").


Today I present an experimental feature for doing so. Cue video...

Title Cards Demo from Joshua Leung on Vimeo.

Saturday, June 4, 2011

GSoC11 - FModifier Range Masks

I've just committed an experimental feature in my SoC branch which let's you specify the frame ranges which F-Modifiers are applied for. This allows for interesting effects such as:
What you're seeing here are two Noise F-Modifiers on a single F-Curve. The first is an amplified high frequency one, and the second, a low frequency one.