Possible to merge layers?

Anyone know if it’s possible to merge layers (all just basic drawing layers) for colouring in Animate? I’ve searched the forum and documentation but can’t figure it out! Any advice would be a big help. Thanks.

Edit: I found the info below (from TB Storyboard), but I can’t find a ‘Merge Layer’ option and it isn’t mentioned in the TB Animate help file.


Edit2: If it’s not possible to merge layers, does anyone know if the fill tool can take into account lines from multiple drawing layers when colouring? The problem I’m having is there are open areas (if that layer is taken in isolation) that can’t be coloured with fill and it would take a very long time to go through every frame to close the lines in each layer by hand.

I dont think you can (I might be wrong). Instead you might have to copy the art work from one level into the next…(one caveat – the copy might get automatically offset–I havent checked if Animate Pro does this but other versions do). I dont know that you can “merge” levels. I am almost certain this can be scripted and if I have time I’ll see if I can piece something together as this is something Ive also wondered in the past…but I best wait to see what other users or TB have to say first (there might be an option already). In any case I’ll keep you posted.

Thanks for the response :slight_smile:

I’m still working on the line drawing stage so haven’t reached the point of colouring yet but am still very unsure how best to approach this, since I have multiple layers (across 650 frames) each with open lines. When all layers are turned on the lines are closed, but Animate seems to be taking the lines on the basis of an individual layer and won’t fill.

At the moment my two options seem to be to painstakingly go through each frame, closing the open lines with appropriate colours or export the individual frames into photoshop and colour them there. Both these options are obviously less than ideal so if anyone knows a better approach, please get in touch! :slight_smile:

Edit: By the way hjperez, it goes without saying it’d be awesome if you could script something that’ll solve this issue, I’m sure lots of people would find it useful (I still can’t believe it’s not a standard feature of Animate to be honest).

I’m all for Hj making that script. Hj you seem like the most knowledgeable person on the forums when it comes to Qsa. I think we need a separate forum topic just to encourage developers to start making some nice custom tool sets for Animate and sharing them! When I have more time I’m hoping to get into Qsa. All I can say right now… anyone who wants to take on the challenge of developing custom tools. I will bake you cookies

Hi Mobelea

I just want to double check with you to see if Im understanding the situation at hand correctly. Using the photoshop metaphor : is this like the difference between using the magic wand tool with and without the “sample all layers”? That is, are you saying that it would be nice if Animate “sampled all layers” so to speak?

I’ll try to put together a script here as soon I get a chance. Shouldnt be too long though…I hope. I’ll also try to post a couple of examples/tutorials on how to get started with scripting using Animates embedded Javascript language (QSA)

while not without limitations,a lot can be said about being able to customize and extend the tool you use. ( Personally I want a tool that works for me and not the other way around, and one that is not distracting me unneedlessly so that its almost transparent–ideally)

Hi hjperez,

Yeah I think that’s right. So that when I fill with colour it takes lines I’ve drawn on all displayed layers into account (instead of just the single layer I have selected)

I really appreciate that you’ve taken the time to help me with this, good luck with that script! :slight_smile:

Thanks man!

Hi again,

I’ve just thought of something that might be a problem with the ‘sample all layers’ approach, when the frames aren’t in sync across all the layers (some are held longer than others or at different timing, see image below). This will probably cause a problem after colouring the first frame then moving on to a later one that’s only a new frame in certain layers. I guess the layers will somehow need dividing up equally to solve this. Really sorry I didn’t spot this earlier.


Hi Moblea.

Several software packages address this problem by creating output in “ones” So if you have one set of keyframes in twos and say another set of keyframes in threes or fours, you end up with a result that will be keyframed in ones. Sometimes this merging or baking of keyframes, or drawings, etc, is done at the tail end simply because you’re force to work on ones thereafter (but if you keep your original layers youd just re-bake them again to overwrite the result). So most people put it off until theyre pretty comfortable with the timing and drawings.

The script I plan on creating would probably take that approach of baking out the keyframes on ones

That makes sense. I’m still amazed you’re able to do this kind of thing with scripts, it’s an area I definitely need to learn about (I’m still at university).

I don’t know if this would be more difficult to implement, but instead of baking out to ones, how about only creating a cell divsion in the ‘merged’ layer when a division appears in any of the layers it’s created from. This would mean less colouring is needed. No worries if this isn’t possible, I’m still totally in awe of your scripting skillz, just thought it couldn’t hurt to suggest! :slight_smile:

Hi Moblea,

Sorry Ive been quite busy lately. I will try to put a script together sometime this week.

This is precisely what a well polished script ought to do. unfortunately because of time constraints, I’ll be starting off with the brute-force approach. It can probably be expanded sometime thereafter,

No problem mate, I’m grateful for you even taking the time to post!

Hey mobelea

Really sorry for the delay that I just wanted to post a prototype. Its not polished yet and the script is quite naive and finicky at the moment. In any case heres the prototype.

By naive I mean to say that at the moment there is no error checking.
And by finicky I mean it relies on a specific setup and thus has limitations.

The columns to be merged need to be right next to each other. No other column should come between them.

The user is required to create the destination column and expose it on ones. The destination column must come right after the last (left-most) column being merged

if you have a drawing selected before selecting the columns, make sure you have the first frame selected

the script needs to run from the xsheet toolbar

the script comes equip with undo capability

There still a bit of work left to do and a lot of polishing
For example, it would be nice to eliminate some of the arbitrary behavior (must run from xsheet panel, must be adjacent columns–these are however internal limitations AFAIK, but others, such as the ability to specify a start and end frame range are not).

There are a couple of features that will be needed, like the ability to specify frame ranges because while copying wont be taking up too much RAM, pasting a series of drawings without a save might.

I’ll also document the source code. BTW anyone is welcome to modify it as they please

PS Ill post updates when I get a chance…been a bit busy and just wanted to post this WIP

thanks for this hjperez. It looks like a very useful script
as far as I know your the first person outside of TB to produce any new scripts for animate!

Thanks HJ, that’s amazing.

It’s late now (I’m in the UK), but I’ll try this tomorrow and post some feedback for you.

Thanks again!

Hi everybody. I know this post is 6 years old. I’m wondering if there is a robust solution.

L1: Drawn lip-sync which includes an animated chin-line. This is singing, and too subtle for the built in track reader, so I have drawn and sequenced every mouth position needed.

L2: A dancing figure with a place-holder face. There is also floppy hair on this layer which obscures or reveals the placeholder face depending on any given pose.

I keyframed L1 (the lip-sync layer) to match up with the dancing (and singing) figure L2, and now want to merge or at least use the trim and fill tools through both layers so I can trim the chin where it matches up with the top of the placeholder face, and trim lines out of the placeholder face.

I wish I could just merge these two layers without repositioning the drawings.

Alternately, it would be great to get this workaround to work: export a jpg sequence, and reimport it as a vector layer to merge. But when I do this, the drawings lose their registration. I can clearly see my lip-sync layer correctly rendered and registered in my jpg (or png) sequence on the desktop, but toonboom harmony (advanced) strips the motion out of them. It’s the oddest behavior I have ever seen. This happens irregardless of the import options I have tried. What am I missing?

Any clues? Thanks!