Hair Animation Cache
The Animation Cache modifier is designed to record and playback the cached version of your hair animation in real-time. You can export the animation of the guides or hairs to an .abc file using our Alembic Export and the resulting file will be automatically loaded into the Animation modifier.
Parameters
- Strand Group
This parameter works the same as in other operators, you can isolate the effect of the Animation to a particular Strand Group created in the Edit Guides operator - Overwrite Input
When this option is on, the loaded hair data by this operator completely overwrites any input strands making this operator only output the loaded animated hair. This is useful if you want to completely capture and cache the state of your hair stack in a particular position. - Apply Amount
Determines the intensity of the effect, can be used to blend animation. - File Path
This is where you can load .abc file exported using the Alembic Export. This parameter also allows you to specify a new .abc file to save when using the Record functionality. There are two buttons next to the file path text box. One allows opening of an existing Alembic file, and another is to save new Alembic files if you plan to record current hair state or animation.
You can also load a sequence of files using the "#" character inside the file name. More on this below. - Time Offset and Time Scale
You can use those two parameters to control the delay and playback speed of the animation.
Loading a File Sequence
File name parameter can contain "#" characters to denote a sequence format, ex. MyHair.###.abc. If such characters are encountered multiple .abc files will be loaded matching the sequence numbering, ex. MyHair.01.abc, MyHair.02.abc, MyHair.03.abc, etc. Timing inside the .abc files will be used to animate the resulting hair.
On-Demand Alembic Sequence Loading
As outlined above, the File Name parameter can contain #_ characters in which case a sequence of _Alembic files can be loaded each containing individual animation frames. The loading of these files happens on demand. This means that, if for example, you have three files:- myfile.000.abc
- myfile.001.abc
- myfile.002.abc
then myfile.001.abc and myfile.002.abc will not be loaded until this modifier is evaluated on frames 1 and 2 respectively.
Such loading allows saving memory and processing power when rendering scenes containing heavy hair data sequences.
Recording
The recording commands allow you to capture one or more frames of static or animated hair and save them to an external _ Alembic.abc_ file. This state will then be used with this operator or with any other Animation Cache modifier which references the same .abc file.
The recording process will capture hair positions, widths, UV coordinates, strand groups, and any strand data. Current animation play range will be recorded. Therefore, before recording make sure you change the animation range to match your desired recorded results. Also, an output file should be specified. To specify a file path and name click Select File to Record Animation. This command will prompt you to a file dialog where you can set a file path, file name and extension.
To begin recording press the Record Animation button. During recording the animation is not shown in the viewport to save performance. Instead you can see the progress in a progress bar where you can also cancel the recording process. You can clear the already saved data using the Clear Recorded Data button, this will delete any in-memory recorded data and this operator will not do any changes to the hair. Reload File allows you to refresh the data if the data was modified externally.
Recording File Sequences
If the target Alembic file name has "#" characters in its name then a sequence of per-frame files will be produced instead of a single Alembic file. For example, if the file name specified is Animation.###.abc and there are three frames being recorded you will end up with three files: Animation.000.abc, Animation.001.abc, Animation.002.abc. The digits within the file name will reflect the frame being recorded within the scene. This sequence of files will be loaded by this operator as an animation (read above for more).