Feature Requests


#141

You know, the more I think of it, the more I think my new constraint idea is not gonna happen. I’m no programmer … but I get an uneasy hunch that a Spherical Translate Limits constraint would be a major undertaking. It’s one of those things that’s easy for a human brain to understand, but (like collision detection) I think it’d be hard for a computer to grasp. I’m guessing it would involve differential equations, or something like that, to keep the bone inside the spherical space. Rocket Science stuff.

I’d still love to have this new constraint, don’t get me wrong. But … well. It’s foolish to expect a Nasa-level guidence system for a bone in an art program.

Sincerely,

Carl Raillard


#142

Actually, I wouldn’t have thought that it would be all that difficult to impliment. A sphere is an easy thing for a computer to understand. The only hard part as far as I can see would be working out how the bone would react to hitting the limit on an angled curved serface. It is probably worth asking anway if you think it would be beneficial. Maybe the Anzovins would have something to say on the matter if you asked them?


#143

Like Carl said, this would probably be pretty math intensive…but couldn’t it be done using “Expressions”?

Maybe my brain isn’t working right today, but if you put translate limits all the way around a bone (min and max all set to the same distance on x, y and z) it seems like it would accomplish the same thing.

I might not be right…I’ll have to put a project together to illustrate what I mean when I get a chance, probably not until extremely late tonight.

EDIT:

Doh! Okay, now that my head has cleared (and reading the previous posts) I understand that the translate constraints I suggested wouldn’t fit the bill. Sorry about sounding so dense…I still think there is a solution. How about a bone anchored at its base with the scale set to a range? That would give you a sphere with the kinds of limits mentioned. It’s probably worth some experimentation…


#144

Okay, it took me a while to actually mess with it, but here’s my interpretation of a spherical constraint that you can impose limits on and such (in the attached zip). When you open the “spherical.prj” project, it should have “Action1” open and ready to mess with. What you see is “Bone1” as the bone that defines the sphere, “Bone2” as the bone you would attach any geometry to and “Null2” (at the intersection of “Bone1” and “Bone2”) which is the manipulator…there is also a “Null1” that is set so that it isn’t seen which helps drive this.

When you move “Null2” around (“Bone2” can be moved independently as well, but the constraint only works by manipulating “Null2”) you’ll see that “Bone2” follows while remaining within the area defined by “Bone1”. You can move “Null2” outside of the defined area, but “Bone2” will still remain inside. You can adjust the area within the sphere that “Bone2” can occupy by changing the setting on the “Translate Limits” of “Null1” in the “Pose1” relationships folder. To make “Bone2” able to operate in a larger sphere, you’ll need to increase the maximum translate limit for “X” to something above zero, to keep “Bone2” from reaching the center of the sphere, you have to change the the minimum translate limit for “X” to something higher (-14, -13, etc) than “-15cm”.

  It is my humble attempt at solving this problem with the tools I understand, I hope it helps.

#145

Hello!

Thanks, Itsjustme, for spending the time investigating this problem. It’s certainly a fascinating rig.

It’s not quite what I’m after, though. The fact that bone2 is distinct from Null2 is the deal-breaker, for me. What you’ve cooked up is very similar to a Surface Constraint (one which uses a ball as surface, except you cleverly employ bone1 instead of a lathed sphere). You’re still positioning bone2’s placement on the ball by means of another bone (Null2, actually). I love how elegant you’ve made the adjustment of bone2’s freedom, just by adjusting Null1’s Translate Limit’s constraint. That’s cool. Still, my main need is to position everything with one bone, not two. Essentially I want Null2’s freedom to be curtailed. Picky, aren’t I?

Consider my Anzovin shoulder-rig example. The elbow-pointing paraphanelia is directed by the visible Bicep Control Bone. By analogy, this visible Control Bone would be Null2, in your setup. Since it’s still free to pull free from the end of the shoulder, it’s going to carry the elbow pointing stuff with it. This is exactly how a discrepency is introduced, between the control bone and its underlying geometery. This is how unpredictable behavior creeps into the system. Of course one could set it up so that the elbow control mechanism is directed by bone2, instead. But then bone2 would have to be visible all the time. This means you’d have two Bicep Control Bones … and Null2’s function would be reduced to that of “Shoulder Pointer.” Really, it would be simpler just to keep the shoulder visible. This is one of the reasons why I favor the Egg rig, because the shoulders are visible, and the elbow pointers function more precisely as a result. Still, I do envy the simplicity of the Setup Machine Rig. To be able to adjust the shoulder and upper arm with one bone, instead of two, is neat.

So for my purposes, your setup doesn’t quite cut it. Still, it’s neat to study. Joe Williamson needed something like this, for the knee of his Hunter model. Maybe it’ll be useful for him?

I’m definately keeping a copy of your rig on my hard drive, Itsjustme. If I ever need an object to remain in a spherical orbit, I’m going to use this puppy.

Sincerely,

Carl Raillard


#146

What you’ve cooked up is very similar to a Surface Constraint (one which uses a ball as surface, except you cleverly employ bone1 instead of a lathed sphere).
Well, this version of a spherical constraint isn’t like a surface constraint in that a surface constraint would keep a bone on the surface of a sphere while this keeps a bone inside the area of a sphere with the added option of limiting the percentage of that area as well.

Still, my main need is to position everything with one bone, not two.
In order to make a spherical constraint I think you’ll have to use at least two of something (unless you use a single bone that defines the sphere like “Bone1” with CP weighting I’m guessing, but then you would also have to vary the scaling of that bone so that it doesn’t operate like a surface constraint). Whether one is a null or a bone doesn’t matter, you’ll have to have a bone/null to define the center of the sphere. I used “Bone1” to define the center, “Bone2” to attach geometry, “Null1” to limit the area of movement inside the defined sphere (which can exceed the length of “Bone1”) and “Null2” to manipulate the rig.

Essentially I want Null2’s freedom to be curtailed.
You could limit “Null2” with a box-shaped “Translate limits”, it would keep the manipulator close to correct…except on the corners of the box that exceed the radius of the sphere. For me the fact that “Null2” can move outside of the defined area wouldn’t cause me any grief since the bone I want constrained can’t move outside the area I’ve decided on…actually, you could move “Null2” farther away with an offset on it so that the controller is easier to grab instead of reaching inside of something like a shoulder to manipulate it.

If you’re going for just a bone that is constrained to the surface of a sphere, you could use a bone to define the center of the sphere (like “Bone1”) with a child bone set to “Attach to parent” (let’s call it “Bone1/2”) then add another bone like “Bone2” to attach the geometry with a “Translate to” constraining it to “Bone1/2”. That would give you the spherical constraint, but you lose the adjustable area within the sphere that the original version has (I have attached a ZIP with a project to illustrate…the manipulator is “Bone1/2”). If you’re not worried about rotatation of the bone attached to the mesh, you could eliminate an additional bone.

I’m positive that there are other ways to accomplish what you’re shooting for, this is what I came up with by using the existing tools that I have a pretty good grasp of…there is probably the ability to set the “Translate limits” constraints as a sphere using Expressions, but I wouldn’t know the proper syntax since I haven’t messed with any of that yet. I’m thinking that the equation necessary can be found on the internet…I’m also not much on math. You could probably use an expression to vary the scaling of “Bone1” to stay within a radius, but, once again, I wouldn’t know the syntax etc. to implement it.

As for how the rig in “spherical.prj” would work inside of either the Raf or Egg rig, I’m only familiar with small portions of each…I generally roll my own, but it would be worth some experimentation in the future.


#147

You’re quite right. Your rig does have that advantage. I guess it reminded, a little bit, of a Surface Constraint because it involves two bones (surface and pointer).

As far as boxing Null2 in with a Translate Limits constraint, that’s not going to work. The problem with the aforementioned elbow pointing mechanism is due to the fact that the bone that guides the shoulder is not EXACTLY superimposed on the underlying geometry bones. Rigs are similar to lawn chairs. The looser they are at the joints, the more prone they are to folding or twisting in the wrong direction. Even a slight discrepency is enough to create wacky behavior.

I should mention the Setup Machine rig is fine, as is, for characters with insubstantial shoulders (e.g. Mickey Mouse). But if you’re using it to rig the Incredible Hulk, and you want him to shrug his shoulder in combination with complex arm swings, then I’d advise telling the Setup Machine NOT to install the elbow guidance system.

Thanks for the new zip file, Itsjustme. I’ll snatch a look at it, when I get a chance.

I’m intrigued by your suggestion that a Spherical Translate Limit might be accomplished by means of an Expression. I haven’t had much luck with Expressions, though. Every time I’ve tried to create an Expression – any Expression – I couldn’t get it to work. The dang things hate me! :curious:

Sincerely,

Carl Raillard


#148

Since there isn’t a whole lot of documentation for Expressions yet, I think everyone is in the same boat for the most part with them. I tried putting an Expression on a limit, but it didn’t appear to be an option. At this point I don’t know what can or can’t use an Expression without some trial and error. Then I’d still have to get the syntax right…and so far I’ve gotten a lot of syntax errors when I tried some experiments.

I haven’t really used Raf’s or Egg’s setups I wouldn’t know how to address anything specific in them…from what I’ve looked at they’re both very nice. Can you show an approximation of what you’re trying to achieve? Maybe somebody here or the Hash forums would know how to accomplish it.


#149

I finally took a good look at the Generi-rig for Maya (with the learning edition). I see the charater used everywhere and now I know why. The shelves feature and the trigger UI sure make selections a breeze. I would like to see something like this. Or something like this just for organizing a custom PWS.

http://www.andrewsilke.com/generi_rig/generi_rig.html


#150

Hello, folks.

A while ago on this thread I suggested an idea for a Spherical Tranlate Limits constraint. I said “Feel free to throw flowers or bricks at my idea.”

Well, now I want heave a big heavy brick at this idea of mine. Quite frankly, I don’t think this feature suggestion is worth the trouble to implement.

What prompted my revevaluation was Sonofpat’s SURE rig. http://www.cgtalk.com/showthread.php?t=197057 He pretty much achieved what I hoped to achieve with this new constraint by simply hiding a pertinant bone. Upon careful consideration, I realized that having the bone’s rotation drivers in the timeline was not a big problem. What I didn’t like was having to select an extra bone while animating. Pat’s solution is better than a new constraint, I think. Just hide the sucker, and rotate it by means of its visible child.

Pat had another suggestion, which I think is worth repeating:
Make Patch Visibility a property of each Group.
That is a majorly brilliant idea! :buttrock:

Sincerely,

Carl Raillard


#151

If you didnt find a resolution on the smoothing-issues, I have one:
Stefan Gross has written a free plugin which can smooth a spline out…

And he wrote a free plugin which can subdivide selected patches… check the plugins out at:
http://www.sgross.com/

Bye Fuchur


#152

GENUINE SUB SURFACE SCATTERING ( please ! )

Oh … one more : A curl and clumpiness feature to hair.


#153

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.