A new version of Cineversity has been launched. This legacy site and its tutorials will remain accessible for a limited transition period

Visit the New Cineversity
   
 
Unnecessary Rotation on a Stretchy IK Chain?
Posted: 15 June 2019 01:52 AM   [ Ignore ]  
Total Posts:  292
Joined  2017-09-24

Hi,

I have a stretchy IK chain, but whenever I stretched it, it causes an unnecessary rotation.
See an illustration of the problem here:
https://www.dropbox.com/s/huggzjzhhxitqx1/c4d106_unnecessary_rotation_stretch_IK.png?dl=0

Additional information
1) wrist_IK_L_con is the general control for moving the chain.
2) The cube must be constrained to the wrist joint and not to the wrist_IK_L_con.
The reason is the set-up should work both for the FK and IK set-up. If the Cube is constrained to the wrist_IK_L_con, it will only work for the IK set-up
3) Yes, I understand there is a possibility of having a separate constraint for the FK and IK set-up. But I prefer it to be one like the way Maya is set-up.

You can see an illustration of the problem here:
https://www.dropbox.com/s/wcochwaibyuo720/c4d106_unnecessary_rotation_stretch_IK.c4d?dl=0

Thank you for looking at the problem

 Signature 

C4D Body Mechanics Rigs (Gumroad)  //    Website

Profile
 
 
Posted: 15 June 2019 02:40 AM   [ Ignore ]   [ # 1 ]  
Administrator
Avatar
Total Posts:  12043
Joined  2011-03-04

Hi Ben,

Please allow me to share a little realization: In the past 15 years answering 10th of thousands of questions and doing hands-on classes cross country, one thing is crystal clear to me:
If you want to get Cinema 4D to work like any other software, you miss out big times. Expecting to find anything exactly you are used to from another application will limit your success with Cinema 4D.
I see myself not bending Cinema 4D to this target. I’m here to share whatever I can to get things working as much as I can with Cinema 4D.

Having said that:

There is no Pole set in your scene. Any reasons for that?

Would it help to switch the rotation off in the PSR-constrains? It would split the rig as needed.
https://www.amazon.com/clouddrive/share/L7RLa6uErhyZ4NmnA6YmTWRtzFataVolv9scybkh5vg

I see in some rigs often separate wrist joints, to help with arm v. hand rotations.
From the advanced Character:
https://www.amazon.com/clouddrive/share/ZSORQhdAz1ErHjYQEAwv3CabBah2d5cOai6KvmAiufN

Scene file
https://www.amazon.com/clouddrive/share/cEsOXQc6CBKDQcVY9DLdHyyDPeeNfuXUBsDu7OHgt0a

All the best

 Signature 

Dr. Sassi V. Sassmannshausen Ph.D.
Cinema 4D Mentor since 2004
Maxon Master Trainer, VES, DCS

Photography For C4D Artists: 200 Free Tutorials.
https://www.youtube.com/user/DrSassiLA/playlists

NEW:

NEW: Cineversity [CV4]

Profile
 
 
Posted: 15 June 2019 01:17 PM   [ Ignore ]   [ # 2 ]  
Total Posts:  292
Joined  2017-09-24

Hi Dr. Sassi,

Thanks for the response.

Before I mislead you, my statement above mentioning Maya was not supposed to make Cinema4D behave like Maya. While it might look that way, my real intention is that a proof that the logic is possible. In this case, the logic that it is possible to eliminate the unnecessary rotation on a Stretchy IK Chain since it is not present in Maya or in Blender.

That is why I’m looking for confirmation if this possible in Cinema4D.

Anyhow, based on your reply above, there is some sort of internal calculation in the IK tag that overrides the constraint. Be it noted that the wrist_joint is already constraint to the rotation of the goal. And it is still rotation independently of the goal. The main reason I flag is as unnecessary.

RE: no pole
This is for illustration. Just had to make it as simple as possible. With regard to pole, it doesn’t matter with or without pole. The behavior is the same.

RE: character rigs.
Yes, it is possible to separate the joints but I’m trying not to and simplify it.
Anyway, with regard to the separated wrist joints, as I checked on the file, it’s either the split joint is for the twist/bendy set-up or as a palm joint (i.e. wrist02_jnt)

Anyhow, the reason it works on the Character Rigs shipped in C4D is that the stretch is set to Position. I set mine to Bone Scale. Position set-up works well if you have split joints to bind, but not as a vanilla set-up.

In conclusion, I guess its not possible to get rid this unnecessary rotation. I must create a separate set-up for stretchy IK or provide additional constraints around the existing set-up

P.S. May suggest to compressed your videos? For instance, 1 min video can be delivered only on 10mb. The size is feasible enough for consumption as an illustration video. If you are looking for one, try Snagit.

 Signature 

C4D Body Mechanics Rigs (Gumroad)  //    Website

Profile
 
 
Posted: 15 June 2019 02:07 PM   [ Ignore ]   [ # 3 ]  
Administrator
Avatar
Total Posts:  12043
Joined  2011-03-04

Hi Ben,

Please have a look here:
https://www.cineversity.com/vidplaytut/ik_squash_and_stretch_release_10.5
It discusses the problem very specifically.

The Bone Scale that you chose, and I assumed that this was on purpose as you confirmed it in the previous post, leads to different scale values per axis. With this, the rotation is “skewed”. (See image.) Hence my tip to not set rotation in the Constraints. Since we had the discussion about the Joint direction, I assumed as well, that you know what you are doing while setting up the rig with X. Here (in X) is in my opinion the problem.
As mentioned, when set up everywhere, I can’t see a problem, but I really don’t know how to to set the Constraints to a different rotation order, though: I’m uncertain if that would make a difference. With all set to Z, it works. As in the thread before, I suggest to use the Z-direction, but sadly, the manual doesn’t give a clear answer, so I can only say, it’s possible, but my idea is different. This case study shows it. Sorry that you have to deal with this blurriness of the given manual, I would instead like to point you to certain content, but there is none.

Here is your file, set to Z. (edit: version 2, I updated the file! /edit)
https://www.amazon.com/clouddrive/share/GvFXNNZtSKsb9zFtfsgo5lDntYPb5sNZ1c9ltIzv8Gm
See image on the right

Even it doesn’t prove my point with Z, but perhaps this is how the X orientation might need to be set up.
https://www.amazon.com/clouddrive/share/523K0NAxCPuBLKjEk3UOpiEnUAH6j63AXMyDqj6UxL9
In file 11 I have disconnected the wrist. Works nicely.

The logic that it works in different application and has so to work precisely in a different app is not valid. Hence my little tip: do not try to bend Cinema 4D into something else. You have used obviously X as the direction in Maya, and as we have discussed it, that is not the preferred axis here. What else can I do, should I link in similar cases to all points we have discussed earlier? If this is preferred, I will try to do this, of course, no question. Whatever makes it work, I’m in!

I hope it will work now for you, fingers crossed.

Enjoy your weekend


Edited So 07:33pm

 Signature 

Dr. Sassi V. Sassmannshausen Ph.D.
Cinema 4D Mentor since 2004
Maxon Master Trainer, VES, DCS

Photography For C4D Artists: 200 Free Tutorials.
https://www.youtube.com/user/DrSassiLA/playlists

NEW:

NEW: Cineversity [CV4]

Profile
 
 
Posted: 16 June 2019 06:52 PM   [ Ignore ]   [ # 4 ]  
Total Posts:  292
Joined  2017-09-24

Hi Dr. Sassi,

RE: “With all set to Z, it works.”
Thanks for the response and the files. Unfortunately, it doesn’t solve the problem.
When you move controller, the object rotates. The object should only rotate when the controller is rotated.

As said in the previous post:
“In conclusion, I guess it’s not possible to get rid of this unnecessary rotation. I must create a separate set-up for stretchy IK or provide additional constraints around the existing set-up”

Anyhow, thanks for the response.

 Signature 

C4D Body Mechanics Rigs (Gumroad)  //    Website

Profile
 
 
Posted: 16 June 2019 11:03 PM   [ Ignore ]   [ # 5 ]  
Administrator
Avatar
Total Posts:  12043
Joined  2011-03-04

Hi Ben,

Thanks for the reply. Here is the file as I think it follows your idea, to close this thread:
https://www.amazon.com/clouddrive/share/vYGm7qKm2tfRxlLZuHOQcV9jeyIIVL1WB3j5lrPoRXa

As Kai mentioned in the tutorial, the split is needed.

As a side note, I have learned since I got my first computer in the late ‘70s a lot of application (over 200), and I understand the feeling coming from one app to another, for me it is often initially very claustrophobic. I remember very well when I had Maya shortly on my Silicon Graphics machine in the late ‘90s, it felt completely different than any 3D app I had learned until then (Cinema 4D, LW, Electric Image, Archicad, etc.). The more one knows about an app, the less the transition is smooth, even it seems counter-intuitive.

Based on that, I try to read the scene files as intention, and each artist/technical director has some ideas of his/her own: Hence, my questions above.

Anyway, enjoy your project.

 Signature 

Dr. Sassi V. Sassmannshausen Ph.D.
Cinema 4D Mentor since 2004
Maxon Master Trainer, VES, DCS

Photography For C4D Artists: 200 Free Tutorials.
https://www.youtube.com/user/DrSassiLA/playlists

NEW:

NEW: Cineversity [CV4]

Profile
 
 
Posted: 17 June 2019 02:07 AM   [ Ignore ]   [ # 6 ]  
Total Posts:  292
Joined  2017-09-24

Hi Dr. Sassi,

Thanks for the file. Again it doesn’t work on me.
This is one of the details above:
“2) The cube must be constrained to the wrist joint and not to the wrist_IK_L_con.”

Anyhow, thanks again.

Have a great day ahead!

 Signature 

C4D Body Mechanics Rigs (Gumroad)  //    Website

Profile
 
 
Posted: 17 June 2019 02:40 AM   [ Ignore ]   [ # 7 ]  
Administrator
Avatar
Total Posts:  12043
Joined  2011-03-04

Ben,

There is a small communication problem and that can be easily fixed: I guess you focus on the wrist_IK_L_jnt, and I focus on the Cube as the wrist starting point.

In your own words: “The object should only rotate when the controller is rotated.” This is precisely what the rig does. The Arm ends at the wrist joint. The Cube being the starting point of the wrist. Without split, it is not working. If you check the Joint only, yes, the Scale is as before un-even, and hence the rotation is screwed up.
But I get, that is not what you are after.

The position is constrained to the wrist_IK_L_jnt.
The rotation is constrained to the wrist_IK_L_con.

The Rig has to be split, and the PSR information has to be given newly from the sources you would like to determine it.

Scene file
https://www.cineversity.com/forums/viewthread/3456/
The Wrist_cnt stretches the arm, but keeps the the “hand” without rotation or scale.

I bought another Maya Book since you asked, and in this one, I found after reading it, the option “Segment Scale Compensate”, which is not a given in Cinema 4D. A split of the information flow is needed here. To compensate for any scale, each element that changes the scale in the Hierarchy before needs to be evaluated and then compensated to create this split mathematically. So far, the theory.

Cheers

(Edited)

 Signature 

Dr. Sassi V. Sassmannshausen Ph.D.
Cinema 4D Mentor since 2004
Maxon Master Trainer, VES, DCS

Photography For C4D Artists: 200 Free Tutorials.
https://www.youtube.com/user/DrSassiLA/playlists

NEW:

NEW: Cineversity [CV4]

Profile
 
 
Posted: 20 June 2019 05:58 AM   [ Ignore ]   [ # 8 ]  
Administrator
Avatar
Total Posts:  12043
Joined  2011-03-04

P.S.: After going through a whole newly bought Maya Rigging book as mentioned above, to understand what you are asking, I had a vague idea what “Segment Scale Compensate” was supposed to do. Honestly, the first few compensation setups failed.

This is the first one that works. Perhaps you find something in it that fails!

The frame 60 to 72, the end of the “worm” should bend, but during frame 0-59 it should stay level.

Scene file
https://www.amazon.com/clouddrive/share/GcG1FJ2ZwiLC9lojduB87EG1n6C7q1tRO1Wcyms1mL5

I hope it will give you at least some kind of brainstorming input.

Cheers

 Signature 

Dr. Sassi V. Sassmannshausen Ph.D.
Cinema 4D Mentor since 2004
Maxon Master Trainer, VES, DCS

Photography For C4D Artists: 200 Free Tutorials.
https://www.youtube.com/user/DrSassiLA/playlists

NEW:

NEW: Cineversity [CV4]

Profile