Nodes/camera-comfyUI/TransformToMatrixManual
ComfyUI Node

TransformToMatrixManual

Type all 16 numbers of a 4x4 matrix — for when the matrix is the point

By Alexankharin·Created about a year ago·Updated about a month ago· 36
TransformToMatrixManual
    • transformation matrix
    m001.0
    m010.0
    m020.0
    m030.0
    m100.0
    m111.0
    m120.0
    m130.0
    m200.0
    m210.0
    m221.0
    m230.0
    m300.0
    m310.0
    m320.0
    m331.0

    TransformToMatrixManual is the unglamorous sibling of TransformToMatrix: instead of slider-friendly translations and rotations, it hands you all sixteen elements of a 4x4 matrix (m00 through m33) as individual float inputs and outputs the assembled MAT_4X4. The defaults form the identity matrix - ones down the diagonal, zeros elsewhere - so an untouched instance is a no-op, which makes it safe to wire in before you've typed anything.

    When do you actually want this? When the matrix is the source of truth and you don't want the pack guessing angles for you:

    • You have a real camera pose from a photogrammetry run (COLMAP, Metashape) and want to type it in verbatim.
    • You exported a transform from Blender or a game engine and need it applied exactly.
    • You want to reproduce a specific known motion - a precise 90° rotation, a measured translation - without slider math drifting you off-axis.
    • You're debugging and want to zero out one element at a time.

    The input list is literally the matrix in row-major order: m00 m01 m02 m03 / m10 m11 m12 m13 / m20 m21 m22 m23 / m30 m31 m32 m33. Each spans ±1000 with a 0.1 step. Output is transformation matrix, a MAT_4X4, ready for TransformPointCloud, RotateSplats, or any camera_matrix input in the pack.

    The one thing to get right is the row/column convention. The inputs are named row-major (m01 is row 0, column 1), and consumers treat the matrix as a homogeneous transform applied to points. If you copy a matrix from somewhere that's column-major or transposed, the result will look wrong in a way that's easy to misread as a rotation bug. When in doubt, verify with a known transform: a pure 90° rotation should land exactly where you expect.

    There's no math being hidden here - this is the rawest node in the matrix family, pure numpy assembly with zero dependencies. No GPU, no models, no downloads. Install with the pack via ComfyUI Manager (search camera-comfyUI, Install, restart), or:

    git clone https://github.com/Alexankharin/camera-comfyUI.git custom_nodes/camera-comfyUI
    cd custom_nodes/camera-comfyUI && python install.py
    

    For 90% of camera-move experiments, TransformToMatrix with its sliders is the friendlier choice. For the 10% where precision matters and you have real numbers in front of you, this is the node that doesn't argue.

    CategoryCamera/Matrix

    Inputs (16)

    NameTypeDefaultDescription
    m00FLOAT1.0-1000–1000
    m01FLOAT0.0-1000–1000
    m02FLOAT0.0-1000–1000
    m03FLOAT0.0-1000–1000
    m10FLOAT0.0-1000–1000
    m11FLOAT1.0-1000–1000
    m12FLOAT0.0-1000–1000
    m13FLOAT0.0-1000–1000
    m20FLOAT0.0-1000–1000
    m21FLOAT0.0-1000–1000
    m22FLOAT1.0-1000–1000
    m23FLOAT0.0-1000–1000
    m30FLOAT0.0-1000–1000
    m31FLOAT0.0-1000–1000
    m32FLOAT0.0-1000–1000
    m33FLOAT1.0-1000–1000

    Outputs (1)

    NameTypeDescription
    transformation matrixMAT_4X4