Delete An Action/NLA?

Hi All,

I am working with the Red Nelb character. Initially it has some actions in place. But I need a clean slate. I can delete some of the keys, but others refuse to delete. Also, there are these left over things in the NLA that will not delete. I have tried saving and re-opening as well and I am still left with crap I can’t get rid of.

Whats the key to getting a clean slate?

Attachments


Up to v2.48 (haven’t used 2.49 enough to say about it), any Armature/Bone IPOs are automatically included in an Action, and the Action is automatically given a Fake User (the Action Editor “F” button is enabled for the Action.)

You can disconnect (unlink) the Armature from an Action using the “X” button in the Action Editor. To remove an Action from the choices list (“delete” it) you first have to disable the “F” button – the Fake User status keeps the Action persistent from one file-close and -open to the next.

In the NLA Editor, if an Action is represented by an NLA strip, simply select that strip and hit Delete. Also be sure to disable NLA for the Armature in question – the toggle is the Icon next to the Armature name in the NLA listing (left-hand column). With NLA disabled, only the current Action applies to the Armature, and you can use the X button to unlink it as mentioned above.

NOTE: An NLA strip is a “user” of the Action the strip was made from, so if you’re having trouble removing/deleting all Actions even after Fake User has been disabled, check the NLA Editor for possible stray strips. Also, you can assign an Action to a “nonsensical” object (like an armature Action to a mesh), and that object will also be a user, so check for such mis-assignments as well.

To rapidly clear out a number of Actions, use SHIFT+F4 to open a File Browser, navigate to the top of the file tree, choose the type of data block you want to edit (in this case Action), click on it, and you’ll get a listing of all Actions in the file. Some or many may have the “F” status displayed by that letter in a column. You can toggle this by selecting the Action(s) you want to change the status of (use RMB to select a number of items in the list at once) and hitting F-KEY. Remember this is a toggle – if you select items that don’t show the “F”, they will have one after the toggle.

BTW, this process works for any data block (e.g., Materials) that have the Fake User option.

Thanks for the tips!

I ended up bringing up an outliner window next to an IPO window. Then I looked for the curvy symbol on each outliner object. If it the icon was there, then there was an IPO associated with that object. I simply clicked on any given object’s IPO and it showed up in the IPO window on screen. Then I could use the X button in the IPO window to delete each one. The IPOs seem to be the root that NLA and Actions hold on to. Once that root was removed, I was able to delete all other items.

I am still a noob at the actual relationship between IPOs, Actions and NLA. I just haven’t used it that much.

Using the X button does not delete the data block (IPO, Action, Material, whatever), it just unlinks it from the selected data block (Object, Armature, whatever). The “X’d” data block will persist in the file as long as it has any users, including Fake Users. To fully delete a data block of this type, you need to make sure it has no users (usually indicated by a small circle next to the data block name in the drop-down listing), then save the file, close it, and reopen it. AFAIK only data blocks with no users are deleted, and only when the file is closed.

Unlinking a mess of IPOs one at a time is more work than needed, I think. For any selected Armature, an Action is a data block made up of a number of IPOs (also data blocks) that apply to various bones in the Armature, plus (if any) those for the Armature as an Object. In the Action Editor, these are represented as keys rather than curves, but those keys correspond to the IPO keys. The Action Editor just provides a different level of editing capability for the IPO data blocks. So to unlink a set of IPOs from an Armature all at once, you should only have to unlink the Action associated with them. That’s how it’s worked in my experience.

Keep in mind that if an Action has a “presence” in the NLA Editor (as a strip, for example), it cannot be deleted because the NLA Editor is a user of the Action. Plus, if you select that strip in the NLA, it will automatically re-link that strip’s Action with the Armature in the Action Editor, even it it has been previously unlinked. That’s a bit of a “gotcha” but it makes sense if you think about the data block hierarchy involved – in order for the higher level data block (the NLA strip) to be valid all the lower-level connections it represents (such as Action to Armature) also have to be valid, so it re-establishes them. At least that’s how I think of the situation.

As a result, if I’m trying to completely delete any IPO, I make sure all NLA references are removed first, then unlink the Action from the Armature, and make sure it has no Fake User status, and make sure the little circle mark shows in the Action Editor choices listing. If the last check fails, I look for other users much as you described, by using the Outliner.

IPOs are a little different in that they can be incorporated into one or many Actions, so the list of possible users for each IPO is a lot larger.

Keep in mind that if an Action has a “presence” in the NLA Editor (as a strip, for example), it cannot be deleted because the NLA Editor is a user of the Action.

I think that is what I was running into.

Eventually I did do a Save and Re-Open to clean everything up.

Yeah, how those data blocks get linked together can be kind of confusing at times. Materials are very similar. They can get duplicated easily (some settings in the User Prefs can control this however), and sometimes tracking down all the users for all the dupes can be a chore, particularly if you have objects with multi-materials applied, or if you’ve had various Meshes (another data block) linked to the same Object and given a Fake User for some reason.

BTW, thinking in terms of “data blocks” isn’t just being pedantic, it’s really helped me understand better how things are linked together in Blender’s innards. Thus IPOs and Materials are, at one level, just the same in the way certain operations can be done on them, operations that affect them at the “data block” level only, like linking/unlinking them. Makes figuring out how to do new things, and manage all the bits and pieces of a Blender project, a little easier sometimes.