Nodes/2D Character pose transform/Generate RPG Sheet Skeletons
ComfyUI Node

Generate RPG Sheet Skeletons

A Full Pose Library in One Drop

By Spit8·Created 2 months ago·Updated 2 months ago· 1
Generate RPG Sheet Skeletons
    • skeletons
    • labels
    width1024
    height1024
    pose_namesidle_se,walk_se_01,walk_se_02,walk_se_03,walk_se_04,run_se_01,run_se_02,run_se_03,run_se_04,jump_se,fight_se_01,fight_se_02,work_se_01,work_se_02

    The fastest way to understand what this pack is for: RPG sprites. A game character needs the same hero idling, walking, running, jumping, fighting - and CP_GenerateRPGSheet just hands you the skeleton for all of it at once. It renders the pack's built-in RPG pose sequence as a batch of OpenPose stick figures, one per pose, with labels, ready to drive a render loop.

    No models, no downloads, no captioning. It reads pose files from the pack's built-in poses/ directory and draws them. That's the whole job, and it's genuinely useful as a pose-preview node even if you never touch the render path.

    How it works

    The default sequence is the 14-pose south-east set: idle_se, walk_se_01..04, run_se_01..04, jump_se, fight_se_01/02, work_se_01/02. SE means south-east - the classic ¾ front-right isometric view that RPG sprites live in. Each named pose is loaded from the library, scaled to your width/height, and drawn as an OpenPose skeleton.

    If a name in the list doesn't match a pose file, it produces a black placeholder frame labeled <name>(missing) instead of crashing - you see the gap immediately.

    The inputs that matter

    • width / height - canvas size, 1024 square by default.
    • pose_names - comma-separated, pre-filled with the full 14-pose sequence. Edit it to emit a custom set. This is also how you'd switch to the NE (north-east, ¾ back-right) variants or add attack, death, hurt, cast - the legacy set is still in the library.

    Outputs: skeletons - an IMAGE batch, one skeleton per pose, in the same order you named them - and labels - the pose names, newline-joined, so you can split them back into individual strings for filenames or prompt injection.

    Installing

    Same single pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Spit8/_ComfyUI_CharacterPose
    pip install -r _ComfyUI_CharacterPose/requirements.txt
    

    Restart ComfyUI; it's under CharacterPose/Sheet.

    Gotchas

    • The labels are newline-joined in one string, not a list. Split on \n if you're feeding each label somewhere individually.
    • Placeholder frames for missing poses have the same dimensions as everything else, so a loop over the batch won't break - but you'll render black frames if you forget to check labels.
    • This node emits skeletons, not finished sprites. The intended flow is: skeletons out → run each through a render/repair loop with your character → then CP_ExportSpriteSheet to pack the results. It's the first half of a two-node job.

    One node, fourteen poses, zero setup. It's the closest thing this pack has to a "press here to start making an RPG character."

    CategoryCharacterPose/Sheet

    Inputs (3)

    NameTypeDefaultDescription
    widthINT102464–4096
    heightINT102464–4096
    pose_namesoptSTRINGidle_se,walk_se_01,walk_se_02,walk_se_03,walk_se_04,run_se_01,run_se_02,run_se_03,run_se_04,jump_se,fight_se_01,fight_se_02,work_se_01,work_se_02

    Outputs (2)

    NameTypeDescription
    skeletonsIMAGE
    labelsSTRING