AnimationRecorder¶
-
MacroModule
¶ author MeVis Medical Solutions AG
package MeVisLab/Standard
definition AnimationRecorder.def see also VideoWriterInventor
,VideoWriterML
keywords movie
,video
,recorder
,writer
,animation
Purpose¶
The module AnimationRecorder
allows for creating animations and record them as video streams. It provides an editor to create keyframes for animating field values.
Usage¶
Create a network with an Open Inventor scene. Add an AnimationRecorder
module and connect the scene to its input.
Open the panel of the AnimationRecorder
module. Click New
to create a new animation. Select a filename for the animation.
At the bottom of the AnimationRecorder
panel is the keyframe editor. It is now enabled and initially contains the camera track with a keyframe at position 0. At the bottom of the keyframe editor, there are buttons to control playback and recording.
Interaction¶
Use drag-and-drop to add fields from module panels to the keyframe editor, creating a track for each field.
The fields and modules in the tree view on the left side can be reordered using drag-and-drop. Moving frequently edited field tracks to the top may be helpful. The context menu in the tree view allows removing fields and modules from the animation.
To insert and modify keyframes, use the context menu on a field track. The context menu on keyframes allows deleting or editing them.
Keyframes on field tracks can be selected using the mouse to delete or move multiple keyframes.
The cursor displaying the current frame can also be dragged by the mouse to change the current frame.
Tips¶
If a volume rendering is animated, then the interactive quality should be set to 1.0 and the incremental update should be disabled; otherwise, the renderer does not use the full quality during the animation.
See also the SoGVRQualitySettings
module, which allows for having different quality settings for the same renderer in different viewers. It has also a setting to force high quality rendering, even if the hardware does not support it.
Input Fields¶
Output Fields¶
Parameter Fields¶
Field Index¶
Create Images: : Bool |
isRecording : Bool |
reset : Trigger |
Current Frame : Integer |
keyFrameCollectionChanged : Trigger |
Save : Trigger |
Duration : Integer |
Load : Trigger |
Total Recording Framerate : Double |
filename : String |
New : Trigger |
Video Size : Vector2 |
Framerate : Integer |
Playback Speed : Integer |
writeFrameFPS : Double |
Frames Written : Integer |
progress : Float |
|
Images Format : String |
renderFPS : Double |
|
isModified : Bool |
Rendering Framerate : Double |
Visible Fields¶
Load¶
-
name:
load
, type:
Trigger
¶ When pressed, an existing animation (.mlmov) is loaded if it is not already loaded.
Video Size¶
-
name:
videoSize
, type:
Vector2
, persistent:
no
¶ Sets the resolution of the resulting video.
Note
There may be limitations for the resolution, depending on the platform and codec. Resolutions up to Full HD (1920x1080) should be supported, though.
Create Images:¶
-
name:
writeImagesInsteadOfVideo
, type:
Bool
, default:
FALSE
¶ If checked, the frames are written as an image series instead of a video.
Images Format¶
-
name:
imagesFormat
, type:
String
, default:
png
¶ Sets the format of the images if not creating a video. See
Create Images
.
Rendering Framerate¶
-
name:
averageRenderFPS
, type:
Double
, persistent:
no
¶ Sets the frame rate of the current offscreen rendering process.
Total Recording Framerate¶
-
name:
averageWriteFrameFPS
, type:
Double
, persistent:
no
¶ Sets the overall frame rate for rendering and writing.
Current Frame¶
-
name:
currentFrame
, type:
Integer
, default:
0
¶ Sets the currently displayed or rendered frame.
Playback Speed¶
-
name:
playbackSpeed
, type:
Integer
, persistent:
no
¶ Sets the playback speed to control the animation’s pace. This setting does not affect recording.
Duration¶
-
name:
videoLength
, type:
Integer
, persistent:
no
¶ Sets the duration of the animation in seconds.
Framerate¶
-
name:
framerate
, type:
Integer
, persistent:
no
¶ Sets the frame rate for the resulting video stream.
Note
Changing the frame rate may remove keyframes. For example, if the video duration is 10 seconds with a frame rate of 30, then the last frame is 300. If the frame rate is reduced to 20, then all key frames after frame 200 will be discarded.