Showing posts with label rigging. Show all posts
Showing posts with label rigging. 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).

Monday, December 4, 2017

Production Notes (From 150YOD Video Project) - Things to Fix in Blender

To followup on my earlier #150YOD video post. I had originally intended to release this a lot earlier (e.g. around September 13th), but various things have been taking up my time over the past few months, delaying the release of this.


As has become my habit after completing each Blender project, here are some notes about things (bugs, usability quirks, observations, and general todo's) I ran into that need attention. Though it's mainly a list for myself, hopefully these notes may be of use to other people too.

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!

Wednesday, May 18, 2016

An In-Depth Look at How B-Bones Work - Including Details of the New Bendy Bones

Here's a breakdown of how the B-Bones in Blender work (including the new Bendy Bones stuff - see the other post in this series, which focusses more on the features themselves). I'm writing these notes up mainly so that I have something to refer to again in the future, if/when I need to do further work on this stuff. It took me a little while to figure out how some of this magic all fits together. However, now that I've figured this out, it turns out that it's quite easy to see all the extension points that this system has for adding interesting + useful features quite easily in fact. Therefore, before I forget about all this again, here we go!

BTW, all the diagrams within were done using Grease Pencil :)

Bendy Bones Dev Update

It's been a busy few months since I first announced that I was working on bringing Pepeland's Improved Bendy Bones to Blender. After being tied up with many other projects for the past few months, I just spent the weekend having a fun hackathon to get this functionality polished up and ready for general use in Blender proper. Along the way, I've also added a few cool new features, which really take B-Bones to the next level! Here's a sneak peak of some of these in action!



In each of these screenshots, you're seeing just a single B-Bone - no hidden stuff, no tricks. Just a single B-Bone...

UPDATE: It's now in master! (After a little fight with git to let me merge the branch successfully...) Woohoo!

Sunday, March 27, 2016

Driver Workflow Improvements - "Property Eyedropper" for Quicker Setup, and Other Features

It's taken a few days of intense hacking and investigation, but late this afternoon I finally succeeded in implementing a new way workflow for setting up drivers that should help streamline the process. Many have been requesting a faster way of doing this for years and it's been on my todo list for a while now until I finally got around to it this Easter.

Here's a little demo of how this now works:




Wednesday, January 27, 2016

Dev Experiments - Pepeland's Improved Bendy Bones

Over the weekend, I've been doing some experiments with the bendy bone improvements patch (original code by Jose Molina) that pepeland demoed at BConf15. To remind you of what this is about, here's are a few screenshots of the patch in action:

Three bones showing off how the bendy bone settings work: 1) Curve X/Y properties, 2) Scale In/Out, 3) Roll In/Out

Each coloured segment is a single bone


EDIT: Just to clarify any confusion, this is NOT Pose Sculpting. That is a separate project. See this instead for the latest updates.

Thursday, January 7, 2016

Tip: Matrix-Fu for Solving Rigging Problems

Sometimes when trying to figure out rigging problems (e.g. working out a hack to patch around some weirdness with bone rolls, or maybe coding your own little transform tools), it pays to know a few tricks about matrices. In this post, I'm going to try and provide some "practical" advice about working with matrices, particularly for those found in Blender.

Unlike many other guides about these topics you'll likely encounter, I'm going to do away with most of the formalisms and so forth that usually happens, and just tailor this specifically for Blender, and for the sole purpose of describing the 3D transforms of an object or bone. For many years I've been meaning to write a guide like this, so let's get started!


Thursday, March 20, 2014

Blender 2.70 Released

It's taken a few weeks to finalise, but today Blender 2.70 has finally been released at last! Among other things, this release includes features developed for Caminandes 2, and the first round of changes made by the UI team.

http://gooseberry.blender.org

In this post, I'll be taking a customary look at the new features and changes introduced for animators and riggers in this release.

Friday, November 8, 2013

Blender Tip: Disabling Path Following for Curve Parents

Recently I investigated a bug report and a similar thread on BlenderArtists about how to have greater control over how objects behave when parented to curves.

For instance, sometimes you want to parent one object to the curve object, so that the two components will be translated/rotated/scaled together. That is, when you go into edit mode on the curve and try to move the endpoints of the curve, the position of the child objects should not change, moving relative to the moved points.

To have child objects ignore changes to the curve path, simply disable the checkbox in the "Path Animation" panel header. This setting controls whether a "Path" (i.e. a tessellated representation of the first curve island within a curve datablock, with positions on this accessed using a parametric parameter - similar to the "Offset Factor" in the Follow Path constraint) is generated and used to determine the parent location that child objects see. It is enabled by default to make curve following animations easier to achieve.

Thursday, May 9, 2013

Blender 2.67 Released

You've probably heard by now that Blender 2.67 was released yesterday. If not, you now know :)


As usual, I'll be giving a quick overview of some main features in this release, but also highlighting some of the animation-related features and goodies that you'll find.

Friday, March 22, 2013

Driver Debugging Tools

Over the past few weeks, I've been working on various tools and tweaks to make it a bit easier to track down problems with drivers. I'll start with the latest and most visible addition, before showing off some of the less visible things...

1) Driver Value Indicators
In r.55489, I've just committed a way of showing the relationship between the "driver value" (i.e. result of the stuff in NKEY panel) and the values applied to properties being driven (i.e. sliders). This is shown in the screenshot below:


Tuesday, January 29, 2013

Obscure Blender Features: Skeleton Sketching

While looking into a bug report this afternoon, I came across a feature which I've rarely used or heard of being used which some of you may find interesting.


The Skeleton Sketching (or "Etch-A-Ton" tool, as it used to be called) allows you to draw your armatures using a combination of freehand (click-drag) and straight-line-segment ("click, move, click" - a la 'Poly' mode in Grease Pencil) strokes.

Thursday, January 3, 2013

FAQ - Constraints: The good, the bad, and the gotchas

In response to a recent post on BlenderArtists about the state of various constraints, I thought I'd take some time to clarify the current status of various constraints. In particular, those which are likely to cause some confusion.

Disclaimer: This is not a complete list. It only includes the most common problems people are likely to encounter.


Sunday, August 19, 2012

"Remapped Shape Keys Transfer" Revisited

Over a year ago, I released an experimental tool for transferring shape keys between meshes ([1] [2]). Unlike the builtin copy shapekeys tool, this one was built specifically for the case where the vertex counts were different but where significant parts of the mesh were still relatively untouched. This commonly occurred when you've gone and added some extra geometry (e.g. extra limbs/edge loops etc.) to a mesh after adding shapekeys.



Today, by popular request (and for a little diversion before jumping into my next block of scheduled project work), I've taken some time to check on this tool and get it working in 2.63/4 again.

Key Changes:
  • Fixed a small bug which was preventing it from working in 2.6.
  • Added support for copying vertex groups  ("Remapped Vertex Groups Transfer")

Monday, June 4, 2012

Mask Modifier 'Armature' Option

A few years ago, I introduced the Mask Modifier to Blender. It was originally intended as a tool for riggers which would make it possible to design rigs where the regions controlled by the selected bones are highlighted on the meshes themselves, and with hardly any bones in sight (inspired by this thread over on BlenderArtists). At the time, I ran into some technical difficulties which prevented it from being used for its intended purposes, though the other modes that were working have found their way into numerous production pipelines since.


Today at long last, I finally solved these lingering problems, and the Mask Modifier can be used as originally intended. Clutter-free rigs just got one step closer again...

Friday, January 27, 2012

Action Constraint GUI - Revised

While checking out a bug report today, I realised that the current GUI for the Action Constraint doesn't actually make any sense from a workflow/IA perspective. The following diagram explains exactly why:


Wednesday, September 28, 2011

Driver "Variables" - Why they exist

I'm aware that there has been a bit of angst among some users of the driver system in 2.5 over the need to define "variables" for drivers to recognise their dependencies correctly and update accordingly (assuming that this is one of the few cases the depsgraph allows us to safely achieve).

Tuesday, August 23, 2011

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



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.