Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

A couple suggestions as animator

A topic by bWWd created Nov 10, 2022 Views: 537 Replies: 9
Viewing posts 1 to 9
(2 edits)

Hey , its a great piece of software and a pretty exciting one, i work on game sprites on pixel level and bone animations since like 8 years, spine,spriter, dragonbonees ,blender you name it..  and obviously aseprite thats amazing, i have some suggestsions that would speed up the work...

- make keyframe automatically on frame 0 from get go, dont leave it empty cause its cumbersome to create keyframes for stuff , most soft are autokey, so just be careful what you move and thats it - speeds up work a lot. Also autokefuraming for mesh,translate,rotate when you change them, so you dont even have to touch the key button that creates keframes.You can make it optionable in settings but id prefere this on default mode.

- when we grab child  bone and hold shift , its nice to have parent bone follow child bone ,  auto IK  helps immensely when animating.

-ability to swap images of for example the hand to open palm, fist, pointing ifnger etc very easily and auto keyframe it on timeline ( like howing selection of all hand images to choose from with a shortcut or right mouse button when we click on hand bodypart during animation process ?

- bones only rotate ? Id like to be able to squash and stretch so maybe add scale x,y ? or a place on bone so we can click on it to enable scaling + also a way to scale without aspect ratio preservation and with preservation.( so we can make things thinne/fatter with bones)

- a pixel paint layer ? that would be something, so we can touch up stuff by painting over ? Like a regular aseprite layer or something and simple painting tools...

- shortcut cheat sheet  with all shortcuts onscreen at once ?

-easy one click way to reset layer shader to default

- automatic z order on import !!! this is a big one, why dont you jut automate it so when we import images their z order is not 0 on all of them but already set to whatever image was first or last...

Most of my time wasting issues are that things are set to 0 by default instead of saving time and giving them actual values/settings which is how other animation software work , you import everthing on frame 0 and this frame is already keyframed automatically.

-  You ever though if it would be possible to do lke a vector paint layer where you would draw like you normally do pixel art but when you do one pixel bent line as a smile  and when you rotate it then the line would be perfectly preserving one pixel width no matter how you rotate it ?  especially the lines inside of the sprite like mouth or eyes, currently when we rotate we get jaggies inside ( inline can fix nicely outlines so thats covered ), some kind of way to combat that would be great,, 

Maybe extra layer that would use the code for the inline by copying stuff thats underneath and detecting lines and colors ? Not sure how your inline thing works but I think that would be groundbreaking if a software would take care of the chosen lines ,  sometimes i use  antialiasing and then do indexation so it would work but that might not be desireable by all people, still antialias is a nice option IMO if we would want it , i think current display is aliased and its simple near neighbour scaling , sometimes i do want alias and sometimes i dont, a switch for that would be nice. 

-Maybe inline per bodypart/image ? also ability to remove inline by masking or something even quicker ? so they could be opened shapes not just closed ones.

overall its still not as fast to make me want to switch but its close + lack of antialias is a deal breaker cause sometimes i animate non pixelated stuff but im glad i bought it  and cant wait whats next.

(1 edit)

Hey, thank you very much to have take the time to write these suggestions. And as you have experience with bones animation / pixel art, the feedback is really appreciated. 
I'll answer each point and I'll update some points with some gifs later to be more clear.


1) Yes when you are creating the track with the plus button adding directly a key should be nice. Else I use more often the key button near the input, it creates track and the key at same time.


2) Nice idea, it should behave like a chain IK ? I mean if there is a chain of bones, all bones should move or just the direct parent ?


3) There is a way to import multiple images to create an animated image then the frame index can be added in the animation. Maybe this could be improved to be more intuitive.


4) Yes bones scale x/y is available by holding shift. Maybe it's a different convention in the others softwares ?


5) Painting layer, good idea, I keep that for a future update should be really useful to save some time and prevent to go back and forth between aseprite and pixelover


6) Shortcuts are available in the settings, but maybe like something to expand on the main view ? Some software also has some like auto completion with the shortcut action at the bottom of the view for example.


7) Reset all shader parameters with one button, noted for future update.


8) The logic was all objects on the same Z are ordered by their parent/child position. Children first and parents after, for me it's faster to manage than having to change the Z index for each object (like you just have to drag'n'drop in the scene panel to change the display order).


9) Like pixel perfect line ? Yes it could be possible to add an object like that, good idea.
And yes aliasing settings are available for each image in their property when selecting them.


10) Yes could be intersting to add a line between objects. I'll think about it to make it intuitive.

Thank you very much again for these feedbacks and suggestions ! What are you currently using for pixel art bones animation ? Spriter + aseprite I guess ? Because you are also using spine and dragonbones but I don't think you can have a pixel art render with them.

(15 edits)

Thanks for the tips, yes i currently use spriter and aseprite heavily but with pixel art i just go with aseprite only.spriter has its issues with antialiasing so i have to upscale 2x or 3x to get crisp pixels when exporting and scaling down.its indexed mode is kinda meh , i still need antialias with it to get rid of jagged lines at least on the insides of character cause lines can just disappear midway when rotating smaler stuff on pixel level, thats also issue with pixelover and inside lines but more about it on point 9.

You can export pngs from spine or dragonbones and index the frames later but the antiaias is too strong for my taste, i had closed contact with spriter devs but sadly they discontinued sprites and built v2 in unity ,im pretty fast with first spriter so im fine with it, i like mesh cause it has autosubdivisions and its super smooth without sharp edges unless i need those. 

1- what i meant was more like autokeyframing everything you modify , cause now i had to add keys myself for mesh, for bone etc, its just timewaster to do it like this and time = money.

So for example if you decide to use a mesh and click on it to create a mesh - add keyframe on timeline from get go so we dont have to do it ourselves.

2 - yes like a chain ik, it would be nice if only parent bone would follow but if you press a key then next one would follow and pressing key again another one would follow up in hierarchy.I use it all the time to bend arms ,torsos and legs in a natural way.

simply holding shift and moving forearm bone to do temp IK to bend the elbow  so bicep bine would follow would be much faster and no setup needed,

3- thats nice it exists, yeah having it ready to swap image in split second during animating would help save time as well, with spriter you just click left mouse button and all images are displayed so you can hover over them and pick the one you want, there might be other faster ways but thats a convenient one also you can display hands only,legs only or all images to choose from

4.that shift is just y axis , need it for x axis too.the image doesnt get "Fatter" just gets taller shorter.

5.yeh that is something i wanted so many times to touch up things and skip separate program, but how it would align with everything , not sure , maybe it is user that would have to deal with it and not modify and move bones anymore when using pixeldraw layer.OR maybe it would or could be per bodypart... not sure what would be more universal to keep al the extra pixels aligned with animation even if you modify the bones rotations slightly later.

8.The z sort thing takes time, i just wish there was fast way to sort stuff and not al things would be on 0,   id make scene panel order not being able to change z sort when moving stuff around and all things are at sort 0  - this is confusing and shouldnt be possible, id use just z order panel to change display order so no matter how much you swap around scene order panel elements - they wont change display/z order like they do now.

9.yes this would be a big thing to do really clean lines even on insides like mouth if you could detect the mouth lines somethow ?

Maybe... if we would paint the mouth lines in lets say magenta then you would detect those as a border and use code from inline to replace these with cleaner ones ? Maybe there are other tricks that would make it work nicer, i suppose you would hve to mask the original line that bevomes jaggy and display clean one on top? not sure how you do inline but it works great and oh by the way , you think its possible to do autocolored inline ? SO its not just one color eveywhere but detects if ears have orange colour and creates slightly darker orange for inline, then it detects if hands are blue and creates inline with darker blye and slighd hue shift or something ? all controlable by user how dark it is and how far it hueshifts and desaturates from original blue color.

I dont think ive seen autocolored outlines/inlines, but the inlines work much nicer from what i see to cleanup messy outlines, would be great to use that technique on lines that are drawn on the inside of bodypart too at least partially, that would save tons of time on cleanup.

NEW SUGGESTIONS:

- timeline thats frame number based not seconds based, basically what aseprite does.

-keyboard shortcuts to go back one frame with arrow left, or back one keyframe  with shift arrow left etc.

- when opening gif animation of lets say walkcycle, i think a tickbox for automatic idexaction would be handy, to it would use palette of actual gif for indexing

- new mesh type thats already subdivided and works like in spriter where you can have one control point that able to be selectable and other verts around it are not  cause they will just follow  the main vert .Something like proportional editing in blender when you grab one vert and all others will follow it, would be neat to adjust how strong it is .This will help us to get rid of over complex meshes and deal with jagged areas .You can control subdivision level in spriter with a shortcut so similar thing could be very useful.

../../../_images/editors_3dview_controls_proportional-editing_influence.png

-  Also.. gif export ? I really need it , all clients want to see thing moving.Would save time.

- I had some issues sometimes in sprites it does weird dot artifacts like on his darker leg, single pixels, tried denoise but it wont remove it without blurring details, any ideas how to detect those singletons and trash them ? also single jagged pixels on borders use a code that could be used for that i suppose ? detect is theres single pixel and no other pixel in near areas.

- autoswapping bodyparts acording to light position

On this custom mary walkcycle i had to reasemble her as a puppet with bones ( done in spriter and upscaled bodyparts worked on 400% scale then scaled down to get crisp lines like actual sprites  when fighting back antialiasing but also wanting to keep some of it a bit )and i had custom bodyparts with different light scenarios (left,right, extreme left,extreme right and middle light) so it would work better and more natural, sometimes i wish someone would figure out a way to automatically swap the bodyparts depengint where you told the software the light is ... maybe one day ?

I use lot of multiple bodyparts for more complex pupet sprite animations so a way to swap them immediately as quickly as possible would help a lot 


- reference layer ? so it would play animation under everything and you would work frame by frame looking at reference, i animate a lot with reference like this sonic type char.So it would basically autoswap to next frame when dragging the timeline slider , we wouldnt have to worruy about anything, kinda like animation playing back under our animation.


Oh and resampling panel is amazing, i can choose the one i want for specific sprite style, i have some ideas on how to scale up 4x and scale down back with priority to dark pixels when they occupy the same space when scaled down, that should give even better results in theory.But i could be wrong

At the moment sharp bilinear and rotsprite are winners for what i do, if youd figure out autocolored inline that would be amazing. but palette would have to already contain the extra dark colour used for autocolored inlines i suppose, lot of logic behind it all.

(1 edit)

Yes, it's always hard to have something perfect when transform small pixel art also the big issue I find in Spriter (pixel mode), there is a lot of jittering due to their pixel approximation (fixed in PixelOver).



1) There is auto keying, it's activated by default, ones a track is added modifying the property will create/update the key.

2) Noted thank you for the feature suggestion !

3) Yes, I see a more visual way to choose the image frame.

4) It works for both axes. Basically without shift x and y have same ratio and shift makes x and y independent.


5) Mmh if it is by body part and aligned with its transform we can have issue that what we modified at a certain transform will affect negatively in another transform. But yes in any way if I implement a layer to paint over, adding a way to modify the images of each object can also be possible.

8) Ok I see the issue now. Will be improved in a future update, thank you.

9) Yes original line should be replaced with a computed one, it could be possible, not easy but possible, I'll keep that for a future update.

Currently it's only possible to use gradient instead of color and put semi transparent color which can be reindexed in the given palette (some semi transparent black for example)

And gradient can be in child of an image or bone to follow the transform.

10) There is already a way to switch between seconds and frames but should be improved to put all the position and length inputs to frames and not just the timeline.


Noted for the new shortcut, to move of one frame, thank you.

11) Yes good idea about the auto indexation !

12) multi points control to vertex, noted, thank you

13) Gif export already added. You can change the extension :

But I think for a future update I'll separate folder, filename and extension in different inputs, so it will be quicker to switch.

14) Yes, in shader filters there is polish inputs to remove alone pixels.


15) Yes maybe it could be applied in a more general scenario than just the light. But yes it could be nice for a future update.

16) Maybe this can be imported in another layer ? I don't think we need something special for this.

17) Yes there is some way to improve the actual resamplers. I want for example to implement Content-Adaptive Image Downscaling :https://johanneskopf.de/publications/downscaling/supplementary/pixel_art/index.h...
Seems a very good compromise.

Thank you again for your time to give all these feedbacks and suggestions, that's help a lot to improve the software !

(23 edits)

Oh looks like i need o get back to docs and reread carefully.

The inline alpha thing is fantastic! I should of thought of that , it helps a ton to not make the outline look the same and blends nicely, you think having the outline on "multiply" or "overlay" mode would help even more to change the saturation a bit? Cause you know when you merge black with anything - it will lose saturation and i want to keep it vivid , maybe thers a way to keep it more saturated somehow ?

That swap to frames from seconds was so obvious but the S/F thing i would never guess what it was.I would move it to the row with play button and all so it shows seconds/frames or something, for other people that kinda read the manual docs but not as precisely.

When you show number of frames tho i think you should start from frame 1 not frame 0.

When i swap to F it does not remember it for other files i import tho.. so can you make it remember it ?

This also applies to everything really - the software currently does not store any settings and is using defaults for all newly imported stuff, thats problematic if we want to build time friendly workflow, for example wont remember i want export to gifs all the time, wont remember F setting instead of S , wont remember what sampling , what shader im using since last time... basically all those i think should be stored and kept like they are unless we change them.This is how most programs work,If we want defaults - we click on reset to defaults.

Sometimes imported gif wont play its animation, i have to reimport again...

Timings are not saved properly when i import gif, then add inline nd export back - it kinda changes the time how long each frame was displayed.I dont think it respects that some frames are displayed longer ?

Sometimes you have to treat new users as 5yr old kids and show them stuff like this, for you its totally different cause you know it all with your eyes closed.

The shortcut to move to next frame with arrow keys , it would be great to have also to move between just keyframes only, this is how i mostly work - jump from keyframe to keyframe.With shift or ctrl.Shortcuts and hotkeys are time savers.

The gif export, its not as obvious its even available, i think mentioning it somewhere on export panel would help people to actually look for it harder, i assumed it was just png only. Was it laziness or assumption not sure but i would try to mention all export options somewhere for newcomers.

But you know... can you add function to change export filetype from the export panel so we just change it and press export, so we dont even have to open file browser to pick the gif or png...  it would save time. Simply typing in a name  "file.gif"  doesnt seem to work to change to gif from png also you have to change filetype AND filename extension... too many steps for such thing.

- Id like to be able to quickly import gif, add inline and cleanup lines, then save it back to same file with same settings ,palette and all... I think save as gif would be nice addition to speed up whole process on gif files, maybe add also save as copy, so it adds copy to its filename when saving

- in indexation , can you calculate how many colors image has and try to set the pallete color numbers to it ? Also can we have available color number slider when we do "generate with adsjustments" ? Wil make things faster

- in indexation, can you add a option to display first color as transparent one ? so it will disappear .Optional not always needed but useful for some anims.

- reset transform shortcut or in menu when you rightmousebutton click

- shortcut - save gif anim, shortcut save png frames and it opens file browser to choose a name but extension is already applied for gif or png

The thing is - i ahve lots of older anims that have jagged pixels here and there and pixeolver fixes them perfectly but saving the new anim version will take A LOT of time with current state of things and the way of saving new gif version of the file

- Any plans for thumbnail viewer in home panel to open the files ? I mean we can see them by opening file browser but, that came to my mind when looking at main panel.

- Can You disable having two keyframes on the same time at the timeline for the same object like mesh ? The thing is - i did a keyframe for mesh with 4 points, then i added 2 more points tothis mesh, so when i went back to animate- it started to create new keyframe without me realising i have 2 keyframes at the same time- old 2ith 4 points and new with 6 points.Id like to not have that problem and update the old keyframe with new points and approximate new points position according to other points, i dont want the nnew points to just stay in place ( cause they did not had position change at all really since theyre new). 

Also please make it add mesh track and keyframe automatically to the timeline from the moment we create the mesh - will save extra step of clicking on key everytime.Cause lets face it - there wil be 0 scenarios where we create a mesh but dont want a track and keyframe for it on a timeline.But if there is, maybe make that as an extra option in settings for people who dont want a track created once we setup the mesh.

- Can You make resamping a part of the shader preset? its a part of the "look" so i think should be a part of it or at least optionable to include it.

- Can You do in the future a batch converter of backgrounds/images to pixel art style using particular shader and resizing options ? lets say scale all imags to be 240 pixels tall and run shader preset through them to convert to pixelart ?

Even better would be a batch processing that includes all functions so id give it folder with gifs, then select shader, and cleanup , inline etc, then click save and it starts to process all the gif files

I have lots of backgrounds from stable diffusion to convert like this

Im really impressed with how eported gifs look like even when mesh deforming single image, you have really special software on your hands, its going to be a game changed for pixel animators and i think regular animators too, even more so when painting layer will be included - no software has it yet. 

Hey, yes adding blending option should be nice for the inline too !

For export panel, yes just separating the extension from the path should fix the issue of not finding the different extensions.

Yes I started from 0 because last frame is equal to 0, so the number of the last frame is equal of the total frames.
For example 0 to 50, the 50 will not be taken but the animation will be 50 frames. I think it's more intuitive than the blender convention ? But maybe not.

Currently, the main settings of the project are saved (like grid, snap etc) but not the animation and export settings, you are right should be saved too by default for new project, will be added thank you.

Ok you are right for the gif frame time, need to fix that ! The animation length is well computed but as only first frame and last frame are added it doesn't take account if a frame takes longer than the others but do an average.

Yes for indexation actually it takes the last number of colors generated but maybe the max colors available should be used ? And yes opening the palette with the generation size should be nice, will be added.

Yes for transparent, I need to think a bit because when we import palette maybe we don't want to have this transparent color added but still have the transparent background, maybe it could be an extra option.

To reset the whole transform maybe I could add reset button on the collapse.

Thumbnails, I need to check if it's not too consuming I don't see much software doing that, but I'll have a look.

Ok I see the issue when adding new points, I'll check to fix. Mesh can be used with bones animation only, I don't think adding a track directly should be a good idea.

Yes batch processing could be really nice with as you said a given scale or size to target.
A resampling on shader part could be quite doublon with the one on the images (but for batch it could be added in the batch settings with the size/scale)

Thank you again for all these ideas !

(1 edit)

Great! As for starting from 0 vs starting from 1, i think when we use seconds we should start from 0 cause its logical but when its frame based, theres no 0 frame, we work from frame 1.

yes you're right, noted, thank you 

0.12.2 out, animation frames now start with 1 instead of 0.
Gif with different frame length are now well handled.
Added reset button on collapses.

There is a lot more work to do, I list by criticity/complexity

(1 edit)

Great, thanks for update, nice changes, It would be convenient if opened gifs would be automatically indexed with correct palette generated as a starting point since theyre indexed , or at least being able to reload the same gif we opened as a palette guide with one click somewhere in indexation panel