Hello, Ziva community.
I should start this post by thanking Ziva Dynamics for creating this amazing plug-in; I've only scratched the surface of this technology and am having a blast learning as much as I can.
I'm a student and only recently discovered creative media as a potential profession. My campus has a creative media major that gives us a Maya license to use. I've taken one class that taught us some Maya essentials and am trying to expand my understanding of the software this summer.
The reason why I'm posting is because, while wanting to explore Ziva Dynamics and all its features, I also want to learn how to make complex rigs for future projects, and Ziva's demos have some incredible content to dissect -- specifically, the "Anatomical Arm" and its usage of locators and constraints which dictate how the ulna and radius rotate.
fig 1: the anatomical arm demo without the muscles showing.
I figured the best way to see how these relationships are established would be to explore the node editor. So far, I'm able to see where parent constraints are implemented and successfully recreate the constraint after deleting the original (below are two cases in the rig where these relationships were apparent).
fig. 2: r ulna 0 aim input connections in the node editor, located in the r urlnaRig grp. r ulna 1 pos parent-constrained by r urlnaRig grp.
fig. 3: r radius 0 aim input connections in the node editor, located in the r radiusRig grp. r radius 1 pos parent-constrained by r wrist rx locator.
Unfortunately, I've not been able to achieve the effect which others formally achieved with the use of the aim constraint the radius and ulna both incorporate. I will assume that the solution for one bone is the solution to the other, so I'll focus on the radius.
I notice that this aim constraint isn't just between r radius 1 pos and r radius 0 aim: it also has r radius 0 up feeding into the aim constraint's World Up Matrix.
fig. 4: r radius 0 aim input connections in the node editor, located in the r radiusRig grp. Focused on the aim constraint between three locators.
fig. 5: Radius's aim constraint details in the attribute editor. Note it has world up type "Object Up".
Deleting the aim constraint and recreating it with the world up type "Object up" on r radius 0 up produces an aim constraint with two changes from the original: there is additional attribute "R radius 1 pos W0" that feeds into itself and the rest rotate values are no longer all zeroes.
fig. 6: New aim constraint for the radius. Additional attribute noted in red.
fig. 7: New aim constraint details. Change in rest rotate values noted in red.
These attributes don't seem to break anything from what I can tell, but the fact that they occurred have me worried that I'm missing something fundamental. I've a superficial understanding of constraints, as well, so I don't necessarily understand why I had to do something like "object up" versus "vector", or why adding a World Up Matrix attribute to the new constraint and manually connecting nodes didn't produce the same result.
So, to conclude my monologue, I've a few questions!
1: Can these two changes in the aim constraint affect animation down the line, and if so, can these two changes be prevented from occurring in the first place?
2: Can the logic behind the entire aim constraint's "object up" purpose here be read as "the child r radius 0 aim will always aim towards the parent r radius 1 pos, and the parent r radius 1 pos will always aim towards r radius 0 up"?
3: Is there a website/book/source for advanced rigging tutorials the community recommends?
4: Can you forgive me for writing this entire post and in the process answered my own initial question, "how do I connect the third locator to the constraint?"
Thank you for reading and I apologize if anything is unclear.