2D Animation v2 - Preview Packages

Thank you so much for the responses! I understand from what you’re saying that in the current state of the package sprite swapping is not intended to be done either in an efficient way or at all. Is it possible in the meantime can you tell us the best way to set up our complex sprite characters so that by the time you release the next version that will support it, we will have everything ready to plugin? or is that too difficult since it may not be known how it will be implemented?

my characters are made up of a minimum of about 15 base sprites laid out on a skeleton (minimum) and times that by the number of poses (jump, crouch, swim etc…). that winds up being over 200 base sprites for a character. then factor in tons of skin changes for items attached to the character… it winds up being a few thousand individual sprite components. very complex. What i think could be very helpful for us artists anticipating a solution to organizing this workflow is if you could tell us what is the most efficient way to be working now so we dont have to go back and redo everything when the solution becomes available.

one suggestion i have is that you make the “group” option available to work with the psd importer. When im working in Photoshop i could group in folders all layers of sprites that apply to a specific pose. if the importer could read those folders and organize them somehow visually as well as have the ability to switch on and off their visibility on the skeleton at run-time, i imagine that could help tremendously. although you may already have a better solution.

im mostly worried im going to make a ton of animations with different sprites and different skeletons for a single character and find that later it was the wrong way of working and its either a performance hit or worse yet i have to redo the whole thing.
any suggestions or direction could help a ton

2 Likes

I don’t think our target workflow should be having all potential poses inside one .PSD. That would mean that if you make a change to one, or add a new one, it would have to reimport the entire asset, which could become an extremely slow process if you start getting a high layer count.

1 Like

Please implement an official skins system like this one for Anima2D:

Some more workflow thoughts from skinning a character: I animate scale sometimes, and you can’t preview scale changes in the skinning editor. It would be nice to be able to scale a bone (perhaps alt-LMB and drag?) and see how that behaves with your current skin weights. Similarly, I often animate translation from time to time too, and translating a bone that is a child of another (like grabbing the middle bone of a character’s spine) in the skinning editor behaves very differently than translating a bone in the actual scene. It seems to be making the parent rotate to face the child in addition to having the child distort the mesh as it normally would, leading to some inaccurate behavior. Again, this is only in the skinning editor, it behaves as I’d expect when actually animating.

Lastly, I think the sprite skin bones, as shown in the scene view, are pretty hideous and make animation difficult. They’re very large and completely opaque, so I have to hide them to see what the heck my work looks like. This is possible by going to gizmos>sprite skin, but then I have to turn them back on to keep working, or have a game camera panel open as well as a scene panel (probably what I’ll do for now, screen real estate be damned). In maya, I have a hotkey for showing/hiding my rig, so I can quickly preview my animation without a pile of wireframe garbage on top. I’d either make them way more subtle, have it possible to show/hide with a key, or autohide when you hit play in the animation editor.

There’s a character in here somewhere… 4044385--351232--bones.png

1 Like

Now that i think of it that way, i think your right. i also agree that the opaque bones in scene view do get in the way. also will there be options for bones that are influenced by physics? or should we expect to depend on other assets like “dynamic bones”

Unfortunately this is expected since GIMP doesn’t update the some of the Photoshop file data correctly.

That sound very great !

Just want to say, I love these tools. I haven’t been this excited about a unity feature since… ever.

I have a workflow improvement suggestion for skinning. Right now my process goes like so:

  1. draw bones
  2. generate meshes
  3. do auto weights as a starting point
  4. go through each bone and remove influences that I don’t want, then perform auto weights again with these exclusions
  5. fine tune weights with a brush

This is great, except for step 4. When I’m editing bone influences, right now I have to select each sprite, then click the influence I want to remove one at a time, and then the little tiny minus button in the bottom right. Since I have to prune out unwanted influences from a lot of stuff (my characters are very layered), it would be perfect if I could just use the +/- keys while floating over a bone to add/remove them from the influence list of the selected sprite.

I’ve also run into a bug/oversight with the way the PSD importer generates an atlas - currently setting them to be compressed on iOS, which requires square textures, may still produce a non-square atlas, and the texture won’t compress, throwing a warning in the log. Also (and you probably already know this), I’d expect if I make a SpriteAtlas asset and tell it to atlas everything in a given folder, it should incorporate the output of the PSD importer, but currently it does not. To quote ColossalPaul: “The atlas in generated by the PSDImporter is not meant to be the final atlas to use. Please consider packing the sprites into their actual SpriteAtlas to make sure that the texture usage is optimal.” I assume you don’t expect us to open the PSD and drag those sprite into an atlas one by one?

Honestly, I’ve been playing with these tools for a few days now and I think they’re just about production ready for me except for this atlas issue preventing me from combining all poses of a character together and compressing them properly.

For these 2 issues, we are currently investigating. It would be great if you could report a bug.
It allows us to get the example files and look at your work flow to fix any issues.

Note that:
You can either file a bug report with a repro project through = Unity > Help > Report a Bug…
or
Let me know any more info you can provide here in the Forums and I’ll investigate it.

@

It seems that flip sprite is not supported ?

In this image, bones are not shown and I don’t know why but I can move it and gizmos bounds doesn’t take in count flip from sprite renderer.

EDIT :
I found where passed bones, they are too bigger for my scene view even if I deactivate 3D gizmos

i was thinking the ability to just hold shift and select multiple bones and then just hit +/- i find it tedious that i have to mouse back and forth to prune out some 20 bones from every mesh going back and forth to the bone and minus…but your solution sounds good too

yeah that hasnt worked for me either

Currently you can multi-select bones (by rect-selection or command/ctrl+click) and hit the +/- button once for all.

SpriteRenderer’s flip toggles are meant to flip classic rect-sprites, not skinned sprites. The right way to flip skinned sprites is by rotating the bones on the Y axis by 180 deg. In some cases you can use negative scale on the bones but that might cause trouble on the IK solvers if used.

When i use normalize checkbox active with weight paint brush i get strange results, without normalize as expected. So probably something with this function wrong, but not sure.

That’s a grest suggestion, we will look into that. At the mean time, one possible way to deal with this is you can ctrl + click on the bone to select multiple of them and press click on the -/+ button.

Do share with us the files you hare having problem with so that we can include support when parsing these files.

Hi,

I tried the package and it works great, I have some remarks:

  1. Some times the weight brush doesnt work, I keep brushing but nothing happens.
  2. You have to do something to handle the graphics that does not need bones. Eg the mouth that open and closes, the eyes that open and closes, the eyebrows that move. This is critical for a character and now I have to disable them in the program and put them manually. What is the procedure I have to take?
    Thanks
1 Like

Also in the platform settings for compression in PSB please add the consoles.

How can the bind pose be reset from code? So that if a cutscene or timeline is quit midway, the sprite can be returned to it’s default pose?

About the big gizmos, could you file a bug using the “Help → Report a bug…” feature? Thanks

  1. Could you share a video where we can see the problem? Thanks.
  2. We want to provide sprite swapping features. Please don’t hesitate to provide all your use-cases.

Currently we have no tools to manage character poses.
As a simple solution you could try creating an AnimationClip with a single frame storing all the properties that belong to your default pose (transform’s position/rotation/scale, GameObject/Component’s enable state, SpriteRenderer’s sprite/color, IK weights/targets…). At runtime, all you need to do is to call defaultPoseClip.SampleAnimation(characterGO, 0f).

1 Like

Hi wagenheimer, was the Sprite being edited originally from a project started in V1 of the Animation package before being edited in V2? I have tried to replicate your issue but was not able to. Could you let me know if you had imported the character image with the recommended PSDImporter import settings in the documentation? Thank you!