I am attempting to attach a layer to the "Body" layer as if it were an "Arm" layer (or another sublayer of the "Body" layer) and the problem is, for the purposes of the animation associated with it, I need it to appear above the head layer, but that means that it can only attach to the main layer of the puppet (the next highest layer in the puppets structure). Is there any way to attach a layer to something as if it is it's sub layer? I need the arm animation to behave in sync with this animation layer that is above the head, but to also be affected by the motion tracking of the actor.
I'm sorry if this is confusing, I've tried to include the results of my progress in a couple of screenshots:
The layers with the animations in them, grouped to the same trigger
The results of those animations played when the actor is leaning to far in either direction
Again, sorry if this is confusing, and thanks in advance!
Hi - yes, this is a frequent challenge. I normally hit it for “long hair behind body”.
I don’t have an exact answer to your question from the Screenshot, but here are the principles and how I solve the hair problem in case that gives you some clues.
The following is the mental model I use to try and solve such problems.
There are layers and meshes, both organized into a tree. Setting the independent flag on for a layer starts a new mesh.
But very important is to understand that sibling layers (even somewhat distant relatives) can be part of the same mesh. To create the mesh hierarchy, its like all of the children are sucked up to the root layer where the independent flag is set. (The artwork is all brought up to the root node to build the final mesh artwork.) Understanding that is crucial to getting this to work.
Meshes can only be attached to parent meshes to my knowledge, never siblings, never things further away. (I am talking about the mesh hierarchy here, not the layer hierarchy.) So I do not believe you will succeed attaching that arm segment near the top of the screenshot to the lower part. (If you do PLEASE PLEASE PLEASE let me know!) It is too far away in different independent sections.
So let me use an example of applying the above to hair. I want to have the Head in front of the Body, but I want the rear hair behind the body.
If Head is independent (a separate mesh), the above cannot work. The Head mesh is a child of the Person mesh and the Rear Hair mesh is a child of the Person mesh. So the Rear Hair mesh cannot attach to the Head mesh.
If however the Head is dependent (drop the “+”) then the artwork becomes part of the Person mesh. Rear Hair is then a child of the mesh containing the Head artwork and it works.
In your case, I notice the Body and Head layers are not independent. That makes me wonder if you can move the arm segments you have up near the top down as the first child of the red smudge, just before the “Head” layer. It will then be in front of head visually, but a part of the red smudge layer ... if you can also take the independence flag off the “top” arm segments.
If you cannot, ummm.... good luck! (I think its impossible because of the way CH uses the layer hierarchy for both depth arrangement and mesh hierarchy for attachments.)
First off, once again, I really appreciate the help!
Secondly, doing as you suggested did make the arm respond to the mocap! Unfortunately, not drastically enough. I think, while it is sitting in the range of behaviors that are effected by me as an actor, it's not rooted to the body and doesn't follow exactly the arm below it. It is a step in the right direction though and I'll let you know if I ever figure something out!
Here is another example of thinking through the layers and mesh hierarchies. Let’s say you have a puppet holding a guitar and the arms are behind the guitar but you want the fingers in front of the neck of the guitar.
I want the fingers attached to the hand, so I immediately think of
Guitar I want to be independent because it must not warp with the puppet body.
The depth tells me fingers has to be above guitar which is above arm.
If the arm is independent I am in trouble - fingers cannot attach to it any more!
The Fingers can be dependent or independent. I think I used independent in my puppet with hinge to stop them twisting as much when the arm moves (they are meant to stay lined up with the neck of the guitar).
Again, not an answer, just giving similar examples to illustrate the problem and possible solutions.
Oh, I forgot to mention, there is another approach that has been used (mild hack). Have two sets of arms - one behind body, one in front. Then show/hide different arms for different scenes. The one arm cannot go in front and behind at same time, but if you are careful you can have one scene with arm kinda in front, and other scene with a different arm kinda behind.