Page 1 of 1

Deep Frames

Posted: Thu Dec 30, 2021 5:26 pm
by iamthecrave
Hello all. Congrats to the devs on an EXCEPTIONAL version of Moho. So good!
I'm very interested in Deep Frames. Can someone fill me in on their purpose and use? How do you select a "Deep Frame Range"?
I also have a potential application. I have created a character and did not like the limb movement, so I copied the same rig to a new file with no animation.
I want to keep mouth movement, though. I have three Switch positions and am adding point animation to make it more interesting. Can I use Copy Deep Frame range to transplant all of the keyframes from one animation to the other as promised by the release announcement?

Anything you guys can tell me about Deep Frames would be helpful.

Re: Deep Frames

Posted: Thu Dec 30, 2021 10:32 pm
by Greenlaw
The new Deep Frames commands (Copy Deep Frame, Paste Deep Frame(s) and Copy Deep Frame Range) are pretty cool. They're meant to simplify copying and pasting animated keys from multiple layers to another frame. Previously, you had to copy and paste keys from each layer individually but now you can do this all at once. One interesting thing about Deep Frames is that it will copy animation from a frame even if there is no keyframe for that animation there (meaning an frame that's being 'tweened'.)

For example, let's say you have a very complex animation from frames 1 to 10, and you wish to copy the pose at frame 5, but the animation at this frame is mostly being interpolated between 1 and 10. What Copy Deep Frame will do is copy the animation from that frame for everything that's animated, whether it has a keyframe or not. It does this by internally 'baking' the animation. When you use Paste Deep Frame(s), to paste this pose at another frame, these 'baked' keys are pasted there. Note that this is different from the Copy Current Frame... command, which will only copy existing keyframes.

The Copy Deep Frame Range is similar to Deep Copy but it does this with a frame range. To use it, you need to select the first and last existing keyframes in the animation, and then choose Copy Deep Frame Range. The result when using Paste Deep Frame(s) will be the 'baked' range of keyframes.

Re: Deep Frames

Posted: Thu Dec 30, 2021 10:39 pm
by Greenlaw
Oh, I forgot to mention that this feature works hierarchically, meaning it works from the currently selected layer down throughout its child layers.

So, for example, if you're use Copy Deep Frame at the root layer for one character, it is not creating keyframes for all the characters in your project...only for the selected character.

However, if all your characters are inside a single group layer, and you use this command on that group, then Copy/Paste Deep Frame(s) does create keyframes for all the characters.

Hope this helps. 😺

Re: Deep Frames

Posted: Fri Dec 31, 2021 3:29 pm
by JoelMayer
Wish there was a feature "Create Deep Frame" where you can select a layer and it creates a keyframe for ALL children point layers. I know there are some scripts that do the same but yea. I think easier keyframe creation/manipulation across a whole character for selected attributes would be really great out of the box.

Re: Deep Frames

Posted: Fri Dec 31, 2021 4:07 pm
by hayasidist
not quite what you wanted but ... one thing I feel is missing is the ability to make sets of layers visible in / absent from the timeline more easily --- A bit like layercomps, but for timeline visibility ... that way with (say) a bone group selected it's a "one-click" operation to get all its vector child layers showing in the timeline... (unless someone has already scripted it!)

Re: Deep Frames

Posted: Fri Dec 31, 2021 4:16 pm
by JoelMayer
I think i have SOME script installed that at least just shows me the layers that have animation on. I would like to have a function though, where the timeline automatically jumps to the selected layer vertically, that i have selected.

Re: Deep Frames

Posted: Fri Dec 31, 2021 6:55 pm
by synthsin75
Since scripts can't scroll the timeline vertically, a script would probably have to "solo" the selected layer to just show it at the top.

Re: Deep Frames

Posted: Fri Dec 31, 2021 6:58 pm
by Greenlaw
JoelMayer wrote: ↑Fri Dec 31, 2021 4:16 pm I would like to have a function though, where the timeline automatically jumps to the selected layer vertically, that i have selected.
I just use Alt R-click on the visible item; the clicked-on layer is then automatically selected and made active in the timeline. There is also the companion shortcut Shift Alt R-click, which selects the parent group of the clicked-on layer.

I also use Synthsin75's Layer Shortcuts so I have a direct on-screen button to go directly to layers where I know I have animation. I demonstrate how I use Layer Shortcuts here...



This works great for vector layers that I frequently edit using the Magnet tool, which are usually the eyebrows and mouth layers. My characters can have hundreds of layers, many deeply nested, so using Layer Shortcuts to call them up instantly is a great timesaver.

In general, I don't want to see anything in the timeline that I'm not currently animating, so I like to hide a lot of channels. This video has an example at 8:54...



And of course sometimes I want certain layers to be always or usually visible in the timeline. This is where Timeline Visibility (TV) in the Layers Window is useful. BTW, the latest Layer Comps has a column for TV which I assume allows us to easily enable/disable TV sets. I haven't tried this option so I'm not sure how to best use it yet. (I should add this to my To Do list for the weekend.) 😸

Re: Deep Frames

Posted: Fri Dec 31, 2021 7:04 pm
by JoelMayer
Yes i know Alt R-Click, what i mean is when you have a lot of channels active on your timeline, you still have to manually scroll to the selected layer in the timeline instead of it focusing either automatically or with a shortcut (i.e. "O" in TB).

Re: Deep Frames

Posted: Fri Dec 31, 2021 7:07 pm
by Greenlaw
Oh, I see what you mean.

This is the reason why I disable many channels from appearing in the timeline. By default, Moho displays a lot of channel data that's usually just a lot of extraneous clutter, and it may even slow down the UI. Hiding it makes it easier to find and focus on the important stuff. When I'm working on a shot, I very rarely need to scroll down in the Timeline because the data I want to see is usually visible without scrolling. On the rare occasion where I need to see it, I can easily re-enable the desired channel's visibility.

Re: Deep Frames

Posted: Fri Jan 21, 2022 6:33 pm
by lucasfranca
Greenlaw wrote: ↑Thu Dec 30, 2021 10:32 pm For example, let's say you have a very complex animation from frames 1 to 10, and you wish to copy the pose at frame 5, but the animation at this frame is mostly being interpolated between 1 and 10. What Copy Deep Frame will do is copy the animation from that frame for everything that's animated, whether it has a keyframe or not. It does this by internally 'baking' the animation. When you use Paste Deep Frame(s), to paste this pose at another frame, these 'baked' keys are pasted there. Note that this is different from the Copy Current Frame... command, which will only copy existing keyframes.

The Copy Deep Frame Range is similar to Deep Copy but it does this with a frame range. To use it, you need to select the first and last existing keyframes in the animation, and then choose Copy Deep Frame Range. The result when using Paste Deep Frame(s) will be the 'baked' range of keyframes.
That's curious, and that's exactly what I was looking for. But is there any way to copy "in twos" or respecting the Keyframe interval property? Does anyone know a script that does this? Or "bake" the whole animation "in twos"? There's a tool like that in Toon Boom.

Thanks in advance!