Jump to content
Varstahl

Workflow problems / issues with pixel art

Recommended Posts

Posted (edited)

I've just started the trial for Affinity Photo, having heard a lot of good things about it, and I've been loving it for the most part except for the fact that in several areas it's destroying my workflow and efficiency, so I wanted to ask if I'm doing things wrong being used to Photoshop and all that.

I'm working and testing Affinity Photo on an 8MP pixel art image, and I've noticed that compared to the file import on Photoshop the result is quite blurry (see attachment). After some fiddling around I found out that on AP the problem comes from drag & dropping the image on the canvas:

  • if I drag & drop the file it turns out like the chest in the right half;
  • if I place the file it turns out like the one in the left half.

Both are at their native resolution, and both are imported as Images. Opening the menu and selecting place for every single asset is quite lengthy and workflow destructive. Is there a way to emulate the placement while drag & dropping from the file manager? Shouldn't it work the same way? Am I doing something wrong or is it a bug?

 

The 2nd most damning problem I have is with the clone tool: I'm working on a very structured file with hundreds of layers and subgroups, and one of the feature I used the most in Photoshop is the clone tool mode that allows selection from all layers, both above and below the currently active layer. Is this a feature that can be added in AP?

 

Addendum 2: while working on it some more I noticed another pretty damning issue while working with pixel art. Applying a rotation to any object it starts getting blurry due to the diagonal approximation, but the ridiculous thing is that in 90° the image doesn't get back to crisp, only 180°. So, while in theory a turn left/right shouldn't involve any resampling, it actually does, which is quite problematic. (Solution to this seems to be View > Snapping Manager > Enable snapping and Force pixel alignment, though it still feels kind of wrong to interpolate on simple 90° turns?)

 

Addendum 1: is there a way, while drag & dropping files into the canvas, to automatically place it in the current group/subgroup instead of automatically place it as the top layer? That's another thing that works while Place'ing, but doesn't while dragging files from Explorer (didn't test it on a Mac yet, I don't know if the behaviour also happens with Finder).

 

Finally, not really related to pixel art, is a question related to PDFs. In Photoshop while importing from a PDF you have a thumbnail preview of the pages where you can select them and then import those pages only. I see that AP can do mostly the same but has no thumbnail available, so the user must know the page range beforehand. Is there a way to do it on the fly while visually scanning the document or do I have to stick to CS6 for that?

 

I'm loving AP so far, with these couple exceptions: it runs butter smooth, is very efficient, tries to stay out of the way during creative work… everything I was looking for!

blurry.png

Edited by Varstahl
Added question

Share this post


Link to post
Share on other sites
16 hours ago, Varstahl said:

I'm working and testing Affinity Photo on an 8MP pixel art image ...

What file format is the image (PNG, JPEG, PSD, other)? Have you tried just opening it in Affinity Photo rather than placing it or pasting it into a new document?


Affinity Photo 1.7.2, Affinity Designer 1.7.2, Affinity Publisher 1.7.2; macOS High Sierra 10.13.6 iMac (27-inch, Late 2012); 2.9GHz i5 CPU; NVIDIA GeForce GTX 660M; 8GB RAM
Affinity Photo 1.7.2.153 & Affinity Designer 1.7.2.6 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iOS 12.3.1

Share this post


Link to post
Share on other sites

Thank you for answering. They're all PNGs, opening them in AP work fine just as when placing them in the document. I've also noticed something even stranger: when I move the assets around with the mouse, they also get blurry or sharpened, depending on where I place them. With the pixel alignment turned on to fix the other pixel art related problems, if I move the assets after dropping them on the canvas they eventually get back to their crisp state, and then I must only drag them around using arrow keys, or they'll get blurry again. AP is revealing itself as quite quirky in that regard.

The fact that they just get placed as top layer while dragging them in feels like a bug/oversight, unless it's a specific design choice to fix some issues I didn't consider.

Share this post


Link to post
Share on other sites
1 minute ago, Varstahl said:

They're all PNGs, opening them in AP work fine just as when placing them in the document.

What do you mean by "work fine"? When you open the PNG is it blurry or not? Are you viewing the document at 100% or at some other zoom level?

Note that if you open the file you get a "(Pixel)" layer, but if you place or paste it, you get an "(Image)" layer, which retains its native pixel resolution. See the Place Images help topic for more about that.


Affinity Photo 1.7.2, Affinity Designer 1.7.2, Affinity Publisher 1.7.2; macOS High Sierra 10.13.6 iMac (27-inch, Late 2012); 2.9GHz i5 CPU; NVIDIA GeForce GTX 660M; 8GB RAM
Affinity Photo 1.7.2.153 & Affinity Designer 1.7.2.6 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iOS 12.3.1

Share this post


Link to post
Share on other sites

I'm sorry, I should have been more precise. If I open them there's no blurriness involved. If I place them there's no blurriness. If I drag & drop there might be blurriness based on the X/Y coordinates where they're dropped. In all of these cases I'm using them only at 100% their original size. Regardless of the method I open/place them with, and regardless of the zoom (100%/200%/800%) if I move them around they get sharp/blurry. Once they're actually not blurred, rasterizing them into Pixel layers make everything else work as intended as far as I can tell so far.

Share this post


Link to post
Share on other sites

Actually scratch that last part, even when rasterized in Pixel mode it keeps getting blurry when the layers are moved with mouse instead of keyboard input.

Share this post


Link to post
Share on other sites

Make sure you have Snapping enabled, and that in your Snapping options you have enabled "Force Pixel Alignment" and disabled "Move by Whole Pixels". Then, make sure if you're making a copy of something and moving it that you do so by holding the Ctrl key (Cmd on Mac) and not the Alt key (Option on Mac).


-- Walt

Windows 10 Home, version 1903 (18362.239), 16GB memory, Intel Core i7-6700K @ 4.00Gz, GeForce GTX 970
Affinity Photo 1.7.2.471 and 1.7.3.476 Beta   / Affinity Designer 1.7.2.471 and 1.7.3.476 Beta  / Affinity Publisher 1.7.2.471 and 1.7.3.475 Beta

Share this post


Link to post
Share on other sites

Thank you for your answer, but "Move by whole pixels" seems to bear no effect on the outcome. What I found out though is that these kind of problems only appear when one side of the asset is odd and the other is even, so if I try to 90° turn a 50x50 or 51x51 it goes well, when I rotate a 50x51 it gets blurry, regardless of "Move by whole pixels" being active or inactive. At least I can now pinpoint the problem, but this is extremely weird and counter intuitive.

Share this post


Link to post
Share on other sites
Posted (edited)
50 minutes ago, GabrielM said:

If you attach some sample project files we can have look for you.

Hello, @GabrielM.

Sure thing, you can find a minimal sample with two graphical assets attached in this reply. I've duplicated the assets for convenience so that you can test separately in Pixel and Image format, although in my tests it didn't bear any difference. I'm using stock settings except for snapping, which is enabled together with "Force pixel alignment". "Move by whole pixels" also didn't quite make any difference whatsoever.

My problems so far:

  1. if you move any Image/Pixel layer with the mouse, depending on where it lands or where it's dragged, it gets blurred/unblurred. "Force pixel alignment" doesn't help in the slightest.
  2. placing an image, opposed to drag & dropping, seems to work better but not necessarily always. Regardless of the method you chose, unless it's pixel perfect you have to move the asset around like an idiot, until AP shows you the correct un-aliased version, and from there move it exclusively with key arrows, otherwise it gets blurry again.
  3. as the assets in the attached document show, if you rotate the right chairs by 90°, they get extremely blurry. That doesn't happen with the ones on the left. I've tried both to rotate manually and with Transform > Rotate left/right, same result.

For convenience I've also attached a screenshot taken within AP of the document attached, to show what's happening when I move it by mouse.

PixelTest.afphoto

MouseMovedBlur.png

Edited by Varstahl
Typo

Share this post


Link to post
Share on other sites

Hi Varstahl,
These issues are all related with the same cause which you already noticed: they happen when the objects aren't placed on integer values or don't have integer dimensions. Make sure Force Pixel Alignment is enabled in the Snapping Manager (disable Move by whole pixels) so you can move/transform the objects keeping the integer positions whenever possible. Regarding the rotation of a 50x51 image/object, it becomes blurry because by default it's rotated around its centre, which means their end coordinates (after rotation) will not be whole pixels (integer values) blurring the result. If you rotate the object around one of its corners instead (press control while rotating the opposite corner handle) you will see it remains sharp because the coordinates remain integer values.

In any case, and assuming the object's dimensions are integer values, if you end up with the object on non-integer coordinates due to a transform, nudging/moving it a little with Force Pixel Alignment enabled should fix its position/snaps object's coordinates to whole pixels.

Share this post


Link to post
Share on other sites
Posted (edited)
16 minutes ago, MEB said:

These issues are all related with the same cause which you already noticed: they happen when the objects aren't placed on integer values or don't have integer dimensions. Make sure Force Pixel Alignment is enabled in the Snapping Manager (disable Mode by whole pixels) so you can move/transform the objects keeping the integer positions whenever possible.

I did make sure of that, but still doesn't work, unless there are other snapping settings I should disable/enable. Attached snapping settings below.

16 minutes ago, MEB said:

If you rotate the object around one of its corners instead you will see it remiss sharp. 

This works perfectly for the rotation, thank you, I just tested moving the anchor point.

 

Well, at least it's making sense. I still find it odd there's no way to force movement by whole integer pixels, but if anything I know what to look for, now. Thanks :)

Force pixel alignment.png

Edited by Varstahl

Share this post


Link to post
Share on other sites

Hi Varstahl,
Force Pixel Alignment will NOT place (using either File > Place or dragging a file from Finder/Windows Explorer) the object at integer coordinates by default. You will have to nudge/move it at least once for the object to snap to integer coordinates. I will fill an improvement request for this to see if we can force it to integer coordinates when placing/dragging objects.

The Force Pixel Alignment label is perhaps a little misleading since it doesn't do this automatically like for example Illustrator where it does force the alignment for all objects even those previously created before enabling the function. Affinity only starts to align them with the pixel grid (actually snapping them) after we enable the Force Pixel Alignment function - all previously created object remain un-aligned.

Share this post


Link to post
Share on other sites

I can understand what you're saying but I don't think it actually work as you are describing? Unless I'm misunderstanding something, of course. So, let's say I enable snapping and force pixel alignment, I then place an image on the canvas and make sure every pixel is where it's supposed to be. When I move it, regardless of "Move by whole pixels" is enabled or not, and regardless of whether or not it was enabled before placing the image, I still move the images by fraction of pixels. Am I misunderstanding something here?

I noticed now that when I place an image I can select any pixel center point to make sure that the layer is centered perfectly where it's supposed to be. Past that, even with "move by whole pixels" enabled, I can still move it by half pixels. As I'm testing though, it seems that it is also dependant on the zoom level? (Past 800% free movement is allowed?)

Also, while testing, it seems like rotating the object from a corner isn't really necessary, it's enough to move the anchor point out of the center of a pixel and rotation works perfectly. Maybe the half pixel anchor point movement could also be done automatically as a sub option of "Force pixel alignment", as it would speed up the process when working with multiple assets.

On a different note, I also realised that clone sampling from all layers isn't really needed in AP, since it supports the non destructive "Merge visible", which is absolutely sweet. I just need a way from within AP to select PDF pages from thumbnails, and I can drop Adobe once and for all.

Thanks again to all of you guys, I can't stress this enough, you're awesome. You helped me figure out these minor quirks so that I can now work better and faster with AP, I really appreciate it. I've been loving my time with AP so far, much more than any other similar tool I ever used (including Photoshop and Photopaint), and I'm looking forward to buying it after a bit more trial testing.

Share this post


Link to post
Share on other sites
2 minutes ago, Varstahl said:

Past that, even with "move by whole pixels" enabled, I can still move it by half pixels

Try it without Move By Whole Pixels.

If it starts out misaligned that option keeps it misaligned.


-- Walt

Windows 10 Home, version 1903 (18362.239), 16GB memory, Intel Core i7-6700K @ 4.00Gz, GeForce GTX 970
Affinity Photo 1.7.2.471 and 1.7.3.476 Beta   / Affinity Designer 1.7.2.471 and 1.7.3.476 Beta  / Affinity Publisher 1.7.2.471 and 1.7.3.475 Beta

Share this post


Link to post
Share on other sites
5 minutes ago, Varstahl said:

... I still move the images by fraction of pixels.

How specifically are you doing that? For this to work, you should be dragging with the Mouse, not using the Transform panel.


Affinity Photo 1.7.2, Affinity Designer 1.7.2, Affinity Publisher 1.7.2; macOS High Sierra 10.13.6 iMac (27-inch, Late 2012); 2.9GHz i5 CPU; NVIDIA GeForce GTX 660M; 8GB RAM
Affinity Photo 1.7.2.153 & Affinity Designer 1.7.2.6 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iOS 12.3.1

Share this post


Link to post
Share on other sites
Posted (edited)
26 minutes ago, walt.farrell said:

Try it without Move By Whole Pixels.

If it starts out misaligned that option keeps it misaligned.

As I said, if I place it perfectly, with or without "Move by whole pixels", I can still move it by half pixel, but after some more testing I think only if the zoom level is past a certain percentage? After some fiddling, keeping move by whole pixels enabled or disabled, moving the anchor point to an integer and with a resolution lower or equal to 800% it seemed to be working. That's probably exactly as intended, it's just not specified anywhere I read, so I didn't know initially.

23 minutes ago, R C-R said:

How specifically are you doing that? For this to work, you should be dragging with the Mouse, not using the Transform panel.

Select the layer, select the Move tool, drag the layer around with the mouse. As I said above, it works if the zoom level is within the 100-800% range.

 

At this point I'm just curious about what does "Move by whole pixels" do, as it doesn't seem to do anything at all in all my tests, but that's beside the gripes I initially had with AP, and not really an issue.

Edited by Varstahl

Share this post


Link to post
Share on other sites
5 hours ago, Varstahl said:

Select the layer, select the Move tool, drag the layer around with the mouse. As I said above, it works if the zoom level is within the 100-800% range.

Force Pixel Alignment works fine for me at any zoom level. However, for the items in your PixelTest.afphoto file it hardly matters because they are so tiny & blocky to begin with -- just 39 px on the longest side, so at the document resolution of 72 DPI, only slightly over ½ inch  each.


Affinity Photo 1.7.2, Affinity Designer 1.7.2, Affinity Publisher 1.7.2; macOS High Sierra 10.13.6 iMac (27-inch, Late 2012); 2.9GHz i5 CPU; NVIDIA GeForce GTX 660M; 8GB RAM
Affinity Photo 1.7.2.153 & Affinity Designer 1.7.2.6 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iOS 12.3.1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×