Wednesday, July 27, 2011

GSoC11 - startup.blend tweaks

I've just gone ahead and made those startup.blend ("defaults") changes for the Graph Editor, which I've been putting off for a while, namely:
1) Larger handle circle sizes
2) 'Only Selected' DopeSheet filter enabled by default (for Graph Editor) - useful when trying to just tweak animation of selected bones, though may be a bit of a pain when using the Drivers mode (?)
3) 'Only Selected Keyframe Handles' enabled by default - hides the handles of non-selected keyframes to reduce clutter

The main reason I've postponed these is because they introduce hard-to-merge stuff, though I think we should be fine now to do this.

GSoC11 - Experimental curve drawing tweak

I've just committed a small tweak which makes the active F-Curve draw thicker than non-active ones in the Graph Editor.

- It's easier to see which one is active (i.e. the one you're editing), especially with the handle options that most people use.
- Thickness + opacity combined are much stronger than just opacity alone

- Perhaps it's less visually accurate - harder to tell exactly where value lies with regard to the curve line. This is a major reason I've avoided doing this before, though I suspect that it's not likely to be that much of an issue in practice (i.e. people will zoom in several times before they need more precision)


Tuesday, July 26, 2011

The great thaw

As is customary in these parts, snow falls only last a day...

Monday, July 25, 2011

Waking up in winter wonderland...

It's been snowing all night and right through the morning, with a reported 10cm of snow on the ground. Yay!


It's been a long time coming (3 years) since our last snowfall, but tonight, it had finally arrived!

Sunday, July 24, 2011

GSoC11 - RNA Property Updates working for AnimSys

So, on a cold winter's afternoon while waiting for the first snowfall in 3 years to come (it started falling by the time I finished, but more on that in another post :D) I set to work on a problem which people have been running into for a while: RNA property updates weren't getting run by the animation system.

This hopefully shall be a useful reference for either myself or anyone who may need to modify this system due to changes later.

EDIT: the obligatory demo video...

RNA Updates demo video from Joshua Leung on Vimeo.

Friday, July 22, 2011

GSoC11 - Animator Poll #4 - Theme Colours

It's time for another poll. While I'm still working through the results from previous polls, here are some more things I'd like some feedback on, which will (depending on the result) be included on my todo-list of stuff to bunch together for a single defaults-file update.

1) Colour of Current Frame Indicator
As from the screenshots you're probably seen in previous posts of my blog, I've been trialling using a red time indicator (the traditional Blender one is green). After a while, I have to admit that it kind of grows on you. So, should we keep the old green colour, or move towards the red that I've been using?

2) Handle Colours
At the end of the day, this probably won't change to keep consistency with the 3d view, but the colours of the lines for the keyframe handles are perhaps not that clear. Thoughts on whether a new set of colours is needed here, and/or what they might be?

3) Active/Selected F-Curve in Graph Editor - do we need to highlight this better, perhaps using a white glow behind it, or go the Maya route and just highlight it in white?

More Sintel Posing Fun

Experimenting with camera angles and backgrounds...

GSoC11 - Depsgraph Hacking - Driver Updates

This week I'd set aside some time to get through some of the bug reports on the tracker. And it happens that there are some related to the depsgraph and drivers, so I thought I'd go in and give this stuff another crack to try and push the frontiers of our current depsgraph's limitations before the inevitable big recode project ;)

So the problem I set out to investigate was whether it would still be possible in the current architecture to hack the depsgraph to at least tag + flush updates for object data id-blocks (e.g. lamp data in this particular case). In particular, trying to drive the location of a cube using the distance setting of a lamp.

Saturday, July 16, 2011

Saturday Afternoon Photos...

Between being busy and boring uninspiring light, it's been a while since I've played around with macros.

GSoC11 - Sneak Peek - Strip Handles

Over the past few days, I've been working on the following feature...

Yep, handles for NLA strips.

Although not enabled (visible and usable) by default, they should make it easier to adjust strip endpoints separately if there's such a need.

Currently, more work is still needed for dealing with actually moving these handles, so this won't be available in Pepper branch yet.
Before I carry on any further, I'd just like to check: is there any interest in this, or should I move on to some other issues first, and then come back later?

Wednesday, July 13, 2011

GSoC11 - Drawing tweaks for solo'd tracks

You've spoken, I've listened.

In the NLA, many users were being confused by the obscure little yellow dots beside the names of NLA tracks, which when clicked, would cause actions and other NLA strips to stop working. It was even driving some to the point of insanity...

As shown in the above screenshots, there is now greater differentiation between the solo track and others which are disabled, when solo is enabled. The dot icons have also been replaced with some humble star icons.

Tuesday, July 12, 2011

Rigging an Umbrella - In action

A quick little motion test of the rig in action:
Umbrella Rig Demo 1 from Joshua Leung on Vimeo.

Actually, it's been working since Sunday, though I've been trying to tweak it still, since the closed state is still a bit problematic.

Monday, July 11, 2011

GSoC11 - Outliner Code Cleaned Up!

This afternoon I spent some time cleaning up the code for the Outliner. Since its inception back in 2004 for 2.35, it has practically all resided in a single file: outliner.c

While back then, this was pretty "normal" (well, if can call a single directory, with some many files that you end up having trouble linking it sometimes on some platforms). However, now with the 2.5 code layout, we can afford to have code spread out in far more files, as each editor has its own little module now.

Saturday, July 9, 2011

Rigging an Umbrella - A working rig at last


Rigging an Umbrella - The saga begins

In a spark of Friday afternoon creative motivation (or perhaps otherwise known as having had a few too many cups of coffee while enjoying a "lunch" out at Drexels), I decided to brush off my rusty rigging skills and try and rig up a simple umbrella.

The simple model I quickly whipped up. Nothing fancy here... move on, move on...

On one hand I thought, it would be a nice opportunity to check on the current state of rigging tools in Blender (and perhaps pick up some easy fixes to make as part of GSoC11). On the other, I was just curious to try and give this a go (having mostly done organic character stuff in the past, mechanical contraptions were something that I'd only done once or twice).

You may also be interested in trying out this exercise. In which case, skip reading the following until you've had a crack at it first :)

Friday, July 8, 2011

GSoC11 - More compact NLA display

In response to complaints from a few users, I've been looking into how NLA channels are displayed so that using the NLA to do large-scale object retiming is possible.

Wednesday, July 6, 2011

Sintel Pose Tests - Playing around with modified rig...

Just playing around with a heavily modified Sintel Lite Rig...

GSoC11 - An easy way to create expressions...

In case you missed my commit the other day, I've recently committed a new feature which makes it easier to set up "expressions".

Expressions (otherwise known as "Scripted Expression" drivers) basically provide a way to control some property programmically, either using some mathematical formula to procedurally generate animation, or perhaps to set up some kind of driver (one property's value "drives" another).

As seen in the screenshots above, to add an expression to a property:
1) Simply click on any numeric field to start editing its value as text, and delete the initial text
2) Type the '#' character to tell Blender you're about to enter an expression. If you don't Blender will think that you just want the expression evaluated immediately (i.e. the old, type Python code in a button to calculate a value)
3) Type in your expression. This can be any valid Python statement which can be evaluated a number
4) Press Enter, and a new Scripted Expression driver is created for this property!

Sunday, July 3, 2011

Christchurch Airport

This morning I was out at the airport. Over the past few years, there's been a massive construction and renewal processing taking place, with a new integrated domestic+international terminal being built. This opened a month of two ago...
 Control tower
From second-floor foodcourt in new terminal

Friday, July 1, 2011

GSoC11 - Icons!

Following up on my experiments with the toggle icons in the animation editors, I've just committed some icon changes for these and more. A screenshot says a thousand words, so here goes...

What can we see here:
1) Curve visibility is now denoted by the eye icon
2) Muted status is now denoted by the speaker
3) Drivers now have their own icon. The particular icon in use here is quite rough, so any suggestions about a better one that can be used here are very welcome.
4) Keying Sets also have their own icons now