• Editor
  • [Feature Request] "Pixel Grid" Snap

In setup mode:
It'd be useful if I could drag an image from the images node into the viewport and have the placement constrained to a uniformly respected "pixel grid" to make pixel-perfect aligning with an alignment image easy.

Normally, I'd let the Photoshop script do the aligning for me, but it's not an option when you have to add to or change things on an already-existing skeleton.

I imagine it'd be a matter of constraining odd-dimensions on images to be positioned with a fixed .5 decimal, and even-dimensions on images to be positioned with a fixed .0 decimal. Or the other way around. Probably wouldn't apply to images with rotation.

Related Discussions
...

I have mentioned similar request before, bump for attention.

Nate is just on his way back to Zagreb, as soon as he sees the thread I'm sure he will reply here. For what it's worth I don't think it should be a huge task to implement but I can't say if it's something we'll be able to get to anytime soon. I've added the idea to the trello board.

It's like long-lost companion feature of the nudge key.

I understand if other features need to be finished though. Thanks for adding it, Shiu!

Was already there:
https://trello.com/c/lamRsiIA/38-bone-a ... e-snapping
It isn't defined how it works though. Bones should snap to other bones start/end. Not sure for images. They could snap to pixels, but I guess this is only useful for setup mode? As soon as you animate, you won't be on pixels anymore. If your images are rotated or scaled then the snapping isn't useful because in that case your image won't be screen aligned. Is pixel snapping really just an OCD need? Why? 🙂

Yeah, I think it's only useful in setup mode. I guess it's really more the need for the images to pixel-align with each other rather than aligning to one pixel grid. I didn't think this was within the scope of bone snapping, but whatever, I guess. :p

I completely agree that the pixels idea immediately breaks when you apply even the slightest bit of rotation or scaling. Translation interpolation also doesn't respect it.

It's a tool for precision and reliable alignment, just like any other snapping behavior. When you pre-align and paint things in Photoshop to get them to look exactly like they need, and then add them to existing Spine setups, this comes into play. Some art styles (and art direction XD) aren't so forgiving in terms of position tolerances, especially at lower resolutions and to face parts or wherever is character-defining, high contrast and eye-attracting.

The task is bone and image snapping. 🙂

When you align things in Photoshop, do you export them in the setup pose orientation? Usually this wastes blank pixels. If you do it anyway, I can see pixel snapping being useful, though I still have a feeling it provides a level of precision that is unnecessary. I'm not sure the art style matters


we're talking about the difference between being on a pixel and being slightly off a pixel such that filtering kicks in.

To be clear, I'm talking about when you move an image around, it actually moves to the closest screen aligned pixel. Is this how you envision snapping to work?

I get what you mean. For the more tolerant and wasteful-if-at-45º parts like limbs, we export them so it results in the smallest rectangle possible and then just give it the correct orientation at setup.

I suppose I envision it like this:
Some images need to be aligned well relative to another image under it (so it looks like it does when it's painted by the artist). So when you drag an image on top of another image, it helps if it snaps to the same pixel grid. But it seems kind of complicated to have one image have to detect another image under it and handle weird cases like rotations and things, so the one-uniform-grid for non-scaled, non-rotated images made more sense to me. I guess that'd be your call though.

Thinking about it more now, I realize my need actually has less to do with images aligning with the screen pixel grid and more to do with images aligning with each other's pixels.

If it's too troublesome though, I could just continue typing in the values manually. It's not really a deal-breaker. :p

Gotcha. I'll give it some thought and hopefully have something clever by the time I need to do the task. 🙂

3 años más tarde

Hey there!
Any progress on it? I use spine to animate various pixelart drawing, so always should round values by hand in setup mode (to be clear it's not always integers, like in case when image width/height is odd number).
See less reasons for such grid binding in animation mode (I use some modified runtime code for pixel-perfect), but only in setup environment it will make my work a lot easier!

2 años más tarde

Would also find this useful if it's not already there somewhere I haven't found.