Thanks for taking the time to give your thoughts! Threads like this are very useful to us.
BTW, have you seen our roadmap?
Spine Roadmap
lackadaisical wrote
When translating in setup or animation modes, having the ability to snap bones and/or image attachments to the nearest pixel (or other, custom interval or number of pixels). I think you're already aware that this an issue for some users, so this is just my +1 in favour of snapping. π
I agree it's a good feature for pixel art. We have a task here:
https://github.com/EsotericSoftware/spine-editor/issues/554
This is actually a little tricky to do well. For example, attachment positions are the center of the image, so if your image has odd dimensions you actually need the bone at an x.5
position. A bone can have multiple attachments, so it may not be clear how the bone should be snapped so the attachment pixels align with screen pixels. Meshes also have some challenges.
We do adjust the initial attachment positions (offsetting them by 0.5
on odd dimensions) to align with pixels when the bone is at x.0
positions, but if you move an attachment you can easily mess this up.
lackadaisical wrote
Ability to set default curve style for new animation curves (in my use case, every single time I make an animation I have to remember to select everything at the end and select "linear" curve in the graph.)
When putting a key between existing keys, you get the same type of curve. When adding a new key past the last key, you get the same as the last key. When adding a new key before the first key, you get the same as the next key. It's only the first key you put down that a default is needed. There's not a great place in the UI to set a default, but we could put it in the settings.
lackadaisical wrote
It would be nice to be able to change viewport click-drag navigation from RMB to middle mouse button instead or in addition to that.
This one is not a big deal, just what I'm used to from other software.
We use middle click for selection, it always gives you selection rather than manipulation, even if you already have a selection. We could allow swapping the MMB and RMB though.
lackadaisical wrote
Is there a way to paste stuff in at 0, 0 instead of displacing relative to bone?
When I add a new set of images to an existing slot attached to a bone that isn't at 0, 0 it makes the image jump up to where the bone is, which isn't always what I want.
I assumed toggling the compensate β "lock images"-looking button ("Attachments won't be affected by the parent bone") would prevent this behaviour but I don't think it did.
If you drop an attachment on a different slot or bone or skin placeholder, the attachment won't move. If you drop it on an existing attachment, it will move to have that attachment's transform.
Compensation is a little different, it lets you make changes without the parent-child relationship.
lackadaisical wrote
This is a little more out-there... In the Preview panel would be nice to be able to set the default value for Mix (as a saveable user setting.)
Every time I start switching around between my animations in a new session I panic that everything is broken, before remembering I just have to set Mix to 0 again.
We could easily remember the last Preview mix across app runs. We'll do that!
lackadaisical wrote
As a general UX issue, and something that threw me off as a new user, I think it's too easy to unintentionally rotate/translate/scale stuff in both animate and setup mode just by misclicking on the canvas. For me it's an ingrained habit from other software to click on a blank spot on the canvas to try to deselect any active selections.
I suggest either having to click on or closer to the bone/image for any of the transformations to happen, and/or changing the cursor in some way (similarly to the cursor in Photoshop when a tool is active) to give the user clearer feedback that their clicks are about to be meaningful.
However, I'm really not using Spine as intended so this last one might be way off from what power users prefer! Plus it's not taken too long to train my brain to basically avoid unnecessary LMB clicks on the workspace... but it definitely threw me off the first few times I used Spine.
The reason for this is that it is much less fiddly to be able to drag anywhere for manipulation. This is especially helpful for long hours of animating. When you need to drag tiny handles around, it's a lot harder on your mousing fingers/hand.
As for a mouse cursor icon, there is already the tool icon at the selected object but I can see it might be helpful to have an icon at the mouse location. Then again it's common to have something selected most of the time, in which case it's not super useful to have an icon that is nearly always visible.
We have a setting to allow "drag to edit" to be disabled for the graph, but for the viewport it would be difficult to have such a setting, as all the tool behaviors are designed with it in mind.
We're happy to discuss more ideas if you them or if you'd like to continue discussion from above. We're wrapping up 4.0 and so we have less flexibility to make changes than usual, but 4.1 will be focused on quality of life changes exactly like these. :beer:
Oh, I just noticed you've been using 3.7! Whyyyy? :p Check out 4.0, it's got some great stuff!