Jump to content
Hash, Inc. Forums

Tentacle rigging


Eric2575

Recommended Posts

Hi guys:

 

I'm modeling a tentacle to go with my Nautilus and need some advice on how to rig the sucker for some smooth manipulation. So far I have a simple tentacle with linked bones for every segment. Bone 1 has spline ring 1 assigned to it, bone 2 has the second spline ring assigned to it, and so on down the tentacle. I have no fall off or anything else set up. I also don't have any experience in rigging. Soooo, if someone could walk me through the steps I need to take to get a nicely maneuverable tentacle, I'd be much obliged. Attached is a cap of the tentacle, bones, and the way it moves now. Not very pretty.

 

Chain.jpg

 

Eric

 

Edit: One thing I do know and made sure of, the bone handles are all pointing up in the same direction.

Link to comment
Share on other sites

From my experience, from rigging this thing:

http://www.holmesbryant.com/plugins/08.Ima...dra_stone_3.jpg

 

you need at least twice as many spline rings, and some fan bones.

Let's say you have bone1, bone2 and bone3...

One ring will be centered on bone1 and assigned 100% to it. The next ring will be assigned to a fan bone. The next ring will be assigned to bone2. The next ring will be assigned to a fan bone. etc...

Link to comment
Share on other sites

  • Hash Fellow
"First, I recommend putting the spline ring in the middle of the bone." I'm not sure I follow you, the bones are pretty much in the center of the tentacle?

 

If you put the spline rings on the joint you'll need to fan bone all of them. If you put the spline rings in the middle of the bone, no fan bone is needed.

 

The top model has rings at the joints. The bottom one puts the rings in the middle of the bone.

 

SplineRingComparison.png

 

It's counter-intuitive but it works well on long chains like a tail or tentacle. It's fast, it's simple, it works. :)

Link to comment
Share on other sites

I've got a similar problem to solve--one of the things that I want my tentacle to do is curl into tight spirals at the end like an octopus does. With a really long tentacle like this inevitably there is some situation where the bones want to roll and twist the tube....(has that ever happened to you?).

Should I look at using a spherical limit constraint on each bone to avoid that, or is there a better approach? Below is a sketch of what I need to rig:

Demon_1.jpg

Link to comment
Share on other sites

Create 3 poses for each leg, one for each axis of curl. Doing it that way you should be able to avoid the roll.

Blue_A01_loop.mov

Excellent! But don't I have to animate with just the pose slider? I need the tentacle to wrap around the waist of a screaming dancing girl and lift her into the demons mouth--for that I was going to use a tentacle that has a path constrained chain of bones (which is where I have run into the roll-handle flipping). Maybe I will just have a separate pose to activate that part of the rig.

Demon_1.jpg

Link to comment
Share on other sites

  • Hash Fellow

The tighter the curls the tentacle is going to make the more spline rings you'll need, of course.

 

 

I tried a few frames of an all FK tentacle. It's a bitch to animate. :angry:

 

tentaclemotionFK.mov

 

 

 

Some kind of path constraint solution might be more promising.

Link to comment
Share on other sites

That's something I've been working on...it still has a problem that Mark Skodacek is putting a fresh pair of eyes on. I've been staring at the problem so long, I might be missing the answer. The initial test videos are here. I made a video showing how to work the controls, but I was waiting until things get worked out...it will probably have to be recorded again. The video showing the controls is here.

Link to comment
Share on other sites

Still studying and weighting all the options. Robert, I found these great tutorials you did for TSM2 and wanted to link them to this thread: http://www.hash.com/forums/index.php?showtopic=35908

 

I got a test tentacle rigged with TSM2 but haven't found out how to animate it yet. I'm going through your tutorials now and will probably get the answer in the last clip. These are really great and a must see for anyone wanting to use TSM2. Thanks Robert.

Link to comment
Share on other sites

Holmes, could you give me a screenshot of the bone setup or a rigged model I could dissect? I just did a ton of searching the forum and reading the posts. Had no idea this might be so complex.

I'm sorry Eric, I've been working on something and I haven't slept since yesterday. This is the first time I saw your request. It looks like Robcat posted almost exactly what I was talking about. I didn't have to animate the image I linked to, so the FK setup was fine for me. In order to animate tentacles, yikes ... even if you have a Dynamic bone chain with a null at the end as a target, you would still be fighting it to keep it from intersecting things it was wrapping around. On idea might be to use two or three targets in the bone chain. That way you only have to animate two or three things instead of a buttload of bones, and you might be able to get the control you need. I explain exactly how to do that in my tutorial on Dynamic Constraints. Look in the section on Controlling the Middle of a Dynamic Chain.

http://www.hash.com/forums/index.php?showtopic=29914

 

Not sure if that's what you are after, but it's might be worth a try.

Link to comment
Share on other sites

  • Hash Fellow

It's a daunting problem. You're gonna want to wrap those tentacles around your sub.

 

A generalized solution that distributes many bones among a few controls may not allow you to conform the tentacle the shape of the hull. And yet, controlling all the bones manually is very awkward.

Link to comment
Share on other sites

Thank you Holmes, I already downloaded that last night and went through it. Nice tutorial and very helpful. Now that I have a basic grasp on setting up the bones, can someone provide me with a link to fan bone or weighting info? I recall a very small tut in which a four or five segment tube was used to show weighting of the bones to make a smoother bend.

Link to comment
Share on other sites

That's something I've been working on...it still has a problem that Mark Skodacek is putting a fresh pair of eyes on. I've been staring at the problem so long, I might be missing the answer. The initial test videos are here. I made a video showing how to work the controls, but I was waiting until things get worked out...it will probably have to be recorded again. The video showing the controls is here.

David, that thing looks amazing! I can't even imagine trying to figure out how you set all that up.

Link to comment
Share on other sites

I recall a very small tut in which a four or five segment tube was used to show weighting of the bones to make a smoother bend.

 

Not sure if this is what you are referring to

 

That shows the differences with different weighting schemes, with and without fan bones, for simple joints (eg elbow, knees, wrists, waists) - but does not address a longer string of bones behaving tentacle-like.

 

I would think that having a string of bones like in Roberts example, with 1 bone/spline ring (centered on ring), each bone constrained to a path (path part of model), with the ease for each bone set appropriately, and then animating the path (instead of the bones) would do the trick easiest. The bones should probably not be attached to each other, and could probably have all the bones at the same level of hierarchy.

Link to comment
Share on other sites

  • Hash Fellow

Here's a string of bones path constrained to a spline with 4 Control points.

 

 

TentaclePathB.mov

 

This is easier to get smooth motion from than the all-FK tentacle, but very difficult to arrange the controls to maintain a consistent length to the chain as it changes shape. It's quite unlike the animation we are used to where a part of a body is directly attached to the control we move.

 

 

The advantage is that you can move the CPs to anywhere in the length of the tentacle that you need to to define a curve.

 

 

More CPs would enable more complex shapes, more bones would enable smoother, tighter curves

Link to comment
Share on other sites

Shelton:

 

could you show us the arrow quiver example?

 

David:

 

will this rig be available to us in the future? Or is it available somewhere now? I think it's overkill for my tentacle, but so far it looks better than anything else.

 

Once the problem is fixed, the rig will be available. I'm going to make it a tail add-on for the Squetch Rig (which could be added to other rigs as well), probably a separate snake rig and maybe an octopus rig.

 

The quiver is a lot simpler, it works for that but it would have a roll issue if it is rotated like a tentacle.

Link to comment
Share on other sites

Ok, I have a chain of bones, parent, child, child, etc. They are assigned to the tentacle and move pretty good in a pose when I manipulate the end bone. Now I want to constrain the last bone in the chain to a null for easier control in the pose/choir. I thought adding a "translate to" and "orient like" null would do the trick, but it doesn't. When I manipulate the null the constrained end bone does not follow. Does this have something to do with IK or should it work as is? If this is the wrong way to constrain the null, what is the right way?

Link to comment
Share on other sites

Must have been something messed up in the pose. I deleted the pose and started another one. IK Kinematic Constrained the last bone in the chain to the null. Now I am able to manipulate the tentacle with the null, but it's a bit strange since there is a delay in the movement of the tentacle following the null. When I move the null a small distance, the movement is fine, but when I move it over a larger range, the tentacle lags behind and does not even get to the same position as the null. I would like the tentacle to move in unison with the null. I suppose IK Kinematic is not the proper constraint for this?

Link to comment
Share on other sites

  • Hash Fellow
when I move it over a larger range, the tentacle lags behind and does not even get to the same position as the null.

 

remote possibility... you have "lag" not set to 0. "Advanced Properties" have to be enabled to see this one I think.

Link to comment
Share on other sites

Sure--It was something I modeled for a challenge Anzovin Studios had, when they needed a model to demonstrate tentacle rig in setup machine. I haven't done anything else with the model (but it may make it into my Tar project eventually). NOTE: the model isn't anatomically correct--the whole group of tentacles should have been rotated before I stitched it into the head....

octopus_final.jpg

octopus_front.jpg

octopus_side.jpg

octopus_top.jpg

octopus_wireframe.jpg

Link to comment
Share on other sites

Must have been something messed up in the pose. I deleted the pose and started another one. IK Kinematic Constrained the last bone in the chain to the null. Now I am able to manipulate the tentacle with the null, but it's a bit strange since there is a delay in the movement of the tentacle following the null. When I move the null a small distance, the movement is fine, but when I move it over a larger range, the tentacle lags behind and does not even get to the same position as the null. I would like the tentacle to move in unison with the null. I suppose IK Kinematic is not the proper constraint for this?

 

When I worked the beard on Old Man Willies I used a dynamic constraint on the last bone (on the tip) then added the null to the end of that..works well enough for my purposes..might be worth an experiment on your end..

Link to comment
Share on other sites

Amazing William, I can't believe you splined all the sucker cups to the tentacles. Mine are just sitting on the tentacle mesh. Trying to keep it somewhat manageable as far as spline count.

 

Nancy, thanks for posting the comparison between fan bones and weighting. That's exactly what I was talking about, but it wasn't that same post. Since we have your great example now, I don't need to look for the other one anymore.

 

Eric

Link to comment
Share on other sites

Robert,

 

I'm trying to adapt your path rig to my tentacle. I've got most of it figured out, but when I manipulate the tentacle in an action, the tentacle mesh twists at the path contraint points. When I applied the "Roll like" constraints in the pose, I clicked the "compensate" button before applying. It was wrong to do that for the constrain to path, is it also wrong to do it for the "Roll like?"

 

Eric

Link to comment
Share on other sites

I hate it when I do that...out of frustration, I post a question, and then my tenacity puts me back in front of the computer to finally figure it out. Don't touch compensate when setting this up. Now the question is, unless someone has a thorough understanding of bones, constraints, and rigging, is there an easy way to figure out or see when compensate is used and when not? Also, I had a bit of a time figuring out what ease does in this case and how to set it....Maybe I should ask when your book is coming out? Will you cover rigging and bones basics such as ease, compensate, etc? Sign me up ;)

Link to comment
Share on other sites

  • Hash Fellow
I'm trying to adapt your path rig to my tentacle. I've got most of it figured out, but when I manipulate the tentacle in an action, the tentacle mesh twists at the path contraint points. When I applied the "Roll like" constraints in the pose, I clicked the "compensate" button before applying. It was wrong to do that for the constrain to path, is it also wrong to do it for the "Roll like?"

 

Damn... I have to remember how it works too? :( hmmm... lessee...

 

There don't seem to be any offsets on the path constraints ( you can tell by expanding them to see if there are offset channels) but I don't recall turning offsets off when I did those.

 

There are offsets on the Roll Like constraints. In my case they are all zero since I had my control bones aligned with my geometry bones. I added the Roll Like constraints to stop my tentacle from twisting (unless I wanted it to) so I'm not immediately sure why yours is twisting. ??

 

The Roll Like scheme was just a "quick" fix to stop the twisting, my first notion was to give them all an Aim Roll at constraint to a null somewhere outside of the tentacle, but that seemed like it would only work if the tentacle moved in only one plane.

 

However apportioning the bones to roll like the controllers isn't quite right either since it presumes the controllers will stay near their original stations on the length of the tentacle which is what they are not supposed to have to do. Now that I think about it some more, Roll Like constraining them only to the first and last controller would have made more sense.

Link to comment
Share on other sites

  • Hash Fellow
is there an easy way to figure out or see when compensate is used and when not?

 

Compensates OFF when you want your constrained thing to assume the exact position/rotation/roll/whatever of the target.

 

Compensates ON when you want your constrained thing to stay as it is, but mimic the position/rotation/roll/whatever movement of the target as it changes.

 

 

Sometime since V13 the compensate button changed to default to ON anytime you go for a constraint.

Link to comment
Share on other sites

Sometime since V13 the compensate button changed to default to ON anytime you go for a constraint.

 

I believe it changed with 15 - however in 15jplus you can change the default back to the OLD compensate mode (compensate OFF)

 

go to Tools/Options/action

 

In addition, I believe regardless of which way you have default set, the compensate ON/OFF will remain the same as the last time you use it - ie either ON/OFF, when you go to apply additional constraints.

compensatemode.jpg

Edited by NancyGormezano
Link to comment
Share on other sites

That is great Robert. Can you send the prj file as well. I think I could use this as well.

 

Try it, but I think you'll find it troublesome in practice.

 

TentacleSplineRingPath04.zip

 

I tried a different approach because I found path constraints troublesome to work with - so I created 2 separate flat hierarchys - 1 for geometry bones, 1 for control and nulls. I constrained the bones to the nulls (translate to), and had them aim at the nulls (scale to reach z axis only), then animated the nulls - seems easier to me. Probably expressions could be used to maintain volume - but my brain also has problems with expressions

bonesnulls.jpg

actionbones.mov

bonestranslateaimnulls.prj

Edited by NancyGormezano
Link to comment
Share on other sites

I like it Nancy and have been thinking along the same lines. Here's the thing though: I'd like to build a rig that has null controls like you have, but it should be set up so that one null controls several tentacle bones with control fall off radiating away from the null along the tentacle. A long tentacle may have 20 or more bones in it, that would be an awful lot of nulls to control.

 

tentacle_bone_structure.jpg

Link to comment
Share on other sites

Here's the thing though: I'd like to build a rig that has null controls like you have, but it should be set up so that one null controls several tentacle bones with control fall off radiating away from the null along the tentacle. A long tentacle may have 20 or more bones in it, that would be an awful lot of nulls to control.

 

I was trying a "proof of concept" for a simple case, and not going for perfection (for myself). Since the geometry stretches with the nulls, the tentacle becomes as long as you'd like (without additional spline rings). I didn't use any cp weighting, fan bones, etc so there is distortion when the tentacle stretches. I think this scheme could work for bendy arms, legs, face controls, torsos (all with less spline rings). Parts could be built in a modular way and imported (pre-rigged) into a base model.

 

Not quite sure why you need 20 segments (additional detail?), but I will accept that you do. I would think that one would model with the minimum necessary number of spline rings for wrapping around stuff?

 

Assuming you do need lots of spline rings, I'm guessing you wouldn't need to have each spline ring have it's own geometry bone? My guess is that if you use cp weighting, or some fan bone scheme - to weight the additional spline rings cps, and perhaps have a hierarchy of nulls and/or geom bones (not sure necessary), then you would be able to have a smaller number of control nulls, ie 1 null controls multiple geometry bone segments.

 

Looks like you're well on your way to a solution.

Link to comment
Share on other sites

Nancy:

 

First off, thank you for the input and the project file you graciously provided.

 

You have some good points here. I really like the fact that the rig stretches, but it can only stretch so far before the decals on the skin will get too deformed. Please take everything I say with a gain of salt because this is all so new to me. My reasons for doing things, ie, the number of bones, is because right now I only see things as I learn them. I'm sure there are many ways to crack the nut, but I just haven't seen them all yet. One of the reasons I believe I need a relatively large number of splines is the fact that there are modeled suction cups under the tentacle that are not modeled into the mesh but rather lie on top of the mesh. If I don't have enough sections, I believe the suction cups will show too much "float" when the tentacle bends. If I model the cups into the mesh, I might avoid the float and need less bones, but then I would have a pretty heavy mesh too. I don't know and was trying to avoid splining the cups into the skin. But just to be thorough, I might just do that for comparison. Oh, and I'm a long way off from a good working solution. But I know a heck of a lot more about bones and rigging than I did a week ago ;)

 

Eric

Link to comment
Share on other sites

Ok, I've still got the flu and am working on my laptop in bed (AMV.13t) instead of my desktop (AMV15.) So I'm trying different scenarios for rigging my tentacle and starting with the basics. I start a new project and open a new model. Without any splines or cps, I switch to bones mode and lay down a chain of 6 bones, parent, child, etc. Then I make sure I'm back at the root of the hierarchy and I make two nulls and one more bone to be the daddy of them all. Now I go back to the spline view and create a new pose. Once in the pose, I manipulate the chain to make sure the bones are all connected and parented right. So far so good. Then I create a dynamic constraint at the end of the chain to one of the nulls also positioned at the end of the chain. I select the constraint to have the null as target. But, when I move the null, the chain only does a little jerk and nothing else. I move the null all around but the chain does nothing. Now I click simulate dynamics and still nothing happens except that simulate on the fly is now unchecked in the dynamic constraints options. When I try to enable simulate on the fly again, I get the dreaded #001 shut down error. This is repeatable, I've done it three times in a row. I don't really care about the 001 error, I just want to know what I'm doing wrong in the process, why the manipulation of the null does not affect the chain?

 

I'll try this on my desktop and see what happens.

 

Eric

Link to comment
Share on other sites

First, you probably shouldn't be moving anything around in your pose, it will create keys for them. Just setup the dynamic constraint.

 

Dynamic constraints will not appear to work on the first frame of an action. You need to create an action first before simulating the dynamics.

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...