Pydriver exciting stuff does it mean we can now create a custom controller for an IK/FK switch ?? I have an idea but my programming skills are non exsitant.
I’ve been giving this a lot of thought and would like to know if it would be possible now to have a IK/FK switch simiar to the one that some maya rigs use bear with me on this it will make sense…(hopefully)
See tutorial on http://rigging101.com/ ik/fk switching tutorial.
Set Driven Key Select as your driver the locator switchIKFK.
As the driven, select the elbowREAL_orientConstraint1. (You can select it on your Hypergraph)
You’ll have elbowIKW0 and elbowFKW1 as attributes.
Create a Set Driven Key with armIKFK set to 0 and elbowIKW0 set to 1 and elbowFKW1 to 0.
Create a Set Driven Key with armIKFK set to 10 and elbowIKW0 set to 0 and elbowFKW1 to 1.
Do the same for the shoulder.
(Driven Keys as we know can be achieved through the use of actions on the armature.)
Create a locator.
Name it: switchIKFK
Add an attribute called “armIKFK” with a range of 0 to 1
(what im thinking here is that another bone could be used with a custom bone shape to be seen by animators which controlls the IK/Fk switch)
In other words what im propsing is you have your arm chain set up.
Two actions one where the IK constraints are enabled.
Another action where the IK constraints are disabled.
Over the same time frame on top of each other.
So you’d have two actions.
One called something like “IKon” time frame being 1 - 10
Another called something like “IKoff” time frame being 1-10
Then setting a dummy bone to be the driver for these actions.
Then link this bone to an atractive cotroller object with a custom bone shape (maybe have to use constraints ???)
The linking of this to work I think needs PyDriver as I remeber tring to do it in 2.40 and it wouldn’t work with IPO Drivers.
However we now have PyDriver which if I undersatnd correctly can write to itself thus making the creation of custom controllers viable.
Like I said I am no way a programmer an can just about do hello world with HTML so my challenge is for someone to come up with the PyDriver expression that would make this work.
I really hope this makes sense if it doesnt please let me know and i’ll try to explain a bit better.