loading...
Cover image for Transferring Pixel Art from PyxelEdit to Aseprite

Transferring Pixel Art from PyxelEdit to Aseprite

brettendo profile image Brett Bush ・3 min read

Preface

Notice: PyxelEdit and Aseprite are both really great tools and I encourage developers to research both to see what fits their pixel art needs the most!

When starting my pixel art journey, I started with a pixel editing and animation tool called PyxelEdit. PyxelEdit helped a lot with learning the basics of pixel animation and creating starter animations for Project Swirl. However, a combination of saving bugs and some missing quality of life improvements left me looking for new tools.

Then came Aseprite.

I discovered Aseprite on Twitter from following other pixel artists and animators and found that it had all the quality of life upgrades I was looking for. From the ability to move all layers of a frame at the same time, the ability to create your own brushes from sprites, and a really nice layer/frame animation grid, I was sold!

Next came the challenge: How to port all existing Project Swirl art assets from PyxelEdit into Aseprite?

Here is what I've learned!

Instructions

  • Make sure you have Aseprite installed (and PyxelEdit too, although this is assumed if you wish to transfer from it).

Export from PyxelEdit

  • Open your project in PyxelEdit
  • Select Document > Resize tiles...
  • Note, but do not change, the existing Tile Width and Height (e.g. 32px and 32px), exit the pop up window
  • Additionally, note the order of the layers in your project
  • Go to File > Export > Export image...
  • Set "Layers as separate files" to checked
  • Set Pixel scale to 1
  • Set Path to an empty folder (for example "Transfer", this is to store the layer images)
  • Set File format to png
  • Save! There should now be a Sprite Sheet for each layer of the PyxelEdit project in the folder you specified above!

Import into Aseprite

Create Base Aseprite Project

  • Open Aseprite
  • Go to File > Import Sprite Sheet
  • Click Select File and select one of the exported sprite sheet layer PNGs exported in the above steps
  • Set the Width and Height noted in the above steps
  • Click Import! Your png is now in Aseprite!
  • Now, let's save this as a Aseprite project. Click File > Save As... and change the file type to an Aseprite File (*.aseprite)
  • Right-Click the Sprite Sheet layer name and rename it the same as the layer it represented in PyxelEdit (e.g. Hair, Feet, Head, etc...)
  • This aseprite file will be your "Base Project"

Add Remaining Layers

  • Now let's add the rest of the layers! This can get a bit monotonous but I have yet to find a way to automate this.
  • Repeat the following steps for all remaining PNG layer files that were exported from PyxelEdit:
    • In Aseprite, go to File > Import Sprite Sheet
    • Click Select File and select one of the exported sprite sheet layer PNGs exported in the above steps
    • Set the Width and Height noted in the above steps
    • Click Import! Your png is now in a new tab Aseprite!
    • Click the new tab in Aseprite
    • In the Frame window at the bottom of the screen, click and hold the first frame bubble and drag it to the last one to highlight them all
    • Once highlighted, Copy the selection via Edit > Copy or Command + C
    • Return to the original "Base Project" tab
    • Create a new Layer via Layer > New... > New Layer
    • Click the first frame of this new layer and Edit > Paste or Command + V
    • Right-Click this new layer name and rename it the same as the layer it represented in PyxelEdit (e.g. Hair, Feet, Head, etc...)
    • Close the tab of the layer PNG you transfered to the Base Project (it's not needed)
    • Repeat for remaining layer PNGs
  • Once all are imported organize the layers in the same order as they existed in PyxelEdit (click just between the Layer name and first frame bubble and drag Layer to desired order)
  • Your sprite and animation is fully imported! Press Play and enjoy your animation in Aseprite!

Posted on Jun 7 by:

brettendo profile

Brett Bush

@brettendo

👾 Indie Dev Founder at AlternateBit 🧩 LoFive - iOS, puzzle tile game 🌀Project Swirl - Unity, 2D pixel action platform

Discussion

markdown guide
 

What's the side effect if the image isn't 32x32? I can understand all the layers need to be uniform but is there a possibly in losing detail between the transfer?

 

Great question! The 32x32 are just used as example values and could be any dimensions of the Frame (called “Tiles” in PyxelEdit) in the existing PyxelEdit project

PyxelEdit structures their Frames (“Tiles”) in uniform dimensions for all Frames. The purpose of collecting these values from PyxelEdit and applying them to the Aseprite import is to ensure that the import into Aseprite cuts the PNG layer to the exact Frame dimensions as the Frames from PyxelEdit, thus preserving the dimensions of the Frames and animations.