Hey! I was wondering if anyone has run into this issue before and come up with a solution/workaround.
I have a complex puppet with a head turner and multiple views applied to the head and a swap set controlling the multiple body views. I've also got a walk cycle applied. When the walk cycle is running, the head stays sort of pinned and the neck becomes distorted - meaning the head doesn't move together with the walk/body. This happens even if I don't record the face behavior during the walk.
I'm currently working in Beta V18.104.22.168 but I have this problem in the regular Character Animator as well.
To clarify, it's a puppet with 8 views. The Body/Head Turner behavior is only applied to each head, meaning there are 8 separate applications of Turner behavior. The Walk behavior, on the other hand, is applied to the overall puppet, so there's only one of it.
That sort of thing can happen for example when two behaviors want to control a layer - one wins, one loses. Sometimes you don't actually need/want both to have control, in which case the solution is to remove a handle. Given the complexity of your puppet, I suspect it won't be trivial to identify.
What I suggest in such cases is export you puppet, import into a new project (so you cannot damage your mail project), turn on the yellow mesh during playback and see if you can spot where the mesh is not moving. Then start deleting handles around that place to see if you can identify which one is causing the problem. If you can identify the source of the problem, then you can move on to coming up with a solution to fix it.
Fixing might be as simple as removing a handle, or splitting one handle into two. Other times you need to add extra behaviors (with hacks to the hierarchy) to give you more control. That is easier to talk about after you have identified the source of the problem.
This is where I'm running into a different issue 🙄 they're large Photoshop files, so replay in CH is very jittery and I can't see the mesh clearly. I wish there was a way to have a draft option for raster puppets like there is with vector puppets. (I've already requested that, if anyone wants to add a vote - https://adobe-video.uservoice.com/forums/911317-character-animator/suggestions/45424315-resolution-o... .)
Inside ch you can try deleting lots of profiles (in that separate project!) and see if you still get the problem. That should speed up render time while diagnosing at least. I often delete half the puppet, undo if too much, try again, repeat as required.
I'm not sure what I'm seeing mesh-wise. The neck is getting elongated so that the face fixed in place (which I don't want.) The dense part of the mesh is where I've got the neck handle and the head handle fixed - I looked at the Maddy puppet to figure that out. When I had the head handle moved to the actual head, the head would fly off.
I don't actually use profiles very often so others might have better advice, but from the screenshots I would say that when Head and Neck are too close together, bad results often occur. I normally put the Neck tag at the shoulder level (the base of the neck). I put the Head tag closer to the mouth in height.
Yes, I would look at other sample puppets. E.g. is it better to have multiple Head layers inside profiles vs the other way around? If you look in the "Face" behavior for your puppet, expand the "Views" and "Handles" etc sections. Many of the behaviors understand which profile is in use, so sometimes it works better to change the nesting. E.g. if you want the Head to rotate controlled by webcam, the Head tag should be on the head artwork (not the neck). That is definitely the sort of thing that can mess up results, so looking at sample puppets to see exactly where they put the Head and Neck tags might help.
Oh, and what to look for in the mesh was trying to spot super dense yellow triangles (a bad sign), or parts of the mesh moving freely with points not moving (when you wanted them to). In this case, because the Head handle is on the neck artwork, the Face behavior is not actually controlling the head. It might even work out better if the head is not independent for your puppet (your call). I find long necks need independent heads less - you can put a stick on the neck to stop it bending too much instead.
So - one experiment: move Neck handle down to base of neck, remove "independent" markers for all the head profile artwork layers, drag the Head handle up higher on the head closer to the height of the mouth and see what happens!
Yeah the only time I've tried something remotely close to this is the Walker puppet on https://okaysamurai.com/puppets/, which I'm guessing you've already referenced - but that's only 3 views.
Head Turner is a notoriously processor intensive behavior because it essentially has to run all the possible faces simultaneously to allow for instant realtime turns. So it's like you're adding 3-7 extra faces to each view, and if you have 8 of them...that's a lot of faces!
I don't know how similar each instance is, but check out tip #39 here: https://youtu.be/sv--jURQOGc?t=420 Basically you can make one instance shareable and drag it into the other parts to save on processing power.
Thanks! So just to make sure I understand, what you're saying is that if each of the 8 profiles is really only using up to five of the same 8 heads, I can make them shareable and reduce the complexity of the puppet? Essentially, cutting the number of heads to max 8?
I notice that there's no neck on the Walker puppet - is that a stylistic/simplistic choice? Or did you find that the neck handle itself causes issues?
Yes, sharing cuts down on processing greatly. If all the heads are the same, just keep one instance, do that share trick, and you should see huge performance gains.
I don't remember why I didn't include the Neck in Walker, usually I do with walking puppets - in Walk the neck mainly creates the head bob up and down. It's not critical but usually is a nice touch.
I have a lot of puppets with similar structure and I named all the heads conventionally - right profile, right quarter, etc. When I make them shareable, it doesn't indicate which puppet it belongs to. If I rename them to include the specific puppets name will that break it? Or, actually, let me try putting them in separate folders... Gonna try this right now and see if it works! Thanks!
OK, I'm still running into the issue with the neck during the walk, but the shareable heads are a game changer! I wish I'd known about this before rigging all those heads separately 🙈
And in case this is relevant for anyone else trying this out, I just exported two puppets using shareable heads and imported them into my original project, and the shareable heads come in organized into their own separate folders per puppet. Awesome!
If your shareables have behaviors baked in, it will definitely bog down your scene.
I applied the behavior to the group containing the shareables.
When you made a head turn into a shareable, did you end up getting duplicate behaviors of lip sync, head turn, face, etc?
The only thing that became duplicated were triggers - I had one set to switch the mouth set from my default to a sad one. Other than that, no, those behaviors are controlled by the default ones for the whole puppet.
Would having the heads change via triggers (like the bodies currently do) speed things up? And maybe get rid of the problem with the walk cycle? @oksamurai I assume you know the ins and outs of how this runs and would know if that makes sense. Only issue is that I'm running out of keyboard keys 🙈 I wish we could assign triggers to keys besides alphanumerical ones.
That's a good question...I'm not sure if triggers with multiple faces are better/worse performing than the head/body turner behavior. In general if it's in a rig, CH tries to have it ready for use, whether that's hidden in a trigger, behavior, or otherwise, so my guess is it wouldn't save you that much.
For Trigger use, you may be already doing this, but are there ways you can combine multiple groups/layers into triggers to save keys and make life easier? For example, you could make a trigger called "1" and drag all your left profile content in there, and that way pressing "1" will always trigger all your left profiles, no matter what view you're in. So like sometimes I've had three body views and want to trigger a pointing hand position in the right arm, but I can add all three pointing artwork latyers into one "point" trigger. Then I know that my character will be pointing no matter what view I'm in.
Yes, thanks, I probably saw that on a tutorial of yours way back when or something, I've got just 8 swaps for bodies and 8 for heads, so that if I swap the body the head is already the right one.
OK, so it definitely sped things up, but the walk issue is still there. But now I'm wondering if I need to move the head and neck tags being that it's not using head turner behavior anymore - and maybe not have the separate heads be independent?
If the rigging in the above images is the same (a layer named neck in the body), I would instead try to a) remove any neck tags, b) select a Head group and move the origin down to the bottom of the chin where it would pivot, and c) select the Head origin and also tag it as Neck.
Basically you want the Neck out of the body and in the Head to help move the whole head.
If you're still having issues feel free to DM me the File > Export > Puppet and I'll take a closer look.
I tried your suggestion with and without indepence applied to the heads and it made no difference - the neck is still weirdly elongated and the head doesn't really move as it walks. So I took you up on your offer. Thank you!