Cutout Animation Tool - Blender

So basically, how would one solve this problem? Just through Z dimension ordering? (I hope not :D)


Very slight Z offsets based on Photoshop layer order is how I assume itā€™s done in the video in the first post.

Hey guys, I know there was no update for a long time. But I am actively working on the addon. Actually it is in a pretty good shape.
I want one thing to finish before I release it.

Currently I am working on a seamless workflow between godot and blender. I have it working almost completely. You can animate your character in blender and then just export/import it to godot and everthing is transitioned. Sprites, Bones hieararchy and animations. The prototype works pretty good already.

I will make a new video soon. If somebody is interested in testing, feel free to contact(pm) me.

Thatā€™s very good news, I was hoping youā€™d let us know about the status of this. Iā€™ll continue digging my own little addon, just to gather knowledge, but I donā€™t think it will be even close to yours :). Anyway, Iā€™d like to offer one suggestion: make that ALT + CLICK thing (if I remember correctly) for parenting bones a separate addon, that one seems to be general enough to be good irrespective of this cutout addon. You can then have the cutout addon have that one as a dependency or something. Canā€™t think of any other stuffā€¦ your work is pretty amazing.

Wow. This looks great, Andreas.Iā€™m impressed by the add-onā€™s complexity and workflow.

IMO the design of your layer system (unlimited Layers, search, select, favorite filter) should replace blenderā€™s default layers.
This seems like a great improvement over the current layout management addonā€™s design.

Do you mind if I propose this to the devs?

Keep it up, Iā€™m patiently awaiting the release.

OK so, because Andreas is working actively on this and because I think this was a good (enough) exercise for me, Iā€™m gonnaā€™ mark this addon of mine as ā€œcompleteā€ :). If you guys are curious to give it a spin, you can find it here. At the moment this is what it does:

  • import images as planes using a JSON file which defines the layout
  • warn user if JSON files point to missing files (possibility to skip missing files, otherwise it basically cancels the operation)
  • ability to import from multiple JSON files
  • group images based on the JSON file name (if users chooses so)
  • let user select Z step

Itā€™s enough for my use and I learned some new stuff. It exposes some of the options from ā€œImport Images as Planesā€ addon (because itā€™s a dependency), the ones I thought relevant for the cutout stuff. Itā€™s MIT license so anyone can take it and convert it into something else if they want toā€¦ if itā€™s useful :).

It was a good exercise for me.
P.S. Of course let me know of any bugs if you try it out. Thanks

@gumbnudge
I wouldnā€™t call this layers directly. Its just a list of child objects of the ā€œsprite_objectā€. From there I can hide and show them easily. Thats it ^^

@razvanc87
I donā€™t think the armature assign would make sense for many other cases. Or at least I havenā€™t thought that through alot. It works in 2D pretty good. In 3D with one single mesh it could be harder. But I am not sure.
Edit Just saw your post. Sounds really like a good exersice. I love it to try prototypes. Wiriting prototypes is the best part. Making things stable can be really annoying ^^

Iā€™d definitely like to see the fast-bone-parent thing as a separate addon. It could save a ton of time for things like armor, robots, and other hard surface objects where you want bones to uniformly control entire pieces uniformly.

OK, slight modifications:

  • added optional global_x and global_y per JSON file so you can offset globally each import (this is relevant for multiple JSON selection)
  • warn user if there are parsing errors (if JSON doesnā€™t comply to the specified format) and trying to complete the action results in no import

@ndee
yah I agree, prototyping is the best :))

To everyone who is interested. I just recorded a small devlog of the current state. Showcases blender/godot workflow very good:

Awesome progress ! Does it support smooth deformations? As far as i know godot doesnt support them yet. If you support them in the json file (smooth def data gets exported) it would be awesome to have that feature in godot. Maybe someone could add it in the future? Even if godot doesnt support it, i hope your animation system hasnt lost it. I am very excited over this addonā€™s progress.

@ blurymind
no it doesnā€™t. Not for export. Smooth mesh deformations only work within blender. If you want to export to godot you have to use ā€œnormalā€ sprites.

@Ndee
I just saw your video in your channel on youtube, and honestly I smiled, this addon will be the best 2D animation tool ever.
For me i will participate at ā€œAlgeria Game Challengeā€ using Godot Game Engine, so i will definitely use this addon.
I wish you great luck.

@ndee
just saw your video. Itā€™s amazing, I think blender will start might just become the most used software for idie developers after you release your tool hahah (along side Godot :P).

ndee, that looks pretty darn impressive. Btw, might be interesting, but boud got commisioned to make a spriter scml exporter. I donā€™t think heā€™s gonna add spline jsons as well, but once he makes the commit it should be easy for you to discover which files should be modified for that.

@Therahedwig
It would be cool if krita would support a python scripting api. Then we could just write an addon for that and distribute it without the need to compile krita ^^

Interesting. What would the exporter do exactly? Will it export krita layers as individual sprites (cropped)?
Or export krita cutout animation (which does not exist yet) as scml? In any case such functionality would be useful not only to spriter, but also to any other cutout animation software! Be it this addon, godotā€™s animation editor, spriter, spine or creatureā€¦

Godot does not support smooth deformations yet, so itā€™s understandable that ndeeā€™s addon doesnā€™t export them. But I hope that in the future (godot 3.0?) we will have them? :yes:
And since blender can do them it would be nice to have them, eventhough godot wouldnt support them yet. Think of all the other game engines that could use this workflow. Some of them might get an implementation.

Even spriter doesnt export them yet, but they do have them as an experimental feature. Itā€™s just a shame that Spine and Creature (being the most expensive options) - do have smooth deformations and the tools that I use or want to use dont have them yet. Smooth deformations can add a lot to a piece!

I think Ndee is right - scripting addon support (be it python, lua or something other) would be awesome to have! Perhaps a stretch goal for this yearā€™s kickstarter?

guys,
Godot is planning 2D mesh-based sprite deformation for 2.1 :slight_smile:
Krita devs are already working/talking about implementing scripting in it, donā€™t know more than the pages say thoā€™ so we wait.

I think Ndee is right - scripting addon support (be it python, lua or something other) would be awesome to have! Perhaps a stretch goal for this yearā€™s kickstarter?

Bare minimum scripting support is about 4 times the amount of effort a regular stretch-goal would be worth, so be careful what you wish for. Itā€™s not something you go ā€˜would be nice to haveā€™ about. The plugin would be exported layers and their coordinates, Krita does not, and probably will never have bones.

Afaik, the problem with smooth deform type of stuff is that thereā€™s no consensus on how to implement it.

Juan postponed it to 3.0. They need to fix the renderer firsā€¦