About Locks

 
 
 

When you create a scene or model, there may be certain parts of it that you don't want to change or that you don't want anyone else to change (this is particularly true in a workgroup environment). To help reduce the introduction of error, you can use locks to control the type of modifications allowed to parts of a scene. For example, if you're a technical director, you can use locks to prevent modifications (accidental or otherwise!) to a rigged character. Or you can lock only the animation of certain parameters so that they're available but can't be keyed.

What Can You Lock?

You can lock these elements within a scene:

User and System Locks

When you lock a scene element using the Lock command, you are applying a user lock. You can choose to unlock at any point.

A system lock is the same locking mechanism as a user lock but is used internally by Softimage for locking specific types of scene elements. Override properties and referenced models are both protected by system locks, which means that they cannot be locked, unlocked, or removed as you can with user locks.

You can identify if a scene element is user or system locked by choosing the Locks Locks Info command — see Using Locks with Scripts.

Levels of Locks

You can apply locks to scene elements at different levels: topology, animation, value, and all. These levels let you lock scene elements so that only certain types of modifications are restricted. For example, you cannot add or remove points from geometry that has been locked at the node topology/hierarchy level.

You can apply all levels at once or set them individually:

Lock Level

Description

Scripting Command

Node Topology/Hierarchy

Cannot modify topology or hierarchy

siLockLevelConstruction

Animation

Cannot set keys

siLockLevelAnimation

Value

Cannot change values

siLockLevelManipulation

All

All of the above

siLockLevelAll

Levels are progressive, which means that a given level includes all levels above it (the opposite of the parent-child analogy where properties are applied from the top down).

Locking Animation

When a scene element is locked at the animation level, you cannot set keys for it nor can you edit its fcurves in the animation editor.

In the fcurve editor, locked fcurves are drawn with dashed lines.

You cannot select any locked fcurves, therefore you cannot select any keys on them and edit them. If you want to copy keys from fcurves, you can use the dopesheet.

In the dopesheet:

  • Locked tracks have a black lock icon displayed at their left end. If a collapsed track contains all locked tracks, it has a black lock icon. If it contains a mix of locked and unlocked tracks, the lock icon is a mixture of black and green.

  • You can select and/or create regions on locked fcurves (tracks), mostly for copying and pasting keys from them, but you can't edit the keys.

    If you try to edit the keys, an error message appears in the script window telling you that this cannot be done because the underlying fcurve is locked.

    For more information on fcurves and the dopesheet, see Editing Function Curves and Editing Animation in the Dopesheet [Animation].

The Lock Owner

You can unlock or change the level of a lock only from the node where the lock was originally applied. This node is referred to as the lock owner.

If you try to unlock or modify the lock level of a particular node, but the lock level menu items appear unavailable (gray) in the context menu, this means that the selected node/object has inherited the lock and you can modify it only from the lock owner. Even though the level is unavailable, the inherited lock levels are indicated by a check mark.

The only scene elements that you can unlock regardless of whether it is a lock owner or not, are parameters, which can be locked and unlocked only in node mode. See Unlocking Scene Elements.

Inheriting Locks

Locks are always applied in branch mode. This means that when you lock an object, all its children inherit the lock. For example, to lock an entire scene, you apply a lock on the scene_root node. All of the objects and models below the scene_root are also locked, including their properties and parameters.

Locking a group locks all members of the group, and they remain locked as long as the group node is locked.