In the throes of my beginner stages, I assembled various animations from an existing spritesheet into layers on top of each other. Is there a way to export each layer as its own GIF? The Export option lets you select a layer to export, but is there a script that will automate the rest (similar to the Export All Layers as PNG script)?
Pic related, I would want Idle.gif, Stand 1.gif, Stand 2.gif, etc. without the layers overlapping (so it would have to reveal and hide the layers one by one during the procedure). I searched and couldn’t find a script that did this. Thanks for any help.
welcome Tenome!
it seems to me there are two options:
use export layers as png and then drag’n’drop all files to aseprite. aseprite will ask you if you want to import files as sequence. check the option “do the same for other files” and you’ll get all your sequences as separated sprites, which you can export as gif.
in export layers as png script at the line 59: sprite:saveCopyAs(pathPrefix .. layerName .. pathSufix .. ".png")
change png to gif. note that you’ll have to create the subfolder manually - if the name of your sprite is file the subfolder has to have a same name, otherwise you’ll get an error Error saving file: Cannot save file file in the given location. i don’t know why.
all exported files with multiple frames will have a suffix _. if you don’t want that change at the line 102: multipleFrames = "_" to multipleFrames = "" or remove whole
if (#sprite.frames > 1) then multipleFrames = "_" end
section.
I’ll try that, thanks. In the future, would it be better to have each animation as its own Aseprite file? I thought that would be cluttered hence me putting them all in one file. Lesson learned.
i guess it depends on your workflow, i have everything related to one sprite or asset crammed in one source file too. not sure if it’s a good habit or not. :]]
Made a script to display the total number of non-empty cels from visible layers. Or, in naive terms, the total frame count.
It’s ugly but it works.
-- Made 2021/01/17 00:32-02:14 by Unknow0059. For version of commit 9f88508 and higher.
tally = 0
for index, layer in ipairs(app.activeSprite.layers) do
if layer.isVisible then
for index, cel in ipairs(layer.cels) do
if not cel.image:isEmpty() then
tally = tally + 1
end
end
end
end
app.alert(tostring(tally))
Hi everyone, thanks for all these scripts. I’m having trouble finding one that does the exact thing I need, or knowing the terminology for it…
Is there a script that can scan an indexed color image and tell me if I’ve used more than X palette colours in a single pixel height horizontal line? I’m working on Amiga copper backdrops and have a 3 colours (+ transparent/black) per line limitation to work around and it’s surprisingly difficult to do it by eye. Even better if it could highlight the lines somehow?
Here try this script: eg_palrowmax.lua - Google Drive
You may edit value of MAX_COLORS_IN_ROW at 5th row inside script if you want some other max count.
… I don’t quite understand how it works, sorry! haha,. When I run it in file/scripts it pops up “All OK!” but i don’t know if it did anything… It says All OK! whatever picture I try it on? I’m maybe doing it wrong. I’m on Aseprite 1.2.27
Oh, I forgot to mention. You should prefix your layers with + sign or # sign for it to be checked. It checks all frames of all layers prefixed that way.
非常感谢,我在为自己的游戏项目写一个lua脚本用于导出图片和数据的时候遇到了问题,在参考了“Export sprite’s layers as individual images”中的lua脚本后,我解决了我的问题。我向此作者表达了感谢,也感谢你的整理的列表。
Thank you very much. I had a problem writing a Lua script for exporting images and data for my game project. I solved my problem by referring to the Lua script in “Export Sprite’s Layers as Individual Images”. I express my thanks to the author and thank you for compiling this list.
I just made a helpful color range selection script. It lets you select colors continuously instead of one-by-one like you had to do with the built-in tool: select-> color range.
I’m calling this one SCMRSN (pronounced “Scrimson”) and plan to release a CRMSN version later.
are there any extensions that can modify the duration of a specific cel or layer? I’ve been trying to change the frame rate per layer but it turns out, it also change the cels that’s within that Frame.
So, when I first came across this thread several months ago, I tried to download among other things this script. Unfortunately, the link to GitHub was and still is dead. I went to author’s twitter, ask them for a working one and got it!
Since then the author privated their twitter. So the script became inaccessible again.
Which is why I uploaded the file to my GDrive in case anyone needs it.
Hey guys, I created a simple “noise” script. GIMP has something similar, and I was missing it in Aseprite.
By default, it will create a new layer and scatter it with single pixel dots in your current foreground color. You can control the density with the first script option (higher numbers = LOWER density).
Even better, if you want to create noise using a brush, all you have to do is choose the “Use current brush” checkbox and the script will apply the brush anywhere it would have created a speck of noise.