I imagine you’ve been flooded with feedback so thanks a lot for taking the suggestions into consideration. I apologize for the wall of text in advance but given you are inclined to create a new system and not just plug features into this, I think it might be worth to mention these things in case it helps you towards deciphering the blueprint
I haven’t thought about the problem in this specific way you describe, but I like how you are thinking. In practice I usually just do different versions of a character. But you could use the Morph Deform node to layer different deformers on a character (although this uses Geometry Nodes so it doesn’t export to e.g. games). Perhaps I will add more weight-painting tools in the future, like what you describe, but it isn’t a high a priority as adding deformers, improving the matrix math, etc.
Keeping several versions of a character with Mantis seems way easier to manage so that already makes things a little easier. Without getting too much into my particular situation, I usually limit the versions of the character because of the custom normals I need to manage and it becomes very cumbersome as a project get more complex and larger. I saw there’s a new branch for a normal node and it’s also way more performant than the data transfer modifier so that might not even be a headache in the future
But completely understandable that deformers are a priority, after watching your video and seeing how much easier it’s to set up I’m starting to wrap my head around doing it this way. From not overdesigning the rig, to making joint based skin deformation without weights, all the way to correct weighting bugs with helper bones for extreme poses and call it a day. Of course that’s what’s done with corrective shapekeys but many times that’s not an option because of how long it takes to set up, performance, duplication with drivers, etc. But Mantis though…
working that into the graph isn’t quite as straightforward since they need to have controllers attached. I donno quite how to design it properly, and updating it is hard so I need to nail it down before I send it out to people
Completely reasonable! That’s why I jumped here to suggest the action regeneration idea. In case you went down this rabbit hole and then it would be too complex or annoying to go back and retrofit something like this.
I’ve seen a few people tackle the action constraints set up with addons to make it easier to create, manage and delete. But what none have quite figured out yet is how to go beyond that. What I did see that was very useful was a visualizer of influence between bones and actions in the menu, that could be something an action node could have to be able to identify what’s happening more easily and debug. Example:
Without going too crazy. And seeing that you are inclined to make this a bit more powerful than an action management/creator system for rigs (and because you didn’t only mention a bone or object transform, but a driver) maybe, and just maybe…
https://www.braverabbit.com/braverabbit/tools/rbf-nodes/
https://www.braverabbit.com/braverabbit/tools/weightdriver/
This of course has a very nice interpolation curve, and arbitrary number of controls to an arbitrary number of outputs (within reason).
Not game compatible or exportable. But if added it could be on top to offer a larger range of functionality if desired. The nodes could be very clearly differentiated between Actions, and “mantis node actions” (just riffing, in case you decide to use a different or multiple functions or interpolation method to achieve a similar result) or if they are bundled together there could be a setting to alert the user that it’s not only pure actions and they would know it can’t be moved/exported around as per usual.
Something like that might be a bit insane but seeing what you did in your video with deformers, that already solves the issue of shapekey management on linked files better than the official geonode shapekeys with UV mapping (a bit of a headache to manage and not so flexible) I think you could concoct a an elegant solution to something like this. I imagine a system like that being implemented, duplicating the rig, and the driven settings still work.
For example, when you covered the custom hack/setting to solve the problem of the node tree not properly updating the deformers it immediately reminded me of what happens when you are using RBF nodes and a scene gets too large to be evaluated properly. Things start jumping around, desynching, or sometimes even when you have proper preview, the render output don’t match what’s on the timeline. So most of the time I end up baking everything down to alembic with a high number of samples to reimport it back into the project.
Reason why Blender Studio also created their cache manager addon for when that situation arrives even with regular heavy rigs. So if you already saw this issue with just deformers, I think you have enough attention to detail to manage a system like that in a practical manner.
I imagine a situation in which we have something like a future updated version of Simplify+ that allows us to turn on and off speciffic geonodes with a shortcut by name or ID instead of the whole geonode modifier, and we just turn off all the crazy deformers for posing and animating, actions are still evaluated as regular but we can also turn off the RBF trees on top of them if needed, then crank it all up for visualization. What if we have 10 variables driving 10 other variables with your own custom interpolation matrix and Blender doesn’t display properly what it should be on render? Imagine having a custom setting to increase the number of samples on each frame, no matter the computational cost, to have those speciffic frames correctly render in case of a random bug appearing and not having to redo the whole thing.
With geonodes getting a more foreground focus on Blender while it won’t be compatible with games and other exports it would be so powerful. Also we are still able to bake outputs when we deem the tradeoff is worth it for games and other software (ex, low poly mesh for a game baked down to a sequence of meshes with no shapekeys for just one cutscene or 1 move because it’s cheap and fast, etc)
Yeah, this is the big motivation behind everything. In my last 3D job, I was the only artist in a startup company. We had a large cast of extremely expressive complex characters – they were all asymmetrical, each had slightly different proportions so they had to have different geometry (making shape keys a no-go). Each one consisted of a stack of multiple deformers and had many different objects…I had very little time, and there were like 30 characters. I mostly managed it by over-engineering the rig so it could handle anything, but it gave me an excellent hands-on-example for exactly the kinds of problems I need to solve with this.
I completely saw that through your videos. You mentioned things that only a one guy managing an entire production in an inadequate amount of time would think about so I can totally relate haha. But I’m happy it happened because there’s almost zero solutions out there for people in the middle of the road between working with 1 character and working with a LotR 2 battle scene in Golaem.
Thank you for your reply and your kind words! I wish I could address everything all at once. There are so many ideas I have that I want to work in to the system, and so many ideas I have gotten from others since I opened it up…
Thanks a lot for all the hard work! I will definiely will be supporting you and diving into all of this as soon as I get out of my current crunch to deliver before a deadline, and I hope at least one of these ideas help just a little bit to come up with the proper layout for this stuff. It’s needed!