diff --git a/content/documentation/introduction/execution/index.md b/content/documentation/introduction/execution/index.md index 85d40974..66061016 100644 --- a/content/documentation/introduction/execution/index.md +++ b/content/documentation/introduction/execution/index.md @@ -25,18 +25,8 @@ of options that we list below. ### Always -**Always** option is enabled by default and it does what we stated -before, that is, execute the nodetree as much as possible. This option -should not be used unless absolutely needed. A possible uses for it is -as follows: - -- A lot of variables that Animation Nodes uses in the scene are - changing regularly and constantly, for instance, if the nodetree - relies on the locations of tenths of objects that are constantly - moving. Had they just been couple of object, then it would be better - to use *triggers* (Triggers will be presented later on). -- When running a time based discretized simulations that need to be - computed as fast as possible. +**Always** option does what we stated before, that is, execute the nodetree as +much as possible. This option should not be used unless absolutely needed. {{< video always.mp4 >}} @@ -50,6 +40,13 @@ didn't change) If always is disabled, then you get to control the execution through the options described below. +### Scene Changed + +If enabled, the node tree will execute every time anything in the scene +changes. This is the default and should be used when the node tree depends on +the data in the scene, if not, then one of the following options should be used +instead. + ### Tree Changed If enabled, the nodetree will execute every time the nodetree changes, diff --git a/content/documentation/nodes/fcurve/evaluate_fcurves_transforms/index.md b/content/documentation/nodes/fcurve/evaluate_fcurves_transforms/index.md new file mode 100644 index 00000000..1626d75d --- /dev/null +++ b/content/documentation/nodes/fcurve/evaluate_fcurves_transforms/index.md @@ -0,0 +1,28 @@ +--- +title : Evaluate FCurves Transforms +--- + +## Description + +This node evaluates the location, rotation, and scale fcurve at a specific +frame, returning the transformation of the object at that frame. + +## Option + +- **Offset** - The input frame is relative to the current frame. So an + input frame of 5 with the current frame at 5, the actual evaluation + will be at frame 10. +- **Absolute** - The input frame is the frame at which evaluation will + happen. + +## Inputs + +- **FCurves** - A list of fcurves from which the transformation fcurves will be + evaluated. Non transform fcurves will be ignored. +- **Frame** - The frame at which the fcurve is evaluated. + +## Outputs + +- **Matrix** - The evaluated transformation in the form of a matrix. +- **Frame** - The input frame delayed by the duration of the fcurve. + diff --git a/content/documentation/nodes/object/lamp_input/index.md b/content/documentation/nodes/object/lamp_input/index.md new file mode 100644 index 00000000..42e350ae --- /dev/null +++ b/content/documentation/nodes/object/lamp_input/index.md @@ -0,0 +1,17 @@ +--- +title : Lamp Input +--- + +## Description + +This node returns some information about the given lamp object. + +## Inputs + +- **Object** - The lamp object. + +## Outputs + +- **Color** - The color of the lamp. +- **Energy** - The energy of the lamp. + diff --git a/content/documentation/nodes/object/lamp_output/index.md b/content/documentation/nodes/object/lamp_output/index.md new file mode 100644 index 00000000..3ffd6016 --- /dev/null +++ b/content/documentation/nodes/object/lamp_output/index.md @@ -0,0 +1,17 @@ +--- +title : Lamp Output +--- + +## Description + +This node sets the input lamp's data based on the given data. + +## Inputs + +- **Object** - The lamp object. +- **Color** - The color to set to the lamp. +- **Energy** - The energy to set to the lamp. + +## Outputs + +- **Object** - The input object. diff --git a/content/documentation/nodes/object/object_instancer/index.md b/content/documentation/nodes/object/object_instancer/index.md index b74bc63c..1d5977c9 100644 --- a/content/documentation/nodes/object/object_instancer/index.md +++ b/content/documentation/nodes/object/object_instancer/index.md @@ -34,8 +34,12 @@ This node dynamically creates and duplicates objects. ## Advanced Node Settings -- **Add To Main Container** - Add the resulted objects to the Animation Nodes - main container collection. +- **Container Type** - + - **Main Container** - Add the resulted objects to the Animation Nodes main + container collection in all input scenes. + - **Scenes** - Add the resulted objects to the scene collection in all input + scenes. + - **Collections** - Add the resulted objects to all input collections. - **Remove Animation Data** - Clear the animation data of the newly created objects. - **Reset Source Data** - This will reset the source data for all instances. diff --git a/content/documentation/nodes/sound/evaluate_midi_track/index.md b/content/documentation/nodes/sound/evaluate_midi_track/index.md index 8a7e9638..d67ffaab 100644 --- a/content/documentation/nodes/sound/evaluate_midi_track/index.md +++ b/content/documentation/nodes/sound/evaluate_midi_track/index.md @@ -30,9 +30,15 @@ are two modes of evaluation. You can either evaluate a single note number or all - **Attack Time** - The attack time of the ADSR envelope. - **Attack Interpolation** - An interpolation describing the rate of increase of the note value up to the maximum sustain level. +- **Decay** - The decay of the ADSR envelope. +- **Decay Interpolation** - An interpolation describing the rate of decrease of + the note value down to the maximum sustain level. +- **Sustain** - The sustain level of the ADSR envelope. - **Release Time** - The release time of the ADSR envelope. - **Attack Interpolation** - An interpolation describing the rate of decrease of the note value to zero. +- **Velocity Sensitivity** - Attenuate the MIDI note values by their velocity + if 1, has no effect if 0. - **Scene** - Only used to get the FPS to compute the time from the input frame. ## Outputs diff --git a/content/documentation/nodes/viewer/3d_viewer/index.md b/content/documentation/nodes/viewer/3d_viewer/index.md index 1243a5fa..d668cbff 100644 --- a/content/documentation/nodes/viewer/3d_viewer/index.md +++ b/content/documentation/nodes/viewer/3d_viewer/index.md @@ -4,11 +4,14 @@ title : 3D Viewer ## Description -This node visualize vectors and matrices by drawing them in the view-port. -Vectors are drawn as points and matrices are drawn as colored axis whose -saturation goes down as the index of the matrix increase. +This node visualize vectors, matrices, and splines by drawing them in the +view-port. Vectors are drawn as points, matrices are drawn as colored axis +whose saturation goes down as the index of the matrix increase, and splines are +drawn as continuous poly-lines with the resolution specified in the options. ## Options -- **Size** - The size of the points/axis. -- **Color** - The color of the points for vectors. +- **Size** - The thickness of the drawn elements. +- **Color** - The color of the drawn elements. +- **Amount** - The resolution of the drawn splines. Only available for spline + drawing. diff --git a/content/release_notes/v2_3/3d_viewer.png b/content/release_notes/v2_3/3d_viewer.png new file mode 100644 index 00000000..02b750cd Binary files /dev/null and b/content/release_notes/v2_3/3d_viewer.png differ diff --git a/content/release_notes/v2_3/_index.md b/content/release_notes/v2_3/_index.md new file mode 100644 index 00000000..42d6e20e --- /dev/null +++ b/content/release_notes/v2_3/_index.md @@ -0,0 +1,61 @@ +--- +title : Version 2.3 +weight : 5 +--- + +## Evaluate FCurves Transforms + +A new *Evaluate FCurves Transforms* node was added to evaluate location, +rotation, and scale fcurves at an arbitrary frame. + +{{< video evaluate_fcurves_transforms.mp4 >}} + +## Auto Execution + +A new *Scene Changed* option was added to the Auto Execute panel. This option +makes Animation Nodes execute if anything changes in the scene, which is much +more efficient that the existing *Always* which superfluously executes in most +cases. This is now the default. + +## 3D Viewer + +The *3D Viewer* node now allows viewing splines. + +![3D Viewer](3d_viewer.png) + +## MIDI + +The *Evaluate MIDI Track* node now supports controlling the *Decay* time as +well as its interpolation and the *Sustain* level. So it now supports the full +ADSR envelope. The node now also have a new *Velocity Sensitivity* input, which +attenuates the MIDI note values by their velocity if 1, does nothing if 0. + +## Attributes + +The *Insert Custom Attribute* node now allows overwriting existing attributes. + +Input and output mesh nodes now support built-in attributes. + +![3D Viewer](builtin_attributes.png) + +## Object Instancer + +The *Add To Main Container* advanced option was replaced with a *Container +Type* option, which specifies where the new instanced objects will be added. +They can be added to the *Main Collection* as before, to the *Scene Collection* +of the scenes provides by the user through the *Scenes* input, or to the +*Collections* provided by the user through the *Collections* input. + +## Lamp Data + +A new *Lamp Input* and *Lamp Output* nodes were introduced to get and set lamp +data like Color and Energy. + +## Vectorization + +The *Get Spline Length* and *Float To Text* nodes were vectorized. + +## Optimizations + +Animation Nodes no longer setup unused subprograms, so it should be much faster +for files with many node trees with subprogram assets. diff --git a/content/release_notes/v2_3/builtin_attributes.png b/content/release_notes/v2_3/builtin_attributes.png new file mode 100644 index 00000000..54bf6a10 Binary files /dev/null and b/content/release_notes/v2_3/builtin_attributes.png differ diff --git a/content/release_notes/v2_3/evaluate_fcurves_transforms.mp4 b/content/release_notes/v2_3/evaluate_fcurves_transforms.mp4 new file mode 100644 index 00000000..e30c738f Binary files /dev/null and b/content/release_notes/v2_3/evaluate_fcurves_transforms.mp4 differ