See the file.
Handles are set to automatic in the curve (edit mode, V > Automatic).
I added hooks to single vertices (edit mode, ctrl H > Hook to new object).
I went into object mode and moved or rotated the hooks (Empty.001 or Empty.002)
The vertex handles do not behave automatic, but rather like Aligned or Free type. The handles rotate with the vertex, and do not align according to their neighbouring vertices as Automatic handles should.
This leads to big problems with spline IK, in particular when the hooks are tightened, the bone chain will fold instead of shorten.
Blender svn r44559M
KDE 4.7.2 r5
See the file.
This seems to be a bit of a design issue, automatic handles are treated as an editing setting, not used for animation.
It seems easy to fix, I've attached a patch, but I'm not sure of all the implications of this change. Sergey, what do you think?
In my armature it works perfectly, thanks!
It will break other armatures for sure, but they can be fixed by reassigning the vertices with Aligned handles, then it will behave as it did before.
Brecht, i've beenaware of this issue for quite a long time but can't think about general solution for this. Yuor patch for sure will resolve particular issue of hook modifier (with some regressions of older files but that's another story). There are still two issues after applying your patch:
- if you'll animate a particular CV of single handle handles wouldn't be recauclulated which will be still a crap.
- If you'll have aligned handles type it'll fail to detect order of aligning handles. Current;y it's assumes that non-selected handle should be aligned to selected one (weak assumption that handle's coords can be changed by transform tool only).
I'd say that handles recaulculation you've made in patch is indeed seems to be reasonable but before commiting this wanted to know if you'll be ok with:
- Missed compatibility of files (don't think it'll be big issue if change will be documented well in code.b.o or wiki page)
- The fact that not all ways of animating CVs and handles will lead to correct handles recalculation as it was described above (a bit exhausted after such a long flight, maybe it'll be also simple to fix but cant think about nice easy way of doing this atm).
I'm not too worried about compatibility, but depending on selection is a problem. A semi-solution could be to only do this for Auto handles and not Vector/Aligned handles, but that's still weak.
AUto handles were fixed in svn rev30406, aligned handles aren't changed yet. It's a bit more complicated issue which i'd wouldn't really consider a bug, just limitation of several areas.
Thanks for the report, closing it now.