Multi-Camera Flipbook HDA
HDA for Multi-Camera Flipbook Generation with Flair
This HDA creates flipbooks (videos) for multiple cameras using TOPs. It can save backup files and generate sequences (images) as well as GIFs. Created using Houdini 19.5 Py3.7
Requirements
HDA Informations
Location
- In the OUT Context Digital Assets/Flipbook
Before Pressing Cook
- Just select cameras from the MultiParm, adding as many as you need or click autofill!
After Cook
- The console will display the outputs of all generated files, typically located in the HIP directory followed by the name of the Flipbook Node.
HDA Controls (In Order)
- Name Structure
Base Name: $OS
Base Folder: $HIP/flipbooks
Version: Self-explanatory
- Format Options
Image File Type: JPG(Default) Options are PNG, EXR
Video File Type: MP4(Default) Option MOV
Generation Type: This is how you generate images, either by using Flipbook or OpenGL render.
- Save Options
Save Sequence: By default, it will generate images and then create videos, saving only the video files. However, if Save Sequence is checked, it will retain all the generated images as well. Check here ~Sequences/
Save Checkpoint: Every time a flipbook is generated, it will create a backup copy of the HIP file. Check here ~Backups
Make Montage: Creates montage (sequential/back-to-back) videos, available only when more than one camera is selected. Check here ~Videos
Make Mosaic: Generate tiled (contact sheet) videos, again only accessible when multiple cameras are selected. Check here ~Videos
Make GIF: Enable the option to create high-quality GIFs. Although this will cause errors in the TOP, the GIF generation will happen. Depending on the duration and resolution of the playblast, GIF generation may take some time. It's important to wait for all the work items to error out. *See Change Log
- Camera & Scene
The "Cameras" parameter functions as a Multiparm. To select the required cameras, simply drop them one by one from here. Remove any extra cells if they're not needed. Since the name of the flipbook and other elements rely on the camera name, it's crucial to ensure accuracy. One effective method is to pick the camera instead of manually typing its name. Or use Autofill. *See Change Log
Scene Path: If OpenGL render is chosen, the obj network that needs to be included are those visible within the scene that you wish to render. If the Flipbook method is selected, then this option is disregarded.
Viewport Comment: This option is only available for OpenGL rendering. It utilizes OpenGL's implementation of viewport comments. when this option is used(Default), the comments are baked directly into the image. While this method is faster, it means that all generated videos and GIFs will contain the embedded comment. It's positioned exclusively at the top left of the image.
- Do Flipbook | Clean Node | Cancel Cook
These controls are for the TOP exec. The "Do Flipbook" function executes the processing, while the "Clean Node" action handles both dirtying and cleaning. "Cancel Cook" halts all ongoing processes.
Advanced Option
- Render Controls
It includes all necessary settings for OpenGL rendering, such as frame range, resolution, and FPS. Additionally, it allows for the selection of lights and objects (force, candidate, etc.). However, when using the Flipbook method, only resolution and frame range settings are utilized, while the FPS is derived from the scene, and other settings are ignored.
- Extra Overlay Controls
This feature is more advanced than the viewport comment. Comments can be placed at any corner of the image, Bottom Left, Bottom Right, Top Left, or Top Right. However, if the Top Left option (Disabled by Default) is chosen, all comments from the viewport must be removed to avoid overlap. *See Change Log. Additionally, you can customize the color and font (type and size) of the comments from here. These text updates occur per frame, making it possible to display various time-dependent information.
An important line to keep is listed below. I recommend retaining it, as it's the only way to display the associated name of the camera alongside their images/videos.
Camera : strsplit(@mltCam, "/", -1)
This line also exists in the viewport comment option. If you lose it, simply use Ctrl+MMB to bring it back.
Bottom Center Logo: I've included an option to add a logo. However, scaling it properly can be challenging without knowing the logo's resolution. If necessary, you can create a small flipbook to test the scale. The scale parameter is exposed alongside the logo. Once you're satisfied with the scale, you can hit the home run!
- Advanced Control
These are the options for OpenGL, where you can set parameters like Quality, Color, Compression, and Extra Effects. By default, OpenColorIO is enabled with the OCIO colorspace set to ACES - ACEScg.
Update 2.1
- Removed Unnecessary Nodes.
- Updated Python Scripts.
- Fixed GIF Error.
- Reduced Internal Dependency.
- Added Event Handlers. (Auto Switch Between Viewpost Comments & Overlay Comments)
- Added MultiParm Autofill Functionality. (For Ease)
Disclaimer
I've developed this HDA to the best of my abilities and have extensively tested it with various files, both my own and those available online. However, it's important to note that while it should work reliably, there might still be occasional instances where it doesn't perform as expected.
Icons by Icons8
Photo by Raimond Klavins on Unsplash
Flipbook HDA