Vector distortion because of bones rotation

Wondering how to accomplish a certain animation task? Ask here.

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
aniBroGuy
Posts: 3
Joined: Sat Dec 14, 2019 6:02 pm

Vector distortion because of bones rotation

Post by aniBroGuy »

Hello everyone,

So I created this arm with 3 layers and 3 bones and used the bind points tool with every layer and bone.
Image
Then when I moved the bones especially B16 and vectors started to distort when rotated (especially the hands)
Image
The vectors seem to move correctly following the bones but it seems that the angles of the bezier handles don't follow the movement correctly and so they change vectors' the shape.
Image
Image
I transformed bones to smart bones to fix this. Still because the bones combined move in too many different ways, the hands get distorted and sometimes the smart bone fix makes it even worse.
Image
Image
I wonder if there is a way to change the behavior of bezier points, or some other fix.

Thank you very much.
aniBroGuy
Posts: 3
Joined: Sat Dec 14, 2019 6:02 pm

Re: Vector distortion because of bones rotation

Post by aniBroGuy »

I found that adding more points to the vectors is a good way to diminish distortions. Any better solution ?
User avatar
jahnocli
Posts: 3471
Joined: Fri Oct 29, 2004 2:13 pm
Location: UK

Re: Vector distortion because of bones rotation

Post by jahnocli »

Use Smart Bones?
You can't have everything. Where would you put it?
aniBroGuy
Posts: 3
Joined: Sat Dec 14, 2019 6:02 pm

Re: Vector distortion because of bones rotation

Post by aniBroGuy »

as explained in my 1st post, I did, but 3 bones moving in different directions makes it impossible to fix every move, and sometimes smart bones make things worse.
jahnocli wrote: Tue Dec 24, 2019 2:06 pm Use Smart Bones?
User avatar
Greenlaw
Posts: 9191
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Vector distortion because of bones rotation

Post by Greenlaw »

It's hard to tell from your images and description exactly what's going on in your rig but I can offer some suggestions:

1. Avoid using Bezier points in a deforming rig. Bezier points make it easier to achieve certain shapes but they don't interpolate nearly as well as Standard Moho points. If you do a search, somewhere in these forums, you can find an old demo video demonstrating why Bezier don't work as well as standard points in a rig. This isn't a bug, btw, it's just the nature of Bezier points.

Personally, I only use Bezier points for static objects. But when Bezier handles are set to display, it's very easy to activate them unintentionally. To change them back into Standard Moho points, enable the Curvature tool, select the points and click Reset. Now, when you edit the curvature, make sure you only adjust the center point and not the handles (which would reactivate the Bezier points.) Needless to say, if you want to avoid activating the Bezier mode, you should hide the Bezier handles.

Bonus tip: Add Synthsin75's mod that adds the Show Bezier Handles button to the Curvature tool. Use this to Hide the handles or show them when you need them when using the tool. (I still don't know why this isn't already there by default):

http://www.lostmarble.com/forum/viewtop ... es#p178584

If you really insist on using Bezier points in a deforming shape, Victor posted some tips here:

http://www.lostmarble.com/forum/viewtop ... es#p187807

2. Since you're using multiple Smart Actions, I'm wondering if you've created point animation conflicts between some of them. This happens when you have two or more Smart Actions pushing against each other. You're options here are to

a. Exclude the X and Y points animations to work in separate actions...or...

b. Use Multi-Rush's Mix Smart Bone technique. He has a video on YouTube about this. Be sure to watch the original video and not the one about the setup plugin. The plugin is useful but it's not necessary, and you'll benefit more by first understanding how to set this up manually.

3. From what I see in the image, you may want to re-align the bones to run through the center of the arm. The off-set I see might cause the bones to deform the shapes funny.

4. Since you're using Point Binding only, this next tip probably doesn't apply here. But if Flexi-binding is active for any of the layers, make sure you're using Use Selected Bones For Flexibinding to exclude the influence of other bones in your rig that can cause unwanted deformations.

5. Since you're using only point animation in the hand, you can just Layer Bind the layer. This will insure the only skeleton bone that affects it is the wrist bone. You can still use SBAs to animate the fingers.

6. This doesn't affect the described issue but some additional tips:

a. Give your bones sensible names. For example, in a typical arm setup I like to use the following naming convention:

armUpL (= arm upper left)
armLoL
handL

I like using the above convention throughout the body rig because the names sort alphabetically in the Actions window, the names are short so they are unlikely to get clipped in Layers Window, it's easier to read and easier find the bones you want select in any lists. (Like in the Workspace with Show Bone Names or the list in the Bone Constraints window.)

b. I would avoid using angle constraints in the elbow like like you have here. To me, this limits my posing possibilities and it can get in the way of animating the character quickly. Angle Constraints can be very useful but, for me anyway, that's not a good place for one.

Hope some of this info helps. I know it may not explain why the bad deformations are occurring in you rig but maybe some of it will give you some ideas for how to get good deformations in your rig.

Good luck and let us know how it goes.
User avatar
Greenlaw
Posts: 9191
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Vector distortion because of bones rotation

Post by Greenlaw »

A couple more tips:

When using Smart Bone Actions, set a key at frame 1 that is a copy of frame zero, and set this key to Linear. Do this for everything within the SBA. This insure that you have linear motion through the rig which can otherwise get weird. (including some cases of deformation.) Linear will help keep point and other types of animation more predictable within the Action itself and how well is mixes with other other related Actions.

Keyframing frame 1 in the Action and setting it to Linear also allows you to use a different interpolation mode (Smooth, Step, etc.) on the Mainline without affecting the Linear mode used by the Action.

There may be a few special cases where you won't want to do the above, but this is good practice for most Smart Bone Action you will create for most characters. (In fact, I do this for pretty much all Smart one Actions in most of the character rigs I create, so the cases are where I don't do this are indeed 'special'.) :)

Hope this helps.
Post Reply