Question: Channel Editor

Recently I’ve been learning Maya 2013 just to expand my software knowledge (I still use Blender as my main and only 3D software because IMHO modeling in Blender is 10 times faster, easier and more interactive. Of course that’s just my opinion)
But in this short lapse I’ve been using Maya, there’s something that draws my attention: the channel editor
I consider it’s a pretty useful feature that comes in handy in multiple circumstances, although in many others it’s easier no to touch it.

So, my questions are:

  1. How many of you guys would consider a Channel Editor a useful feature in Blender?
  2. How hard it would be to a feature like that to be implemented in Blender? Because as how I think it works, it would imply a lot of code and some API changes, but I might be wrong
  3. Have there been any proposals to do something like this, or are there any projects working on that?

For those who don’t know what the channel editor is, it’s a pane in which you can edit an object attributes AFTER you further edit said attributes. For example, if you insert a cylinder, go into edit mode, extrude some vertices move them around and play with them, you can still edit the initial cylinder attributes like the number of subdivisions, whether it has cap ends or not, etc. And you could do the same with every edit you do to the mesh.

At least that’s what I mainly do with it, and it’s why I started this thread.
The problems I see with this is that if you mess with the attributes of the object after you’ve messed with its mesh, it can create problems like floating vertices, breaking some edges, and things like that.

I DON’T think it’s an essential feature that’s like needed right now, I mean, you should know what you’re doing before you do it. But it has the potential to make life to several of us a little bit more comfortable.

I apologize if I put this in the wrong topic.

Maybe for those not familiar with the channel editor in Maya you could clearly explain what you are referring to, also describing what benefits this would give. You could then discuss whether you believe the benefits would justify the development work involved ? If it requires a lot of development would you believe it would be more important than the projects awaiting to be implemented. If so which of those projects would you beleive would be put back/dropped to get this implemented ?

Thanks for the advice, edited the post :slight_smile:

To describe it in a more Blender-centric context:

In Blender, when you use an operator, your have its options in the bottom left that you can use to change settings. But, once you use some other operator (another mesh tool, translating something, etc) those settings are lost. You have no ability to modify them. In Maya you do. You have your full tool history, and you can go back and edit things farther down the stack. So you won’t lose your chance to change how many divisions your cylinder primitive has after you go into edit mode with it.

It doesn’t always work totally right though, as OP noted, editing things a few tools back in the history has a tendency to glitch out the mesh. And sometimes, it just causes problems all kinds of miscellaneous problems, which is why there is a dedicated button for nuking it (Edit > Delete by Type > History), but other times it’s a really useful thing to have.

I think it’s one of those things they planned on doing way back at 2.5, but just haven’t gotten to yet. At least I seem to remember reading a thread or something in the mailing list at some point.

For me having the settings be persistent until you enter edit mode would suffice. I usually don’t find myself needing to go back and make changes at that point. I’m not sure how other’s workflows are though.

I may be going out on a limb here, but I believe this is limited by Blender’s implementation of the history/undo-redo stack, which is still far from optimal. As far as I understand, it now saves a complete mesh state for each edit, so changing an object’s “prototype” may not be as easy as in Maya. If my assumptions are correct, one would have to start by rethinking the history stack from scratch - and I believe that’s already been discussed, though I’m not sure any work has gone into it yet.

I always wondered why blenders history was so clunky, as Klutz says its a store of the object(s) footprint each time, and didn’t follow the approach used by other graphics programs such as photoshop et. al. and store the actions performed.

The photoshop approach would allow a full history stack with undo control, and as an aside allow edits/deletions/additions to be performed at a previous step by just replaying the history after a change… although there are instances where it would break, for example if I deleted (or even provided a perform/don’t perform toggle option) an action that added a face and following actions worked on the face that no longer existed they would need to fail gracefully.

And how would that feature impact Blender’s performance?
Let’s say Blender indeed had that feature. Wouldn’t that mean it would have to store the coordinates of each vertex, the attributes of each action that affected said vertex, store its new coordinates and so on?
After some uninterrupted time of working, wouldn’t that mean a lot of information to be stored that many people wouldn’t even use?
Because as @xrg said, we’re used to tweak the actions immediately AFTER we make those actions
So, what would be more resource intensive: having a action-based history where you can tweak the action’s parameters after you have done more actions, or keeping snapshots of the mesh with each action?