ComfyUI Extension: Sykko Tools for ComfyUI
Utilities for working with camera animations inside ComfyUI. The repository currently provides a node for loading camera motion from ASCII FBX files and a corresponding command line helper for debugging.
Custom Nodes (0)
README
Sykko Tools for ComfyUI
Utilities for working with camera animations inside ComfyUI. The repository currently provides a node for loading camera motion from ASCII FBX files and a corresponding command line helper for debugging.
LoadFBXCamera node
The LoadFBXCamera
node reads a camera animation from an ASCII FBX file and
outputs:
cameractrl_poses
: list of WAN-compatible rows where each row is[0, cx, cy, fx, fy, width, height, r11, r12, r13, t1, r21, r22, r23, t2, r31, r32, r33, t3]
.visualizer_space
selects whether the 3x4 matrix is camera-to-world (c2w
) or world-to-camera (w2c
).frames
: integer count of rows incameractrl_poses
.
start_frame
and duration
define the range of frames. duration
is the number
of frames to load and must satisfy duration = 4n + 1
(e.g. 1, 5, 9, ...). The
node fails fast if any frame in [start_frame..start_frame+duration-1]
is
missing and asserts that the number of returned poses matches the requested
span. Axes can be flipped individually using
the flip_x
, flip_y
and flip_z
booleans. The pose export can be customised
via the width
, height
, angles_unit
, euler_order
and unwrap_angles
inputs.
CLI example
For quick inspection of a camera file you can run the sample script:
python sample/load_fbx_camera.py sample/camera_ascii.fbx --flip-x --flip-z --start-frame 10 --duration 9
This prints the camera pose array along with the frame count and FPS. Omitting optional flags defaults to no axis flips and uses the full frame range.