'Goldy' rig (controller2.blend) in test240

I found another neat rigged character in the test240.zip regression file,
in the ‘animations’ sub folder with the unlikley file name of ‘controller2.blend’

http://ftp.cs.umn.edu/pub/blender.org/demo/test/test240.zip

For some reason, after either keying the armature or the facial controls, the facial controls stop working. I haven’t traced down the exact sequence of operations leading to the error … will try to do so.

Bug ? (blender 2.41) … or more likely operator error :slight_smile:

Mike[/img]

Dang, I saw ‘Goldy’ and a University of Minnesota ftp site and thought someone had rigged our mascot Goldy Gopher. This is actually Bassam’s Orange-guy rig, one of the first examples of IPO drivers in Blender. You can see his introduction in the Project Orange blog. He’s very useful for understanding driven shape keys.

I haven’t had that problem with the controllers. What exactly do you mean that they stop working?

I would call it a bug, but it might be intended behavior. Either way, there is a work around.

Look at my Ludwig rig posted in the finished projects forum (or click on the link to my website below, and then click on the icon with the blue guy on it). If you take him apart, you’ll notice that I made seperate armatures to control the body and the face (face armature is on layer 11). The reason I did this was to avoid the behavior that you have noticed with Bassam’s rig.

Thanks for the link. I’m looking at that page and the Blender wiki, but if you have any other links to tutorials on how to setup the IPO drivers that would be great

Here’s a zip file with the original ‘controller2’ blend file and another file where the ‘jaw’ and ‘look’ controllers are not affecting the mesh anymore.

Mike

[quote=“sketchy”]

I would call it a bug, but it might be intended behavior. Either way, there is a work around.

Look at my Ludwig rig posted in the finished projects forum (or click on the link to my website below, and then click on the icon with the blue guy on it). If you take him apart, you’ll notice that I made seperate armatures to control the body and the face (face armature is on layer 11). The reason I did this was to avoid the behavior that you have noticed with Bassam’s rig.[/quote]

What do you mean ‘intended behavior’ ? Is that rig supposed to be working? Should I be keying the location of the control objects to animate the face ?

I’m not even close to the stage of being able to take apart / fix a rig :slight_smile: … (well I can take it apart :slight_smile: :slight_smile: …)

Mike

What I mean is, if you have a rig where some bones are driven by IPO drivers and some bones are not, and you key some of the non-driven bones, then the drivers stop working. I don’t know if this is what the developers intended to happen, or if it is a bug.

mstram: With a rig such as this you would usually animate the controllers to set the facial expressions. To do it yourself, you will first need to learn to set Shape Keys (formerly known as RVKs) for the face positions. Then you need to learn IPO drivers to create the controllers.

AndyD wrote a good short tutorial on shape keys in this thread.

Here is my attempt to describe IPO drivers from another rambling thread:

  1. Open a 3D window and an IPO window. Select the object that has Shape Keys defined. In the IPO editor, select IPO type “Shape” from the dropdown. You should see a list of the defined shapes on the right side. Select one, and select its IPO curve.
  2. Press N-key to open Transform window. Click Add Driver. In the OB: field you can now enter the name of your controller object; it can be any object that can have a Loc, Rot, or Size IPO. You can even use an Armature (see below).
  3. Now in the menu with “Driver Channel” tool tip, select the driver type. Here you tell the system whetner you want a change in the controller’s Loc, Rot, or Size to effect a change in the Shape.
  4. Press I-key in the IPO window to create the driver relationship. The default is One-to-one; you can edit this curve to change the relationship.
  5. Now when you change the controller’s Loc, Rot, or Size (whatever you picked) the Shape will be changed accordingly.

Note for Bone controllers:
To use a Bone as the controller, put the Armature’s name in the OB:field. Now in the Driver Type dropdown, if you select a driver of type Pose, a BO: field will appear where you can type the name of a bone. This bone will be the driver, and again you can use its Loc Rot or Size to drive the IPO.

Note that IPO drivers are not limited to Shape keys; they can affect any property that can have an IPO curve (e.g. color). Do not be discouraged, it is actually easier than it looks at first. Hope this gives you a start.

CD38,

Thanks for the info and links. Eventually I’d like to create/rig my own characters. Looking at working examples like this one, is a great start.

I read the Orange blog page and there were some comments about jaw/look controller not working /… then were fixed (are they fixed?)

… problems with NLA/alt g/r.
Someoe also mentioned ‘forcing a refresh of the 3d viewport’ (how do you do that?)

What is the workaround / fix / cause for the controllers to stop working?

Mike

Can you explain what the problem is?

Be as technical as you’d like :slight_smile:

Mike

I don’t know what the cause of the problem is: only the symptom.

And the symptom is: you can’t mix driven IPOs and non-driven IPOs in the same armature. The driven IPOs break.

The solution then is simple: since you can have more than 1 armature deforming a mesh (thanks to the new modifier stack) then you can have 1 armature that has all of your driven bones, and another armature for all of your keyed bones.

However, considering that you are new to rigging, these are very complex topics. Don’t be scared off! I’d recommend building some basic rigs before you start playing with advanced tools like IPO drivers.

OK, thanks for the further info.

Correct me if I’m wrong, but is the only reason for the driven IPO’s in both these rigs, is to provide the ‘onscreen’ user interface?

If so, then until this bug is fixed, then one solution, is as you have described and used in your rig.

For the ‘Goldie’ rig, I wonder if the quick fix is to just remove the drivers, and use the action wiindow sliders ?

Or … to assign a driver to every bone in the armature … some could actually be linked to controls, the others just connected to empties ?

Mike

Unless I’m missing something, there is no quick fix for Goldie. I think he was created before the new rigging features, and then was used to test them. I don’t think he was ever intended to be animated.

The two quick fixes you described won’t work:

1.) The driven shape keys (which are what have sliders in the action editor) are not the problem. Its the driven bones in the face that are causing the issue - and those don’t have sliders in the action editor.

2.) While technically your second proposed fix will work, it drive you insane to set it up (definately not a quick fix), and it might drive you even more insane to try to animate with it afterwords. :smiley:

Good thoughts, but unfortunately I don’t think that goldie is repairable without some major disassembly and reconstruction. :frowning:

The solution then is simple: since you can have more than 1 armature deforming a mesh (thanks to the new modifier stack) then you can have 1 armature that has all of your driven bones, and another armature for all of your keyed bones.

This is fine for facial animation. Unfortunately, a major use for using bones as drivers for shapes is to use shapes to fix mesh deformations. Driving these with bones other than the deforming/keyed bones defeats the whole purpose.

I’ve just run across this problem myself and I have to say that I am not too pleased about it. Has this bug been reported? It is definitely a bug.

This is fine for facial animation. Unfortunately, a major use for using bones as drivers for shapes is to use shapes to fix mesh deformations. Driving these with bones other than the deforming/keyed bones defeats the whole purpose.

I guess you could have “copy” constrained bones on a separate armature which deform the mesh. Not pretty but a partial solution until the underlying problem is addressed.

I don’t know anything about it except what I’ve read in this thread - and I’d trust Sketchy’s summary of the problem, but it seems an odd problem to arise. I would assume the underlying coding of driven IPOs is similar to the action constraints Blender riggers have used for ages to control poses.

You’d have to assume the Orange Team would have run into this problem… wouldn’t you???

(Hey Sketchy - thanks for the brilliant Ludwig rig. All I need now is several hours to begin to work it all out!)

I guess you could have “copy” constrained bones on a separate armature which deform the mesh. Not pretty but a partial solution until the underlying problem is addressed.

This is the solution I’ve been going with. Like you say, it’s not very pretty but I think it should do the job for now. As for the problem being real, it seems that it is… at least, my driver bones suddenly all stopped working, and I would have been completely baffled if I hadn’t seen this thread first, so I had a kind of inkling that it might happen.

I’m not sure what the problem is- I’d have to look at the file again. My guess is some feature that it used at the time the file was posted changed, have to see what it is.
One of the difference may be that Emo and Proog don’t have driven bones- they use action constraints to “drive” the bones instead of driven keys- driven bones just had too many little issues- couldn’t drive a bone with a bone was one of them, but there may have been more issues.
I’m planning on doing an update on that rig with a few more neat things that I learned in the course of project orange, and some not so neat but good workarounds to limitations in the blender system. I’ll probably post the .blend and my conclusions on the orange blog sometime next week if there’s any interest.
PS I might steal some ideas from sketchy’s rig
PSS his name is mancandy! not goldy or the orange guy! get it right :stuck_out_tongue:

Something like this ?

Mike

Something like this ?

Almost, except, at least the way I’ve got it (which I haven’t fully finished experimenting with, so take this with a grain of salt) is backwards from this. I have the copy rotation constraint on what you call the Control Armature. So I pose the deform armature just like normal, then I’ve got, in my case, a couple of leg bones set up which copy the rotation of the deforming leg bones (I didn’t make a second copy the whole armature, only the bones I want to use to drive shapes).

At present, I’m still slogging through getting these driven shapes set up, which is proving a lot less straightforward than it could be, so I can’t vouch for the effectiveness or robustness of this method.

sorry for the lateness, if you check the orange blog, you’ll find an updated rig… should work on current and cvs blender.

Thanks again Bassam !!!

Just taking ManCandy for a test “drive” now :slight_smile:

Bassam’s Project Orange Blog entry with details about the rig

ManCandy rigged Character

Mike