Pick stuff up and move it in a certain sequence

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

Moderators: Víctor Paredes, Belgarath, slowtiger

MacCraw
Posts: 14
Joined: Fri Apr 05, 2019 8:50 am

Pick stuff up and move it in a certain sequence

Post by MacCraw »

So in an animation I'm working on, I've got a character who takes a chip out of a bowl, dips it in some salsa, brings it up to her mouth, and the rest is obvious. The problem is that I can't figure out how to make it move in smooth order. The only way I know of that would partially work would be to bind the layer to the hand bone, and that would work were it not for the facts that everything requires proper timing (as in first reaching to grab a chip, then dipping it, and so on, so it's obviously not like she was holding something that started in her hands and stays in her hands until dropping, throwing it, setting it down, etc.), and is masked (where once she puts it in her mouth, it partially disappears as it goes in, and when she closes her mouth, it vanishes entirely, because it's in her mouth and her mouth is closed, obviously). I really don't know what I'm doing wrong or if what I'm describing is doable in Moho at all.

If anybody has either a video tutorial on how to pick up and "drag" items, or has a detailed guide, that'd be fantastic and very much appreciated.

My layer ordering (just know that everything south of "neck" is the rest of the body):

Image
User avatar
Greenlaw
Posts: 9576
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Pick stuff up and move it in a certain sequence

Post by Greenlaw »

There are a few ways to animate characters picking up and dropping items. Here are two methods I like to use...

One common method is to place the artwork being handled by the character inside the character group, and Layer Bind it to a bone. Then, to make the character pick up the item, you simply keyframe the parenting of the item's bone to the hand bone, and then unparent the item's bone when the character drops it.

A less obvious method is to create duplicate layers of the item, one parented to the character's hand, and one free floating in its own group. First, keyframe the visibility of the item in the character's hand so it's invisible. Then, on the frame when the character picks up the item, show the item parented to the character's hand and hide the free floating layer. When the character 'releases' the item, switch the visibility of the two items again.

In my opinion, the second method can give you more control over the the alignment of the items during the hand-off, and more freedom in how you animate it. (I've employed this trick when animating in 3D programs too.) You can also use more than one duplicate if you need to have the item interact between multiple characters or different groups of items.

If your animation has a complex series of hand offs (i.e., between a lot of characters, containers, etc.,) you can simplify this a little by placing everything in the project in a Bone group (maybe call this layer 'Global Controls',) and then create an SBD there to control the visibility of the item in all their different locations. This way, you can keep the visibility keyframes in a single layer channel instead of scattered throughout the project.
User avatar
Greenlaw
Posts: 9576
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Pick stuff up and move it in a certain sequence

Post by Greenlaw »

Oh shoot...there's one thing I neglected to mention: To make that last tip work, you need to force Moho to keep evaluating the status of the Smart Bone Dial in the 'Global' layer. If you don't, even though you see the action working in the Action editing mode, it might not work when you animate it on the Mainline.

Unfortunately, ATM I don't recall exactly how I trick Moho into doing that. I think the trick involved using a target bone and IK with the SBD. Sorry, I'll have to revisit this or look through my notes after I'm done with work tonight.

Update: Ok, I remember now. Ignore what I said about using a Target bone...that's for a related but different nested SBA issue. The solution for this situation is explained in the Nachos Demo post below.
Last edited by Greenlaw on Sun Feb 20, 2022 10:56 pm, edited 2 times in total.
MacCraw
Posts: 14
Joined: Fri Apr 05, 2019 8:50 am

Re: Pick stuff up and move it in a certain sequence

Post by MacCraw »

Greenlaw wrote: Fri Feb 18, 2022 7:34 pm There are a few ways to animate characters picking up and dropping items. Here are two methods I like to use...

One common method is to place the artwork being handled by the character inside the character group, and Layer Bind it to a bone. Then, to make the character pick up the item, you simply keyframe the parenting of the item's bone to the hand bone, and then unparent the item's bone when the character drops it.

A less obvious method is to create duplicate layers of the item, one parented to the character's hand, and one free floating in its own group. First, keyframe the visibility of the item in the character's hand so it's invisible. Then, on the frame when the character picks up the item, show the item parented to the character's hand and hide the free floating layer. When the character 'releases' the item, switch the visibility of the two items again.

In my opinion, the second method can give you more control over the the alignment of the items during the hand-off, and more freedom in how you animate it. (I've employed this trick when animating in 3D programs too.) You can also use more than one duplicate if you need to have the item interact between multiple characters or different groups of items.

If your animation has a complex series of hand offs (i.e., between a lot of characters, containers, etc.,) you can simplify this a little by placing everything in the project in a Bone group (maybe call this layer 'Global Controls',) and then create an SBD there to control the visibility of the item in all their different locations. This way, you can keep the visibility keyframes in a single layer channel instead of scattered throughout the project.
Those are some great ideas; thanks. Now I'm trying out the visibility method, but an issue I'm running into is that while the chip and dip on it are moving perfectly with the hand, the mask is moving as well (and that mask needs to stay static where the character's mouth is). What can I do to keep the mask in place where I want it to be, but have the other layers in the folder (to be clear, I have the chip, dip, and mask in the same folder because that's where the masking takes place to hide the chip as it goes into her mouth, and that folder is actually in the character folder and bound to the hand bone) move as normal?
User avatar
Greenlaw
Posts: 9576
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Pick stuff up and move it in a certain sequence

Post by Greenlaw »

If the intention is to show the chip inside the mouth, I would put another duplicate of the chip artwork layer inside the character's mouth layer and allow the mouth layer to mask the chip.

This sounds like an awful lot of detail. I can understand putting in this effort if the animation is all about showing the chip inside the mouth and what happens to it, but if the act of eating a chip is only meant to be incidental, I would simplify the scene.

In other words, it's more polite to chew with your mouth closed. :D
User avatar
Greenlaw
Posts: 9576
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Pick stuff up and move it in a certain sequence

Post by Greenlaw »

I threw together a fun demo/tutorial project last night. It was meant to only demonstrate the second 'hand off' technique I described above but then it kinda grew into quite a bit more than that.

I'll post the project here later today after I'm done cleaning up the notes. 😺
ggoblin
Posts: 266
Joined: Wed Jan 19, 2022 2:09 pm

Re: Pick stuff up and move it in a certain sequence

Post by ggoblin »

Greenlaw explains concepts so well that I often get tempted to try them out as a learning exercise, and for fun. So I tried out his suggestion of duplicating layers and using animating visibility to achieve picking and dropping.

This probably wont help your particular case, but here goes..

Please ignore the atrocious graphics and the dysfunctional arm bones lol.. just testing the concept is what I was after..

Image

(This is an animated gif, click on it if it is not animating)

The project file is here:

https://we.tl/t-23EMJdj920

As Greenlaw suggested I have a duplicate copy of the chip layer - one layer bound to the hand bone and one sitting in the chip tray. I also have a salsa splat layer on chip bound to the hand bone. The chip in hand (and the salsa splat) is initially invisible, when the hand touches the chip in tray the chip in hand is set to visible and the chip in tray to invisible. Then the hand, now carrying the chip moves to the salsa tray. Upon dipping in the tray the salsa splat on the chip in hand is set to visible. The hand now moves to the mouth and both chip in hand and salsa splat are set to invisible and the mouth closes to chew them.

This scene is for the last chip on the tray, if you have a pile of chips then you dont need to worry about making any of the chips on the tray invisible when one gets picked up.

Thank you Greenway, it was great fun.

Looking forward to seeing and learning from your demo/ tutorial project.
MacCraw
Posts: 14
Joined: Fri Apr 05, 2019 8:50 am

Re: Pick stuff up and move it in a certain sequence

Post by MacCraw »

Greenlaw wrote: Sat Feb 19, 2022 2:26 am If the intention is to show the chip inside the mouth, I would put another duplicate of the chip artwork layer inside the character's mouth layer and allow the mouth layer to mask the chip.

This sounds like an awful lot of detail. I can understand putting in this effort if the animation is all about showing the chip inside the mouth and what happens to it, but if the act of eating a chip is only meant to be incidental, I would simplify the scene.

In other words, it's more polite to chew with your mouth closed. :D
I guess I should specify what I'm trying to do: the chip goes into the open mouth, the mouth closes in one frame, and the chip vanishes as soon as the mouth closes.
User avatar
slowtiger
Posts: 6104
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Re: Pick stuff up and move it in a certain sequence

Post by slowtiger »

One frame chip in hand in open mouth, next frame mouth closed and chip in hand invisible. I wouldn't bother with anything inbetween. But if you must, copy the chip into the mouth, behind teeth, and keep it invisible until it's time.
AS 9.5 MacPro Quadcore 3GHz 16GB OS 10.6.8 Quicktime 7.6.6
AS 11 MacPro 12core 3GHz 32GB OS 10.11 Quicktime 10.7.3
Moho 13.5 iMac Quadcore 2,9GHz 16GB OS 10.15

Moho 14.1 Mac Mini Plus OS 13.5
MacCraw
Posts: 14
Joined: Fri Apr 05, 2019 8:50 am

Re: Pick stuff up and move it in a certain sequence

Post by MacCraw »

How does that solve the problem with the mask? I have it to where as she puts the chip in her mouth, it disappears behind a mask (using the whole process of "Show All" on the group and "Subtract from mask" on the mask itself), to represent it going partially into her mouth (like past her lips and teeth to where it's partially obscured until the mouth shuts, at which point it vanishes. I don't want the mask to keep moving, I want it to stay in place.
User avatar
synthsin75
Posts: 10051
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Pick stuff up and move it in a certain sequence

Post by synthsin75 »

If it happens in one frame, no one will notice if it disappears gradually or just blinks out.
ggoblin
Posts: 266
Joined: Wed Jan 19, 2022 2:09 pm

Re: Pick stuff up and move it in a certain sequence

Post by ggoblin »

Following Greenlaw and Slowtigers suggestion of duplicating the chip inside the mouth layer, I've created another learning example..

Image

(This is an animated gif, click on it if it is not animating)

The project file is here:
https://we.tl/t-oXSCXp1e7H

Image

As you can see I've created a simple mouth group with top and bottom teeth layers and tongue all masked by the mouth shape. Following Greenlaw and Slowtigers suggestion I've include a chipinmouth layer which has a duplicate of the chip (plus salsa splat), it sits behind the teeth and in front of the tongue layers. Its invisible until the hand drops the chip in the mouth, then it becomes visible and is moved about in the mouth during the open-mouth chewing phase before being made invisible again to indicate swallowing. This was fun, hope it helps.
User avatar
Greenlaw
Posts: 9576
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Nachos Demo Project

Post by Greenlaw »

Hi guys,

Sorry for the delay, but here's a preview of the demo project file linked below...

Image

Here's the file: NachosDemo.zip

As mentioned earlier, this was going to be a simple demo for explaining a 'hand off' technique but I probably had too much fun creating this project and it grew into something more complex. There are a number of useful techniques being employed here, some unnecessarily so, but I thought the examples would make a good tips & tricks video.

For now, I'm uploading the project file here with the quick explanations, and later I'll make a new thread for the video with deeper explanations on the other techniques.

In the meantime, have fun picking this file apart. 😸
Last edited by Greenlaw on Mon Feb 21, 2022 12:57 am, edited 3 times in total.
User avatar
Greenlaw
Posts: 9576
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Pick stuff up and move it in a certain sequence

Post by Greenlaw »

Okay, here's a quick rundown for what we've already discussed: the hand-off technique and nested Smart Bone Dials...

Image

This project uses two Bone layers: one child Bone layer with the skelly rig and a parent Bone layer with a global chipSwitch Smart Bone Dial (SBD). The chip we see in the animation is actually three separate chip layers that get switched out, and these chips exist in three different locations within the hierarchy:

- chipA in snackTime >snacks >chips (the chip in the bowl)
- chipB in skelly (this one travels with the hand)
- chipC in skelly >head >mouth (the chip in the mouth)

This animation could have been done by individually keyframing the three chip layers in sequence, but this can get complicated to edit because of the different locations. So, in this situation it makes sense to create the chipSwitch SBD so we can switch the visibility between the three chips using a single control dial.

As mentioned earlier, this setup can be simplified by including the chip bowl artwork inside the 'skelly' rig, and, because this is a 'one-off' animation, that's what I normally would have done. If I had done that, I could use the chipSwitch SBD to control the chips and it would all work fine. As a beginner user, this is probably the route you should take.

But nooooo...because I brought up the topic nested Smart Bones, I had to get all 'clever' and create an example to explain how nested Smart Bones work. :D

So if you ever need to create a 'nested' SBA setup, like the one used in this project, here's what you need to be aware of:

If you try to do this using only a single SBD in the snackTime parent Bone group, the SBA will appear to work in your tests, but once you start animating it, the actions in the skelly child Bone group will rudely ignore the snackTime SBA keyframes. Why? It's because Smart Bones are meant to control only the Actions within their local Bone group.

Luckily, there is an exception to this rule that allows us to work around the restriction: Smart Bones can control other Smart Bones in a nested Bone group. This means if you create a second chipSwitch SBA inside the skelly Bone group, you can use the chipSwitch SBA inside the snackTime Bone group to rotate the chipSwitch SBA inside skelly. To make this work, there is one more rule you need to follow: The second chipSwitch SBA cannot also be named chipSwitch...in other words, the nested Bone and Action are required to have a unique name.

So, let's click on the skelly Bone group and look for that second chipSwitch bone.

Hey waitaminit...where the heck is that second SBA? To see the second SBA, select the menu command Bone Hide/Show Shy Bone. Now you should see an SBA called chipSwitchA. (The 'A' is what makes this name unique.)

So why was this SBA hidden from view? It's because the chipSwitchA SBA should be controlled only by the chipSwitch SBA, and you don't ever want to animate chipSwitchA directly. Doing so will likely create conflicting animations and make the SBAs behave unpredictably.

Using the Shy Bone command is the easiest way to hide bones and keep them from being animated accidentally, and because Bone Hide/Show Shy Bone is a toggle switch, it's easy to show Shy Bones again in case you need to edit them. To use Shy Bone, select the bone and click on its Shy Bone option.

Now let's hide the Shy Bone again by reselecting Bone Hide/Show Shy Bone. The SBA should disappear. (Tip: if you don't have a shortcut key assigned to this command, I highly recommend do so. Or even better, use my MQC panel so you can toggle Shy Bones off and on with a single button click. BTW, If you toggle the command again, you might notice other Shy Bones in the layer.

I hope this quick tutorial helps.

There's other spooky stuff going on inside this project and I'll explain all that in an upcoming video, so stay tuned! 😸
Last edited by Greenlaw on Tue Feb 22, 2022 12:11 am, edited 8 times in total.
User avatar
Greenlaw
Posts: 9576
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Pick stuff up and move it in a certain sequence

Post by Greenlaw »

Oh, I forgot to mention something: if you look at chipB in the hand, you'll notice that it's bound to a bone, and this 'chip' bone is parented to the hand. This exists so the chip can be unparented or reparented to other bones. This is the setup for other hand-off technique mentioned in my original post. In this project, the bone never changes its parenting, but it is used to slightly rotate and reposition the chip during the animation.

I also forgot to mention what's going on inside skelly's mouth. If you look in the mouth Switch layer and open the open group, you'll see the mouth drawing is being used to mask the chipC drawing. This is what I meant earlier when I described using the mouth to mask the chip. This should solve your problem with keeping the mask in place.
Post Reply