----------------the concept of animation layers---------------- precondition: armature can also be implied as an object. if there are differences from ordinary objects, then this will be agreed action is the end result of mixing animation layers. but an action can exist without animation layers layers have their own unique name layers will also act as object data, like actions and NLA tracks a layer can contain animation of anything: transformations, properties, etc. the layers have visibility (decide whether the visibility will be shared for the viewport and the render or there will be separate buttons (the visibility of the buttons is configured as in the outliner)) the layers have a weight with which they affect the layer below (analogous to the transparency of layers from 2D editors). this is expressed in direct proportionality between the weight/value of the keys that will participate in the calculation the layer also contains groups of animation channels when working with armature, the layers will be only for her, that is, the bones will not have their own layers. in this case, the animation of the bones will be saved in the armature layer ----------------work with editors---------------- working with layers must be carried out in a special editor it is create, modify, hierarchy, layers, their weight and visibility, as well as operations on layers in the graph editor, timeline, Dope Sheet displays the data of the active layer for the animation process of the aforementioned editors will be no different (except for a few operations that are directly linked to layers) ----------------calculation of animation from layers---------------- the essence of the calculation is to mix the key frames that are in layers the calculation starts from the topmost layer. its animation data is mixed according to certain rules with the layer below, which we will call "X". after that, the result is mixed with the layer that was below layer X in the hierarchy, and so on until all the layers are mixed if there are two keys on one frame, then an operation will be performed on their values depending on the mixing mode, but before that, the value from the upper layer will be reduced depending on the weight of the layer (1 - unchanged, 0 - no effect) if there is no key, it will be inserted into the curve in NLA, the already calculated action optimization will be used: the results of operations on the layer will be cached and then used in operations on the lower layers. that is, the results of the calculation of layers above the edited one are not recalculated optimization: a layer with visibility disabled is skipped, but the change of layers above it is tracked, thereby recounting is really only when it is necessary optimization: when changing the hierarchy, only the layers below will be recounted ----------------operations on layers---------------- --merging merging with the underlying layer combining selected layers (depending on their hierarchy) combining layers in the order of selection combining ALL layers into one --moving keyframes we select certain keys in the animation editors, activate the operator, then offer to move the selection either to an existing layer or create a new one (analogous to the process of moving an object to a collection) when moving, one of the mixing options will occur --copying layers between objects select the layers, activate the operator, select the object to copy to. if there are property keyframes in the layer, they will be skipped when copying ----------------other features---------------- layer groups for better organization. before mixing with the rest of the layers, it is calculated completely (taking into account the visibility of its elements). the same applies if the layer below is a group. first a complete miscalculation, then mixing mixing modes typical modes of addition, subtraction, multiplication, etc. are configured for each layer (and a group of layers, if any) displaying data in animation editors not only of the active layer, but also of all selected layers