- Düzenlendi
Some minor feature/QoL requests
Hey there!
Just had some suggestions for the editor. I am using Spine to animate modular pixel art characters, so if any of these requests seem unusual to you, that is probably why!
Also I've mostly been using 3.7, so my apologies if any of these features already exist.
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.
.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.)
.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.
.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.
.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.
.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.
Thank you for your hard work on this software!
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 yazdı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 yazdı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 yazdı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 yazdı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 yazdı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 yazdı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!
Hi Nate! Thank you for being open to feedback. Haha I have seen the roadmap, and it scares me.
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
ah yes, I'm aware of that, since for my purposes I need to make sure input images strictly adhere to even-numbered dimensions. I wonder if there could be some way to adjust the image's origin point, but that sounds tricky and confusing to pull off, and excessive for solving this one hyper-specific problem.
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.
This is good to know, thank you!
RE: UI placement, wonder if it could be something like clicking/activating one of the curve icons in the graph editor without any keyframes selected, but not sure if that would confusing.
I don't remember exactly how it works, but I think in 3ds Max you can select a curve type from a dropdown menu, which is then the type of curve applied to the keyframes you put down.
However, I'm not sure how something like this could or should interact with more advanced stuff, like custom curves.
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.
This is good to know, I didn't realize MMB is like a safer version of LMB for making selections. I think being able to swap would be cool!
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.
Hmm, trying to remember if this was specific to dropping images onto skin placeholders, but not sure!
I'll report back with more details if I come across this again.
We could easily remember the last Preview mix across app runs. We'll do that!
:beer:
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.
Hmm maybe I'm thinking of this the wrong way... What if there was a way to lock the workspace, so that you could still look at the setup and animations, and zoom/pan around the canvas, but without being able to manipulate anything.
Basically the situation I'm trying to avoid is accidentally clicking on screen and subtly moving a bone or image attachment while showing my project to people in a video call.
Allowing to lock the workspace is dangerous though, since it needs to be communicated super clearly, and it needs to be obvious how to turn it off, otherwise users might get stuck in a situation that's 100x more annoying than what I'm talking about.
Rather than a lock feature, another option could be to have a neutral/safe tool (like the hand tool in Photoshop) that one could activate instead of RTSS... But it would probably have to be part of the same UI panel as the transform tools, not sure if that would be confusing, and if it's important enough to get that kind of UI real estate.
Anyway thanks for entertaining my suggestions, excited to see how Spine progresses with time!
I apologize for necroposting in this thread, but I am new to Spine and using the RMB instead of MMB to pan has felt really awkward for me. I suppose that I might get use to it in time but I hope you really consider letting us swap the RMB and MMB functions.
Personally I find it much more comfortable to pan with MMB and in pretty much all other software that I use the panning is done by MMB or Space + LMB. Please consider it!
@Moepi, sure, that would make sense. I've added an issue to track it:
https://github.com/EsotericSoftware/spine-editor/issues/686
If space+LMB
would be better for you, you could customize the hotkeys to do that, just set Pan Drag: SPACE
in your hotkeys.txt file. There is also Pan Move
which would pan when you hold the key and move the mouse (or pen), without needing LMB.
@Moepi, actually we already have a setting so MMB can pan: HTTPS desteği olmadığı için görsel kaldırıldı. | Yine de Göster
Sorry, my bad. I did look through the settings but I somehow missed that option. Thank you!