Linked cels with individual position offset

Hi there!

I couldn’t find any feature request for this so here I go:

I’ve been experimenting with animating pretty big stuff lately and came up with a feature request that would totally help a lot when animating, big or small!

The idea here is to be able to offset the position of linked cels in an individual manner, in that way there would be only need to modify one single frame if there are changes needed and not multiple frames that share the same pixel information but not the same position!

Not sure but I think this could belong to a checkbox option on the Move Tool, something like “Offset current linked cel only” or to a standalone tool.

Something similar can be achieved having the animation components drawn as tiles and offsetting them by the Move Tool but I feel the method I mentioned above may be a bit better.

By the way, thanks for making the best pixel art software out there! 10k hours here :blush:

hi, SeinRuhe!
basically this is a request to make timeline keyframe based instead of cel based. there are multiple request about that. which is understandable, some combination of cels and keyframes would solve a lot of practical issues.
however, i don’t know when (or if) it will be implemented. for now it doesn’t seem to be planned.

Personally I think it would be great to allow easy (bindable to shortcut/hotkey) split any linked cells sequence (there could be more than one in one layer) at fixed ratios like 1/2 1/3 2/3 etc. making two groups of linked cels across frames and automatically making second current. Thus make it easier to draw inbetweens.

As for offsets with would be great to have separate offset for each frame apart from cel when you, for example, Ctrl+drag them with Move Tool. And mark frames with separate offsets in timeline. And have context menu option to reset separate offsets for selected frames… but you know, it looks more like Scene Editor, not Sprite one.

And we also will need another variant of Move Tool to be working in drag-and-drop way i.e. not forcing to select layer, but it should automatically drag the layer you clicked at. It would be super useful to arrange elements when there are many of them… or wait… we can do Ctrl+click now with Move Tool. Ok, this one is already available.

Well, one could dream of this kind of stuff gaining enough traction to be implemented, as you said, it would really solve a lot of practical issues!

Also thanks for the clarification on the concept, I learned a new thing which is nice!

Hmm, I didn’t understood the first part, sorry :sweat_smile:

Referencing other software could help to see a quick (and maybe implementable) solution for this, PyxelEdit does have an Offset tool that let you do this kind of stuff quickly without much consideration for marking offsets on the timeline or reseting offsets and is still a pretty decent feature (Although as a drawing software is as clunky as it gets)

As for the last part, Ctrl+Click with any tool selected let you select layers (Or drag them), and you can also check the “Auto Select Layer” on the Move Tool to do the same.

I would absolutely love this feature. I just started doing some heavy animations. My character is walking and her head moves up and down with each step. When I change the look of her head/eyes/hair, I have to re-copy/paste the changes into each cell. Or, I link them all, make my visual changes and then individually go back and move them all back into position.

I very much second this request, but think it should look like an option much like “link cel”.
It could be called something like “Soft-Link”, with a slightly different graphical representation in the timeline (maybe dashed lines? or a thinner line? instead of the thick continuous line).
“Soft-linked” cels copy changes on the pixel level, but keep track of the cel-specific offset position separately. Idk how cels work in code, but maybe “soft-linked” cels could be regular cels that store an “origin” and an “offset” and whenever a cel is modified (except by move tool) the changes are copied over while taking into account the cel’s offset? So the move tool is what changes the offset.

I added the pyxeledit equivalent to it’s tiles back in 2018. I would love for aseprite to get something analogous as there are many things I’m stuck using pyxel for still because of this.

It’s worth noting that you need the flip and orientation (just 90 degree rotations so no pixel resampling), not just offset.

As an example use case of where it’s essential, something like this 4 stage modular boss.

https://www.reddit.com/r/PixelArt/s/6dJy8lqOhW

Some other useful features which I’d recommend:

  • A toggle to let you stamp an object with its translation, with no translation, or with the existing cels translation, or even translation only withojt changing the cel reference.
  • a move tool which works under the pen to translate stuff.
  • a toggle to allow you to apply transformations through the rest of that layer’s frames (so you can progressively animate the position of something quickly)
  • the ability to swap many linked cel contents at the same time without affecting their transformations (for swapping in modular parts like the mech boss damaged elements)

Also worth noting the move tool is where I added this to, basically as a toggle on the tool between applying to the pixels vs applying to the tile instances transform (or in ases case the cels transform).

But Pyxel has no timelines. It’s all hacked into the tile system.

Yes please, this feature would come in super handy for reducing the amount of editing required for my character sprites. I’m making my characters customizable with a choice of body parts and clothing, and many of those parts just go up and down by one pixel during the walk animation. I currently have to make duplicates and shift by 1 for all these parts to make the animation and it’s a bit time consuming.