Turn a reference layer back into a normal one?

I was using another sprite as a reference, and so I opened it as a reference layer. After some time, I decided to merge the layers to make it easier to use, but the merge proccess produced yet another reference layer, which cannot be edited. Now I can’t interact with my work, and saving it as a .png file doesn’t work, since those kind of layers don’t show up when saved. What can I do to save my work?

1 Like

Hi @Migo,

I tried placing an empty normal layer beneath the reference layer, then right-clicking on the reference layer and selecting merge down. The result of the merge was a normal layer.

Reference layers scale differently than normal layers, and so their cel bounds work differently. Due to that, I don’t know if such a merge will recover all your work. In some tests my reference image got cut off, but I’m not sure why.

As a backup, I also tried a script which transfers the image from a reference layer to a normal layer.

Click on the arrow to the left to see code
local sprite = app.activeSprite
if not sprite then return end
local sourceLayer = app.activeLayer
if not sourceLayer then return end

local isRef = sourceLayer.isReference
if not isRef then
    app.alert {
        title = "Error",
        text = "Layer is not a reference."
    }
    return
end

local convertedLayer = sprite:newLayer()

local frames = sprite.frames
for index, frame in ipairs(frames) do
    local sourceCel = sourceLayer:cel(frame)
    if sourceCel then
        sprite:newCel(
            convertedLayer, frame,
            sourceCel.image,
            sourceCel.position)
    end
end

Three tips:

  1. I find it helps to turn on cel bounds via View > Show > Layer Edges before doing this process.

  2. Expand the canvas afterward if necessary under Sprite > Canvas Size. Make sure Trim content outside the canvas is turned off.

  3. Reference layers can be scaled by selecting the move tool, then clicking and dragging on the bottom right corner of the image. The cursor should change when you hover over the hot spot.

Hope that helps,
Jeremy

2 Likes

Thanks for the reply, but I can’t seem to figure out how to rearrange the order of the layers to merge correctly. I’ve asked around, and the most common response is to “select the layer then move the mouse to the very edge of the layer”, but I can’t seem to do it (maybe I’m hovering my mouse over the wrong thing?). On a separate note, the two layers are equal in since already, so that’s not an issue.

Hi @Migo,

Here’s a link to the documentation that contains an animated image showing how to move layers: Aseprite - Docs - Move-layers .

It worked!! I can’t thank you enough.