Will Blender's Library Override eventually support Edit Mode and Sculpt Mode to create Shape Keys?

One of my frustrations is where I can’t just add in my own corrective shape keys on the fly when I animate a linked character with rigs. Or maybe there’s another way to this?

2 Likes

Did you ask this in support?

Try rigging and animation section.

You can make shape keys in sculpt mode. And you can set up drivers to a bone.

Sorry I misread your post.

Don’t link characters you need to edit?

Another option, bring the action back to the source file and edit shape keys there? You can have the source file and the destination file open at the same time. A little clunky perhaps.

I just wanted to open up a discussion on the chances that Library Overriding will allow editing of an Object’s mesh in the future. I’m fully aware of creating shapekeys and using drivers but it’s not always viable. Specific poses such as those that are stylized, cartoonish and exagerrated will need specific shape keys to pose them. Also as a generalist who does most of the work, trying to go through the extra work of creating a driver for shapekeys just isn’t worth it and is better adding shapekeys on specific scenes.

This is pretty much the only way for now. Linking assets still have a lot more flexibility

This actually requires more effort just to offset the shape keys between the files. Appending is more natural.

I’ve never used other softwares to compare if allowing meshes to be edited on linked assets as an industry norm. It just feels ‘dumb’ if it’s feature that won’t be worked on because it just makes animation easier that it’s basically essential.

1 Like

I would say it is not normal because all of those essential things are planned into the asset so the animator can animate. There is a vast array of tools you could design into the rig and publish on a library asset for animating. And you could have limitless control at the animating stage.

With a little careful planning you could remove the need to edit the mesh of a linked object because, simply, the entire point of linking is lowering the footprint and complexity of the scene you are animating in.

Careful thought and pre-planing a nice control rig that can drive a variety of deformations would make editing shape keys on the fly unnecessary and even clunky by comparison.

But what if you’re doing something hyper-stylized and you need a specific shape for maybe 5 frames? It doesn’t make sense to build that into the rig and it might be something that the director only asks for late in the production.

1 Like

Well I know what I would do. I would make the rig real, make the change,save that scene with an extension, " _rig_made_real" and get on with the normal course of production.

If this kind of thing was going to be the norm I would build it into the rig.

Again this is more about planing and understanding why linking is used than it is about a missing feature in linking.

That is just my opinion and I will leave it at that.

Sure, that will work, but it feels like this is an area where overrides would be helpful. My understanding is that the goal is to make any property overrideable. Shouldn’t that extend to something used a lot in animation?

2 Likes

Well yes and no. But my understanding is to access the data at that level it has to be real.
Shape keys are modeling. You are directly accessing the mesh data. So to override that information it would be the same as making it real. I could be completely wrong about that. But it is my understanding of it at the moment. And it is my understanding that this is why this data is not available as an animation override.

This is wrong. Just opening the API Outliner reveals that Shape Keys are independent datablocks.

Also your “_rig_made_real” approach/opinion beats the purpose of linking and is unacceptable in a production environment. Shape Key support is absolutely needed.

So my understanding of that information, is that you are simply pointing out that a shape key is a data block. But to make that data block accessible it means you have to enter Edit Mode. Correct? To enter Edit Mode it means that the mesh has to be made real. I don’t know of any way not to do that even without linking. Even in one scene that is not possible to my understanding. Never mind linking. And I wrong in that assumption?

I can agree with that. I never said it was acceptable.

So you are saying that an acceptable solution is to allow mesh editing at the local level of the object that is being linked?

It is my understanding that you can’t have it both ways. Linked objects are not to be touched that deeply. That is what makes it possible for a low footprint.

In my opinion the only production level solution is to build good flexible rigs. You should never have to make shape keys on a linked object because that in itself defeats the purpose of linking.

So I don’t even see that as acceptable in a production environment much less the hack I would suggest if you found you planned poorly and had to make the rig real to move ahead.

This is the case because of current limitations; it’s literally what this thread is asking about. If we had the option to override Shape Key datablocks or their pointer we’d have a new reason to be able to enter Edit/Sculpt mode without making mesh data local. We’re not touching the actual mesh data; we’re just creating a new map of positions. Of course only a handful of Operators would be available in Edit mode (since we cannot edit the “deep” data other than vertex positions).

And “simply pointing out that a shape key is a data block” is crucial: Materials for example are datablocks and we can freely create overrides or point owner slots to local Materials instead already - why should this not be the case with Shape Keys - since they’re already datablocks?

I can also guarantee that in most if not all large industry productions, shape keys are a standard part of the pipeline and cannot be discarded/replaced with good rigs - they provide an additional layer of artistic control and can lead to extremely fast and precise results.

3 Likes

Ok, so this is my understanding of how this all works.

A Material is essentially is a face group-type assignment as well as a slot. The material itself exists independently of that assignment. This is not the case with vertex groups or shape key editing which are direct manipulations of the vertex data. And can only exist with the mesh data and not independent of the mesh data. Vertex data, shape keys, group values etc. and material assignment are handled at the mesh editing level.

Swapping out a material is not the same as changing the vertex data associated with that material.

Shape Keys absolutely require that you edit the mesh. Just as it would require editing the mesh data to assign the material to different faces.

Absolutely correct.

But my understanding and experience with other software is this is not the case with linking and referencing. A good production does not allow the animator to muck about with changing the rig which is what shape keys are a part of and built into. And why you do there, not in the linked file.

You hand the referenced file over to the animator, and that is it. The animator animates. And not modeling or rigging. Shape keys are a part of rigging. Even if you make a shape hey and key frame it. That is changing it at the modeling and rig level.

If you want access to that data then you loose the advantage of linking.

Now that is how I have understood it to be the case as far back as I can remember.

If I am wrong, please take some time to research what productions and what software this is possible in. Point me to the docs, or a production blog so I can update my information. Always happy to do that.

So my solution would be to build enough shape keys into my rig to not have to bother making them as I am animating.

Shape Keys are very powerful. You can do a lot with them at the rigging level. And the shapes you can make with them on a model are very limitless. And they could all be tied right into the rig and the animator would never have to touch the mesh data.

All of these animations you see where the animator is deforming the character into “impossible” shapes are all planned at the rigging level. That is how I understand it.

Animators frequently create and sculpt blendshapes right in their animation scene. This is a really normal part of animation workflow… at least in Maya (and studios that produce stylized animated content, although this is also true for more realistic animation, such as making a muscle stand out in a pose, this has plenty of uses).
Referencing is extremely powerful and granular in Maya though so it’s hard to beat… you can manipulate referenced (linked) data very freely. Surely it is more productive to think of how it could work well in Blender.
Edit mode could always block topology-altering operations when it’s entered on an object with shapekeys. I can imagine shapekeys being overriden (created, changed) just like we can override modifiers in the list. But mesh editing is moving to a node system right ? Why not include shapekeys in there ?

2 Likes

Cool, there are some things I will research more. Maya definitely has a different data structure than Blender. Anyway, I will come back to this later as I have other things pressing.

Again: No, they’re NOT. The UI may suggest so, but if you look at the datablock, Shape Keys are just a list of new coordinates. Their order will be mapped to the vertex order of the mesh data they’re assigned to. That’s why you can transfer Shape Keys between objects easily - and while it looks random when the topology doesn’t match, it still WORKS.

So adding a local Shape Key to linked meshes would NOT need to affect their mesh data. Blender would just create a new map, go through all the vertices and add a new 3d vector for each - stored in the animation file, in a new, independent datablock.

And while we’re at it: Vertex groups should be datablocks as well… that way, we could have GEO files for modeling and link them in for rigging; creating all the vertex group datablocks within the rigging file. No need to append the whole mesh data into rigging.

Just so you know, I completely understand what you want.

I used to have a program called Messiah pro. Actually I still have it. But not installed. Could still fire it up I suppose…

Anyway it had this cool feature called point animate or some such. I remember playing around with that for days with the idea of going with only animation of point on a timeline for facial stuff. I always felt Blenshapes and sliders or controllers were cumbersome.

Unfortunately, it was not fully reliable. And in the end development stopped on that program.

Later NewTek released Chronosculpt an amazing program. I have a copy. It works even better than Point Animate

As the name suggests you can sculpt on a mesh cache file over time.

However, NewTek stopped development after v1. It was missing too many features to be useful.

Both of these tools were developed with the idea of being able to sculpt corrections over time.

I always thought it would be cool to have point animation of some sort.

Other apps have also introduced or proposed these kinds of solutions.

The way Blender handles editing of mesh data it would take a complete overhaul to make Shape Keys editable as mesh data the way they are now on a linked object. That is still my understanding of it.

Maya handles everything with nodes much like Houdini. So maybe solution here would include a node arrangement of some kind.

As the title suggests sculpt mode I think would be a better place to look for a solution.

As an animator I would just want to go into a mode that allows me to sculpt over time.

That’s me.

https://www.lightwave3d.com/chronosculpt/

http://www.projectmessiah.com/x6/index.html

Isn’t Pablo Dobarro working on something like that?

Interesting. But would it work on a linked asset?

I don’t know. I don’ know much about sculpting. I just remembered seeing something like that a while ago in a Blender Today show IIRC and found it awesome to watch.
It appears to be called Key Mesh and is by Pablo Dobarro and Daniel Martínez Lara.

1 Like