Ttanasart-pt / Pixel-Composer

Node base VFX editor for pixel art.
MIT License
754 stars 33 forks source link

[Bug] (1.0.7) - Sprite Sheet Node Skips First Animation Frame #19

Closed Synthoid closed 1 year ago

Synthoid commented 1 year ago

When generating a sprite sheet with the Sheet node I noticed the sequence of the sprites depends on the current frame of the animation timeline. If the timeline is set to the first frame, the first cell of the generated sprite sheet will be blank. If the timeline is set to any other frame the sprite sheet will start with that frame's sprite then loop through all the other frames correctly.

Additionally, I noticed that the shadows were not being included in the sprite sheet for some reason. Padding and other modifications like the dithering overlay seem to make it in so it's not just pulling the original sampled sprites. Not sure what is going on there.

Original Sprites: image

Sheet Generated By Starting Animation At Frame 1: image

Exported File Starting At Frame 7 (of 8): RainbowRunSheet

Pixel Composer: image

Ttanasart-pt commented 1 year ago

Thanks for reporting. I did fix the first frame not rendering. For the shadow problem I'm not sure what happened here as I can't replicate it on my device. Can you show me the full node or save file?

Synthoid commented 1 year ago

Sure! Here's a screenshot of the full node setup:

image

And the save file (I had to convert it to a .txt to upload, but you should be able to just change it back to a .pxc): RunRainbow.txt

Ttanasart-pt commented 1 year ago

Screenshot 2023-01-02 090736

I check your save and found no shadow missing problem. Maybe the first frame fix also fix this one? I'm not sure you might want to check again once I release 1.0.9

Synthoid commented 1 year ago

Maybe it has to do with the Spliced Sprite node somehow? I'll check when the new release is out 👍

Synthoid commented 1 year ago

Looks like the 1.0.9 update fixed these issues. All sprites and shadows are present in the correct order. Nice work!

RainbowRunSheet