ComfyUI Node

VNCCS Emotion Generator

Batch out facial expressions for an existing character

By AHEKOT·Created 10 months ago·Updated 20 days ago· 1,446
VNCCS Emotion Generator
    • image
    • emotion
    • face_output_path
    • sheet_output_path
    • positive_prompt
    • negative_prompt
    • seed
    • mask
    characterNone
    emotionsangry,shy,smile,pout,sad,neutral
    emotion_selectorhappy

    By the time you reach VNCCS's Step 3, you've got a character with clothes and a calm, neutral base expression across every sprite. Emotion Generator is what puts a face on that - literally: it takes your existing character, detects the face region, and regenerates it with a different expression, batched across as many emotions as you ask for.

    What it does and how it works

    Pick a character, list the emotions you want (a comma-separated list, with a starter default of angry, shy, smile, pout, sad, neutral), or use emotion_selector to browse a library of 149 named expressions - everything from broad ones like blush and bored to specific compound states like blush stickers, anger vein, or full-face blush. Under the hood this is the same idea as ComfyUI's face-detailer nodes generally: detect the face region, crop it, resample it at proper resolution with the new expression, and composite it back onto the sheet rather than regenerating the whole image and hoping the rest stays consistent. VNCCS's own generator config (visible in the shared settings other VNCCS nodes carry) names the actual knobs behind this: a face-detection bounding box with a configurable threshold and dilation, an optional SAM-based mask refinement pass, and a denoise strength controlling how much the cropped face region actually changes. Push denoise up for a stronger, more obvious expression; pull it down to keep the character looking more like themselves at the cost of a subtler result - there's no universally correct value, it depends on the character and how extreme the emotion is.

    Inputs and outputs that matter

    • character (enum) - which existing character to generate emotions for.
    • emotions (STRING, multiline) - a text list of emotions to batch through in one run.
    • emotion_selector (enum, 149 choices) - browse and pick from VNCCS's built-in emotion vocabulary rather than typing blind.
    • Outputs, all returned as lists since this runs one pass per emotion: image, emotion (the label matching each image), face_output_path, sheet_output_path, and mask. Plus positive_prompt, negative_prompt and seed, returned once for the batch.

    Installing it

    Ships with the base pack. ComfyUI Manager: search "VNCCS - Visual Novel Character Creation Suite", install latest, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/AHEKOT/ComfyUI_VNCCS.git, restart. Depends on VNCCS Control Center having downloaded models for whichever generation model your character was built on.

    Common issues & troubleshooting

    Emotion barely registers, character looks almost identical to the neutral base. Denoise is too low for the mechanism to do its job - the crop-and-resample pass needs enough strength to actually change the face, and a very conservative denoise will produce something close to a no-op.

    Character stops looking like themselves once the emotion is strong. The opposite failure - denoise pushed high enough that the resample pass is inventing a new face rather than modifying the existing one. This is the fundamental trade-off the README itself names for this stage: more denoise means a brighter, more obvious emotion, less denoise means a more accurate character. There's no single right answer, it's per-character and per-emotion, and it's worth spending time finding your character's sweet spot on one or two emotions before batching the full list.

    Running the full emotion list against every costume takes forever and the first attempt disappoints. The README's own advice: don't select every costume and every emotion on your first pass. Narrow it down, find settings that work, then scale up once you're confident - a long run you have to throw away costs more time than a short one that teaches you the right denoise value.

    CategoryVNCCS

    Inputs (3)

    NameTypeDefaultDescription
    characterCOMBONone1 options: None
    emotionsSTRINGangry,shy,smile,pout,sad,neutral
    emotion_selectorCOMBOhappy149 options: angry, anger vein, annoyed, clenched teeth, scowl, blush, +143

    Outputs (8)

    NameTypeDescription
    imageIMAGE
    emotionSTRING
    face_output_pathSTRING
    sheet_output_pathSTRING
    positive_promptSTRING
    negative_promptSTRING
    seedINT
    maskMASK