Showing posts with label GSoC11. Show all posts
Showing posts with label GSoC11. Show all posts

Tuesday, August 30, 2011

GSoC11 - Pepper branch merged back to trunk!

As of revision 39792, the Pepper GSoC11 branch has been merged back to trunk. So, finally, many of the bug fixes which have been bottled up for a few months now will now be available as part of the main codebase leading up to 2.60

For a comprehensive (though maybe not complete) list of all of the tweaks I've been working on, please see my earlier post

Enjoy!

Tuesday, August 23, 2011

GSoC11 - Final Evaluation Done...

Right, just went through and filled out final evaluation form for GSoC. This year they've made it much simpler/more compact than in the past, making it quicker to fill in. Cheers Carol!

Now, on to other paperwork that needs to be done around the place...
  • Filing another complaint to the tax department asking for my money back AGAIN... I'd hoped I wouldn't need to do this again this year after having had to do it last year and double-checking the stuff I sent in this time, but noo... Probably just another thing to blame on the quakes, ripping an unexpected shortfall in the public purse again ;)
  • Finishing up a report for an assignment I'd worked on all the way back in February (but didn't finish the report for, and have now nearly completely forgotten what I'd done), for a course which got cancelled then and has now been resurrected, with all of this now due in two weeks. Hmm...
  • Eyeballing some summer scholarship projects being offered by uni, and figuring out which/whether to apply with deadline looming in a few days time
  • Meanwhile, trying not to spend all the rest of my time on hacking raytracer assignment for the sheer fun of tackling some things I'd always have liked to see...
... if only it were all as simple as this... *sigh*

GSoC11 - End of "Summer" Report

I guess I'd better make a little summary of the stuff that I've been working on this year as part of my Google Summer of Code Project, so here goes...



Monday, August 15, 2011

GSoC11 - Select Grouped by Keying Set

Just a quick feature update: I've just added tools to the "Select Grouped" operators (Shift-G) which allows you to select all the objects/bones that are affected by the active Keying Set.

Example Uses
In Object mode, this is mostly useful for selecting all objects that a absolute Keying Set includes.
1) for doing mass prop animation, you'd include all their location properties in a Keying Set
2) for checking which objects already have animation, change the active Keying Set to "Available" and run this operator. This will get you all the objects which have animation channels already, which can have further keyframes added

In Pose mode, the uses for this are more obvious:
1) Select all bones included in an absolute Keying Set to just move those which are keyable
2) With "Whole Character" Keying Set, use to check which bones it will affect

There are probably many more uses for this kind of functionality. But use your creativity!

Sunday, August 14, 2011

GSoC11 - Numerically editing keyframe properties

One issue which I know has been bugging people for a while is about how the editing the "Active Keyframe" settings in the Graph Editor properties panel is a bit clunky, if not downright nasty to use.

Since I started writing this post, I have had (long) since committed a fix for these problems.

AFAIK, there are were 2 major problems UI-wise:
1) Handle updates don't occur, leaving things potentially outdated
2) Units displayed for the key values don't match up with the visual representation

Friday, August 5, 2011

GSoC11 - Exploring and Improving Auto Clamped Handles

One of the long standing quirks of Blender's animation system for animators both new and old has been the handle types. In particular, "auto-clamped" handles...

Auto-clamped handles in action
Note how as the handles of the selected keyframe approach gradually taper off as they approach the neighbouring keyframe instead of "overshooting" (i.e. pushing the curve past the neighbouring extremes).

Wednesday, August 3, 2011

GSoC11 - Animation Channel Renaming

It's taken a while (including being distracted with other work for a few days), but finally it is now possible to rename animation channels by Ctrl-LMB clicking on their names in the Animation Editors (just like in the Outliner).

For instance, it's possible to rename Objects...
Actions...
Action Groups...


and more!

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.

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

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

Thoughts?

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?

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

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.

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.

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

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!

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

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

GSoC11 - Small Usability Tweaks

Over the past day, I've been working on a bunch of smaller tweaks aimed at improving the animation-management workflow. Here are a few (most visible) highlights in quick rapid-fire fashion...

Animation Editor Header Cleanup
1) Icons for the Mode menus
2) Datablock filters now hidden behind a "show more" button. They still apply, but are just not shown in the header by default anymore, since most people didn't seem to be using them that often
3) Shuffled order of filtering options so that group and F-Curve name filters are now closer to the start, since they are used more often.