Nodes/ComfyUI/Create Camera Info
ComfyUI Node Runs on cloud

Create Camera Info

The turntable camera that makes splats spin

By Comfy-Org·Created 4 years ago·Updated 20 days ago· 121,575
Create Camera Info
    • camera_info
    mode
    target_x0.00
    target_y0.00
    target_z0.00
    roll0
    fov35
    zoom1.00
    camera_type

    Create Camera Info is a small node with a specific job: it builds a camera_info object by hand, and that object tells the 3D renderers and previews where the camera is and what it's looking at. In plain terms, it's how you make a turntable. The official TripoSplat image-to-splat workflow uses this node to spin a camera in an orbit around the model and render that orbit as a video - the "show my 3D asset from every angle" move. It's the difference between a static screenshot and a portfolio piece.

    It's ComfyUI core, "3d" category, no install. It's part of the gaussian-splat node family, and the only output is the camera_info socket - which is exactly what it sounds like: a structured description of a camera in world space (right-handed, Y-up, three.js conventions if you've met those).

    The three modes

    The mode dropdown changes which fields the node shows - it's a dynamic input, so pick a mode and the relevant sliders appear. This is the entire node, really:

    • orbit - the turntable. You get yaw, pitch, and distance controls that position the camera on a sphere around the target point. This is the one you want for "spin the model around Y" shots. Yaw rotates around, pitch tilts up/down, distance zooms the orbit in and out.
    • look_at - place the camera at an explicit world position (position_x/y/z) and it aims at the target. Straightforward "put the camera here, look there."
    • quaternion - position plus a rotation quaternion (quat_x/y/z/w) for full control. This is the power-user mode; the quaternion is normalized for you, so you can't break it by entering garbage - which is kind of them.

    The inputs you'll actually touch

    Beyond the mode, four settings matter for almost every use:

    • target_x / target_y / target_z - the look-at point, i.e. the orbit pivot. Move these to pan the whole camera rig around your model (or orbit a specific part of it). Defaults to the origin, which is where your model's center usually lives, so you often leave them alone.
    • fov - vertical field of view in degrees, default 35. Lower = more telephoto compression, higher = wider, more dramatic.
    • zoom - digital zoom as a focal-length multiplier. This one's a quiet gem: crank it above 1 and you zoom in without moving the camera, which keeps your framing stable while the shot tightens. Pure lens behavior, no rig math.
    • camera_type - perspective or orthographic. Perspective gives you foreshortening and depth; orthographic flattens everything into a technical-drawing look with parallel lines. For turntable videos you almost always want perspective.

    roll (rotation around the view axis, degrees) is there for Dutch-angle shots. Sure.

    Where it plugs in

    The camera_info output feeds anything that renders or views: Render Splat (the splat renderer - the camera_type tooltip literally says "Projection used by Render Splat"), and the 3D preview nodes when you want them to open at a specific framing. The Load 3D viewport also emits a camera_info; this node is the same thing built by numbers instead of by dragging. If you want a reproducible camera - say, the exact same orbit angle for every asset in a batch - that's worth more than it sounds.

    The gotcha

    The gotcha is that the node produces a camera, not a render. Nothing visible happens until you wire camera_info into a node that consumes it, so a graph ending here looks "dead" - it's not, it's just waiting for a Render Splat or a video node to make the camera do work. Second, remember the units: the orbit distance is in world units relative to your model's scale, not pixels. If your orbit is either inside the model or a mile away, adjust the distance, not the FOV - the two feel similar but fix different problems.

    Category3d

    Inputs (8)

    NameTypeDefaultDescription
    modeCOMBOHow to define the camera: orbit angles, an explicit position, or a position + quaternion.
    target_xFLOAT0.00-1000–1000Look-at point (orbit pivot / aim). In orbit mode, move it to pan/translate the whole camera. Ignored in quaternion mode. Defaults to the origin.
    target_yFLOAT0.00-1000–1000
    target_zFLOAT0.00-1000–1000
    rollFLOAT0-180–180Camera roll about the view axis, degrees.
    fovFLOAT351–120Vertical field of view in degrees.
    zoomFLOAT1.000.01–100Digital zoom (focal-length multiplier). >1 zooms in without moving the camera.
    camera_typeCOMBOProjection used by Render Splat: perspective (foreshortening) or orthographic (parallel).

    Outputs (1)

    NameTypeDescription
    camera_infoLOAD3D_CAMERA