warmanw

I am making explanatory video to share with the community that will cover Tips and Tricks for Spine users.

Any tips to include in that video?
アバター
warmanw

Kickstarter Backer
  • 記事: 281

Nate

There's so many, it's hard to list them all. We started making a collection some time ago, though it may not have tips from the latest versions. There's also the tips page, of course. Those are mainly workflow type tips rather than UI tips.

We recently rewrote the entire Spine User Guide and added lots of callout boxes to cross link and give little tips for things. You could browse the user guide and review the callout boxes to collect the delicious tip tidbits there. For example, for CLI export there's a box tell about --clean-all, so if you are exporting many projects you don't need to specify --clean/-m for every single one.

Some tips are in the User Guide text. Eg, the mesh page tells about holding shift when dragging to create an edge in edit mesh mode, but this may be easy to miss if you don't read carefully. We recently improved this in 4.0, it's a lot better now!

Scaling box selection in 4.0 (needing to pause for the selection to stay) isn't much of a tip, but may be good to show.

Selection history (page up/down) is insanely helpful and I think overlooked by a lot of users.

Things in lists can often be right clicked to select the thing in the tree. This works in the animations, skins, weights, preview views and elsewhere. It also works in the graph, right click a key is like clicking that property's row. That can be useful when the graph is unlocked, when you have many curves shown but want to pick a particular one to show only that.

Right clicking a graph dot toggles it (like ctrl+left click), without affecting any other dots like just left click does.

Click the animation name in the dopesheet, don't scroll the tree!

Turning off auto frame in the graph can be helpful for long animations. You can box select then click Frame when working with just part of the animation.

Drag mixes (and some other sliders) past the start/end. Negative mixes are powerful (eg using 2 bones that move opposite each other for perspective).

You don't always needs bones, in fact in many situations you don't and your rigging can be a lot simpler. Check out this project for our 404 page. Where are all spineboy's bones? He doesn't have any! This is also shown in this cake tip.

Syncing the dopesheet can be useful. People may not realize that placing the dopesheet directly above/below the graph will sync the timeline pan and zoom. This can be useful when using the graph primarily, as the white keys in the dopesheet can be used to easily move many keys on the same frame.

Tips about how to use the favor tool could help a lot of people.

How to lock/unlock the dopesheet/graph to match your needs as you work is a pretty crucial skill. There's some related things, like adding a bone to the current bones in a locked dopesheet/graph.

You can hover a key briefly in the graph to prioritize snapping to that key:


D to play, then A to stop will reset you to the frame where you pressed D. You can change the hotkeys so pressing D twice does that.

How to separate x/y and rgb/a might be considered a tip, since it's new. Note it's per bone/slot and per animation.

Using preview as you work can be helpful for layered animations, especially with Play current animation and Hide controls.

The Show all skin attachments tree option is pretty great. The options to hide skeleton and skins names are a nice tip for those who use them as prefixes.

Export quality is improved when anisotropic filtering is enabled in Spine's settings. We just added a warning:


For CLI export, you can use a few special names instead of needing an export settings JSON file: json, json+pack, binary, or binary+pack. This lets you export data and optionally pack an atlas with just the Spine project file. Reasonable defaults are used for the data export and texture packer. Eg:
spine -i /path/to/project.spine -o /path/to/output/ -e json+pack
The output folder can be omitted too, which will output to the project file's folder.
spine -i /path/to/project.spine -e json+pack
Clicking anywhere on the launcher will disable Start automatically.

You can now choose a version like Latest 4.0, so you'll get the latest patch version automatically. People really should understand Spine\'s versioning! You can specify the same at the command line using .xx, eg:
spine --update 4.0.xx
spine -u 4.0.xx
spine -u 3.8.xx
The biggest tip is probably: use the damn hotkeys! It will save an enormous amount of time. Put in the effort to identify what functions you use a lot, then setup hotkeys for them. Hotkeys you use, you will remember. If you are willing to put in the effort to setup and use hotkeys and it turns out you don't use some, that's OK -- those aren't functions you use often enough to need a hotkey. Not putting in the effort to be efficient and just marching on as el capitan mouse commander for all the functionality you need is doing yourself a disservice! It will slow you down a lot and greatly increase the strain on your mousing wrist when animating long hours. Take note of how Sinisa animates in the Animating with Spine videos.
アバター
Nate

Nate
  • 記事: 11350

warmanw

First thing I saw this response I copied it and printed in case internet goes down :D

I am reading Spine User Guide all this week, page by page. and honestly I was not expected this much updated content. especially when 4.0 is not live yet.
Eg, the mesh page tells about holding shift when dragging to create an edge in edit mesh mode
was going to report a bug today about flickering when using it, after I understood that 3 points just overlapped by snapping and it was natural response from Spine. Would be better if spine allowed to start dragging while shift is pressed if I start dragging from already created point. Instead it selects the loop ring..
Scaling box selection in 4.0 (needing to pause for the selection to stay) isn't much of a tip, but may be good to show.
Definitely worth to show I was confused for several hours until I went to read changelogs
Selection history (page up/down) is insanely helpful and I think overlooked by a lot of users.
Already noted from your previous post today :D I actually went and searched whole forum for any your and Erika's posts to reveal secrets :)
Tips about how to use the favor tool could help a lot of people.
I will cover this in a separate video need to play with it.

T H A N K S !!!
アバター
warmanw

Kickstarter Backer
  • 記事: 281

Nate

The User Guide update was a whole lot of work! Thanks for noticing. :) It's very easy for it to get out of date and especially to miss little details as we improve Spine, and that has been happening for some time. We want it to be comprehensive and it was due for a big update. It also has a much better flow, taking new users a little more gently down the path into the Spine world.
warmanw さんが書きました:Would be better if spine allowed to start dragging while shift is pressed if I start dragging from already created point. Instead it selects the loop ring..
Loop select is ctrl+shift+click. If you are holding only shift, you shouldn't get loop selection. I seem to be able to start new drags while holding shift. Am I missing something? Note I'm talking about holding shift when using the Create tool in edit mesh mode.
warmanw さんが書きました:Definitely worth to show I was confused for several hours until I went to read changelogs
That's not super great, sorry!

Looking forward to the tips video!
アバター
Nate

Nate
  • 記事: 11350

warmanw

Nate さんが書きました:Am I missing something? Note I'm talking about holding shift when using the Create tool in edit mesh mode.
in mesh edit view with create tool hold shift and drag from existing point. nothing happens while dragging from empty space within the mesh or from manually created orange line works fine.
For pixel art, uncheck linear filtering, check pixel grid scaling, make image use 1px blank border.
why to use image with 1 pixel padding?

---

For two bone IK, when the mix is greater than 0 and the parent bone has local nonuniform scale, the child bone's local Y translation is set to 0.
Don't understand this as well. I scaled the parent bone only on Y axis and set the mix > 0, but child bone had translation values. And how is that a limitation when it can hurt us?
アバター
warmanw

Kickstarter Backer
  • 記事: 281

Nate

warmanw さんが書きました:in mesh edit view with create tool hold shift and drag from existing point.
For me shift + drag from existing point: it makes an orange edge from the existing point to a new point under the mouse, constrained to left/right or up/down.
warmanw さんが書きました:nothing happens while dragging from empty space within the mesh
For me shift + drag from empty space: it creates a new point and edge from that point to a new point under the mouse, constrained to left/right or up/down.

I'm confused. :) While holding shift and making an edge, if you hover other points the edge does not snap to those points. Is that what you are reporting?
warmanw さんが書きました:why to use image with 1 pixel padding?
When pixels are opaque up to the edge of the image and Spine draws the image, filtering has no pixels to choose past the edge of the image. This results in a hard, aliased edge, the same as when a mesh hull has opaque pixels right up to the edge:


MSAA can be enabled (in the Viewport section on the settings dialog or when exporting images/video) to smooth the edge, or if the image has 1 blank pixel between opaque pixels and the edge then filtering will make a nice antialiased edge (when smoothing > 0). Here is what MSAA does to the edge:



The above only matters when drawing in Spine. If you are exporting images or video, then it also affects those exports. If you pack a texture atlas and render that with a runtime, then the atlas usually has padding between regions. That padding is for the same reason: it provides pixels for filtering to sample to make smooth edges. That means opaque pixels at the image edge aren't a problem at runtime. However, cutting opaque pixels with a mesh hull will still be a problem at runtime. If that is a problem then MSAA or another solution would be needed at runtime.
warmanw さんが書きました:I scaled the parent bone only on Y axis and set the mix > 0, but child bone had translation values.
When the parent has nonuniform scale, the child bone still has translation values but the local Y translation will be 0. Here's spineboy's leg with uniform scale on the selected parent bone:


Here's the same, but the selected parent bone has been scaled slightly nonuniformly:

Note the Y translation of the child bone is now zero, causing the parent bone to point directly at the origin of the child bone. That would only be a problem if you 1) didn't want the parent to point directly at the child, and 2) you want to scale the parent nonuniformly. It doesn't come up very often, but the limitation is there. It has to be that way due to how the math works out.

AFAIK, Spine is the only software that allows the bones to be scaled. Some other software, like Softimage, has IK which can break completely in such situations.
アバター
Nate

Nate
  • 記事: 11350

warmanw

I see, so much information. I think I just graduated some academy after reading Spine user guide. so much I didnt know.



first 2 tries did not create the edge. and when it got created it actually created another start point while I wanted to use already created one.
アバター
warmanw

Kickstarter Backer
  • 記事: 281

Nate

Ah, figured out why you see what you see. Holding shift disables vertex snapping, so you can hover near a vertex and get a point on the edge, not snapping to the vertex. Soo, I guess don't do that unless you want that! :D It gets a little tricky since there are only so many modifiers and they get reused for various things.

Seems we can improve holding shift when really over the vertex. Let's see!

Anyway, your tip may be shift to disable vertex snapping. I'll put it in the user guide.

---

Couple other tips come to mind:

alt+<letter> to show views. It's fast, pretty easy to remember because we don't use alt+<letter> for anything except showing/hiding views, and the letter corresponds to the starting letter in English of the view you want (at least for the most common views): D for dopesheet, G for graph, T for tree, etc.

Soft selection is useful, some people don't even find it (they don't look very hard!). ctrl+alt+click to remove from the soft selection can be helpful. ctrl+alt+box select also works. Soft selection works in edit mode, though maybe it's not commonly needed there.

Middle mouse button can help to make a new selection without deselecting first, especially when making box selections. Also box selections don't require fine mouse movements, which can really add up to avoiding wrist pain when animating all day (I highly suggest a Kensington Expert Mouse!). Middle mouse always gives you selection, and if you drag you always get box selection, never manipulation. Unlike ctrl+drag box selection, mmb+drag doesn't add to the current selection, it creates a new selection. Use ctrl+mmb+drag to box select and add to the selection. Modifiers like ctrl+alt+box select for removing from soft selection actually only need the ctrl to for the box selection box, so you can alt+mmb to box select remove from soft selection.

That is unless you check Middle mouse pans in the settings, of course! Some people like that but it's not the default since not all mice have middle mouse button, but they do (should) have a right button. Panning is too important to be inaccessible.

You can box deselect by selecting vertices, then box select only already selected vertices to deselect them. This can save a fair amount of time, occasionally.

---

Right click a tree annotation to select it without scrolling (in 4.0.81-beta).
アバター
Nate

Nate
  • 記事: 11350

warmanw

Thank you will keep this tips for the next video. already released. Thank you Again!
アバター
warmanw

Kickstarter Backer
  • 記事: 281


Return to Off-topic