The New Animation System 2020 : Character animation system

Hi Guys.
I have made few ideas on RCS, they’re not your big flashy feature requests but i think they would improve the animation workflow greatly.
Would you kindly upvote or give your opinion if you think they can be made better so that maybe with more votes they can intrigue some of the Developers, thank you.

Regarding motion trails and paid addons
If a paid plug in already exists does it mean Blender devs won’t ever integrate it cause it was already made?


I would gladly code something that reproduce this but i don’t want to get sued.
Also i don’t know how to program yet.

Onion Skinning / Ghosting
It seems ghosting existed before for armatures…
https://docs.blender.org/manual/en/2.79/rigging/armatures/properties/ghost.html
It had several options to determine which frames where ghosted.

Wouldnt grease pencil be useful doing something like that?


Since grease Since onion skinning in grease pencil (GP) already exists maisybe it could be reused…

In theory its already possible to link a grease pencil line to a bone and the thickness of the line can be used to match the volume creating a decent silouhette for ghosting.
The problem is the ghosting only occurs if the GP line changed relative to its parent.
A feature to set/switch GP onion skinning from relative to world would be needed.
Then finding a way to determine which frames should be drawn is another thing…

This Animation 2020 thread
Are the developers really reading these suggestions here and on Right click select?
Is there some bounty system that i can use to boost interest of developers?
Some mock up needed? Some vote i can do to push dynamic silouhette ghosting of previous/next keyframe?

Technically speaking paid add-on or free, it is still using blender API which is GPL licensed and add-on must also be GPL because of that.

That means anyone how purchased the add on can distribute it for free or even publish it on GitHub or sell it and it would be completely legal, not very nice for the author of the add-on though…

The blender community have been very nice about that so far :smiling_face_with_three_hearts:

Some things have been made as a paid add-ons before and they were still added as a built in function in blender … an example from the top of my head is Flip fluid add on was recently added as part of mantaflow integration into blender…

1 Like

For an add-on to be part of the available add-ons in Blender (in the add-ons list), the author of this add-on must agree to support it and update it (if needed) regularly, at least to make sure it works with every new official version of Blender. The Blender developers are already busy enough fixing Blender bugs and adding new features, they can’t support community add-ons themselves (the extra work would be too much).

Blender devs can of course implement ideas or features that are already available in add-ons. But add-ons are coded in Python and Blender in C++, the code has to be ported to be available natively in Blender.

Add-ons are usually released under the GPL licence. You can search for informations about GPL (and other compatible open-source licences) if you want.
There’s nothing to be afraid of, you won’t get sued if you reuse add-ons code, nor if you fork them, modify them or sell them. You just have to respect the licence and share the licence file alongside your own code.

What you meant is to integrate Motion Trail 3D into Blender (natively) as C++ code or to “integrate” it among the other community add-ons?
If you’d like to implement similar features directly inside Blender, I am afraid that knowing C++ is mandatory in this case.

1 Like

While it’s true that mantaflow also uses the FLIP simulation method, saying that the Flip fluid addon was added is simply not true. It is still a separate addon, it didn’t get added, there is just a somewhat similar engine in blender now (it still has pretty different workflows though).

1 Like

I just found MotionTrail3D creator original topic, it"s super interesting, they also talk about monetizing vs paid add-ons:

  • Supposing he would be interested and know enough C++ to do it, would it be possible to hire the creator of this add-on for a while so he can integrate it into blender as a core feature?

Older Motion Trail add-on
The thread above had a link that made me discover an older add-on called “Bart Crouch Motion Trail” that i think was free but i"m not sure it was updated for 2.82:

I simply understood his questions as:
“a new but similar implementation by the blender Devs can’t be added”

but otherwise you right off course

Technically, yes you can just copy-paste the motion trail addon into the python addons directory in the Blender source code. But that just removes my desire to publicly release any more addons or keep them up to date.

I’ve been looking through the Blender source code lately and making small changes.
https://developer.blender.org/D7547 ActionConstraint: Option to combine transform components separately
https://developer.blender.org/D7572 ActionConstraint: Fallback Value
https://developer.blender.org/D7533 NLA: Evaluate Tweak Strip Within Synced Action Bounds
https://developer.blender.org/D7532 NLA: Always Show All Strips and Sync Length Fix

I’ve got an idea for ghost/onion support that I still need to do a proof of concept for. A core problem with ghosting is the frame sampling and the readability. A solution is to support object evaluation at an absolute or offset frame from the scene frame. Then the user duplicates the character then change their material to render in a more readable way, making it highly customizable visually and performance wise. Set the duplicated object to play the same animation and now you have ghosting/onion. A limitation is that constraints targeting other objects would be broken on the ghost.
__

Edit: And for feature requests it helps a lot when you guys are clear and detailed both in design and example usage workflow. Otherwise, you’re relying on the devs to figure out exactly what you want which means it’s likely to be put off longer or simply not be exactly what you wanted. I’ve looked at older threads and a big problem was feature requests without explanation.

5 Likes

Supposed Blender dev fund would pay you decent amount of money for some time, do you think you could C++ port your Motiontrail3D add-on in the source code?

The Ikelwa update from Bart Crouch add-on seems to work fine but it doesnt work in pose mode.
I guess a workaround would be to make controllers that would drive bones:

Edit:syntax

I’m not sure if it would be a good use of a my time to port something that already works. I’d rather spend my time working on new things and improving the Blender animation and rigging system.

1 Like

How long do you estimate it would take to port just the main features? A month or something?

If anyone were to make a proper port to place the important parts in C/C++, it wouldn’t be a direct port. There’s area’s in Blender source code that are generic enough to be reused. Their transform system is generic and used everywhere. If I were to port it, I’d use that and throw away the Empty-objects-as-controls thing.

I know you asked about time, but it quickly becomes more about redesigning the addon since you have a lot more API available to you.

1 Like

Now i try to understand why you didn’t made it in C++ in first place since you would had access to those bonus API things.
From what you are saying it seems its better to do it in C++.

On a more general note, i found this link which seems to show what developers are working on regarding animation: https://developer.blender.org/T55365
I also found this topic on Right-Click Select regarding editable motion trails but there’s no reply since 2018:
https://blender.community/c/rightclickselect/rvbbbc/
There is this topic which is 160+ posts now, which is great, but alot of propositions and good points are lost in it.

Paying/Voting/Converging for what paid developers work on
I’m new to this community (3 years) so i still don’t know how paid developers decide what they are working on. I was hyped by that 2020 thing but yeah, it seems it was just a hype.
I wanted to start a thread about this but if you can redirect me or answer me it would be nice.
Can’t we converge all to one place and check things one by one once they are done?
Establish priorities, an execution plan for each one of them?

I was thinking the first post of this thread should include all ideas, links and be frequently updated.
I’m willing to start another one but i guess it would be better if it would be managed by a mod.
This could be done for other projects, like official development topics.

Edit:Clarity

I didn’t make it in C++ because I don’t know C++ that well, nor did I even have the source code downloaded till a few months ago. Before this quarantine, I didn’t understand the source code well enough to even make those small patches in my previous post. I still don’t understand it well. I make small changes and just hope they don’t break anything.

The motion trail addon from this point on is likely to stay in Python. I can make patches to expose more of the Blender API to Python which becomes available to every addon creator. If I were to update my addon such that it’s entire implementation is in C++, then addon creators lose out.


I’m relatively new to the community too. I don’t know the process exactly either. But I do know that the community can make patches themselves. Until Blender 2.9 goes into beta, people are free to add new features. https://developer.blender.org/project/view/105/ So we have about 2 months to add new animation and rigging features.

1 Like

I’m just starting/considering animating in blender (+20 years animating on softwares like softimage/3dsmax/motionbuilder/maya) and I must say it is kinda tedious.

  • Making the “in between” function (shit+e) work on objects. Right now it only works on bones in pose mode.

How is it not on the “Unbreak Now!” section of that page?
Who decide those things are prioritry?

I don’t program but i can help any developer 20 hours a week at least (for free) testing, proposing, doing shitty mockups, mind-maps and stuff to get just super basic tools to animate. I don’ need a layer system or fancy motion trails (for now).

  • I need to copy next/previous key 1/3-1/4-1/2-100% of 100% in one click.

  • I need a perfect slider to relatively blend from on pose to another (the Shift+E one as issues, like not working on anything but bones in “pose mode”.

  • I need a way to filter only rotation X and translation Z curves of one object quickly in graph editor, easily, intuitively. Synching the dopesheet/graph editor with the selected channels of the transform “item” tab is the way it would work in Maya and it’s perfect. Just need to check “synch timeline/Graph editor” checkboxes.

  • I would prefer an adaptive ghost tool that would create and automatically update a 3d ghost 1 frame/keyframe/specific frame before&after than any fancy tool/speed optimization.
    Ghosting is possible already (grease pencil).

  • And most importantly, i would like to have a way to make developers aware that i can help them know what animators need. I don’t care about bugs, I can workaround. I don’t lose time with bugs, i lose time repeating 4 operations instead of doing one… like 3 times in one minute. At the end of the day i made like 1000’s of useless operations just because of rough design.
    I lose a lot more time and i’m way more frustrated by those than by that “face map fancy Pixar selection thing” not being available.

As for the editable motion trail, it would be nice to know if its complicated to make it not-crash in pose mode. If it’s humanly possible, i could try learning python from scratch. I’m dumb so it could take time but if it’s not that complicated maybe it is possible.

Here’s a imple design of a tool i’ve used on at least 5 feature movies (it has 4 butons) but it’s 15$ (worth it):
https://eblabs.com/shop/whiskey-pro/
There is the same features plus a lot more in ATools which is free but they are both for maya.

I would really like to know what determines the tasks the paid developers work on, specially regarding animation

1 Like

Maybe you can leave a comment on that task or PM Sybren A. Stüvel (sybren) this task is assigned to him…
there is also devtalk the feedback section you can start a new topic there

1 Like

I made a tweener for objects…i didn’t make it for objects, i just made it compatible with them.

I was tired of the tweener being broken for additive layers with no apparent intent to fix, so I remade the tweeners myself, translating c++ code to python. I also made an alt mode to copy the final pose from layers, instead the keyed value (being applied based on the current pose).

I have never uploaded this addon online.
Why am I telling you this? Because you mentioned a feature as though it was a big deal, and since it’s bound to rot in my computer, i wanted to take the time to brag about a random addon I have/made :smiley_cat:

1 Like

If you are interested in Onion / Ghosting, maybe these add-ons might interest you:

1 Like

I saw them, only the last one is free and it is not dynamic nor 3D.
I think SHIFT+D to duplicate my model is more useful than this one.
The second paid one seems nice, it has the auto-update feature.
Here’s the ghetto GP hack i was taking about:


I just constrained GP objects ton the armature bones and played with Thickness of strokes to match
this amazing model i did on the fly. Some note regarding this setup:
  • Need to make a GP layer per limb and link each to corresponding bone using “Relations” option
  • Need to initially shape each bone’s thickneess to approximately match the mesh silouhette
  • Need to key the GP layers at same keyframes as the corresponding bone keys. I add the key brushing over strokes with like .0001 strengh to slightly modify the stroke. Inserting keys seems to make the GP object explode… I think this is a general GP bug related to the Relations option thing.
  • Once everything is setup it seems to work pretty well. When all the GP keys matches the armatures keys it updates automatically. Further testing is required since i created this setup today… It might be unusable but it seems promising and it uses Blender core features already here and FREE
    Here is the blend file if you want to mess with this:
    GPGhosting_002.blend (2.1 MB)

Is it possible to pay you to integrate it in Blender as a core feature?

That seems to be pretty well organized, I wish I would’ve known about this page earlier.
Maybe put this link into the first message of this thread would be nice.
Does anyone know about a thread that talks about some democracy feature for the community that would make group decision making to influence development of certain features possible?
If no one knows i will start a thread. I’ve searched a lot but found nothing.

EDIT: I went to https://developer.blender.org/T63901 and found this:


Is it just me or the blender.chat loads forever? Wouldn’t it be more cleaver to have an official thread about that manifest? Even one for each topic could be great.
I don’t get why everything is either spread appart (RCS, BlenderChat, Discord, Reddit, BlenderDevTalk, Developer.Blender.org, blenderartis.org ect…) or jammed in a giant unnofificial thread that contains dozen of propositions like here. I’m pretty sure there are better ways to get more efficiency.

Not a chance.
I know C++ just enough to be able to read what most lines of code are doing.

I’ve no intention whatsoever of learning C++ for the sake of Blender development, until it is available to use it modularly in the same manner as Python addons are, wherein I can make whatever function/feature I want to, without having to hope someone else approves of it or opt to forever building my own isolated Blender versions just to keep my changes.