Nodes/ComfyUI-OC-Generator/OC Outfit Pants Part
ComfyUI Node

OC Outfit Pants Part

Pants for the lower slot — and the sibling it shares a socket with

By Zhuozhuo-219·Created 3 months ago·Updated 2 months ago· 0
OC Outfit Pants Part
    • oc_part
    • prompt_preview
    • debug_text
    group__all_groups__
    modeunset
    option裤子 | 不对称的裤子 -> asymmetricallegwear
    color_roleauto
    seed0

    OCOutfit Pants Part is the trousers half of the lower slot: 49 options under a single 裤子 (pants) subcategory, feeding Character Outfit Block's lower_part input. The catalog runs the full bottom-half spectrum - bike_shorts, bloomers, buruma, cargo_pants, capri_pants, chaps, crotchless_pants, cutoffs, denim_shorts, dolfin_shorts - and, in true Danbooru fashion, a few state-of-clothing entries like asymmetricallegwear that describe how the pants are worn rather than what they are.

    Here's the structural quirk you need to know before anything else: pants and skirts fight over the same socket. OCOutfit Pants Part and OCOutfit Skirt Part both output the OC_PART_OUTFIT_LOWER type, and the outfit block has exactly one lower_part input. You can't have both in the outfit at once - pick pants or pick a skirt, wire one node into lower_part, and leave the other out. If you genuinely want to flip between them per run, put a switch upstream; otherwise this is a one-or-the-other situation by design.

    How it works

    The standard part-node controls:

    • mode - unset (default, emits nothing), fixed, or randomize. The pack-wide footgun applies: leave it on unset and your character silently gets no pants.
    • option - static dropdown over all 49, formatted 裤子 | 不对称的裤子 -> asymmetricallegwear.

    group only has __all_groups__ and 裤子, so the static-dropdown/group-mismatch fallback doesn't really come into play here. randomize is deterministic (same seed, same pants), and color_role defaults to auto, which maps the lower slot to secondary - with a palette connected, your pants take the palette's secondary color while the top takes primary. That two-tone split is exactly how a coordinated outfit should read.

    Outputs

    The standard trio: oc_part (typed OC_PART_OUTFIT_LOWER, wire into lower_part), prompt_preview (the resolved tag), and debug_text (mode, color role, pool index).

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/Zhuozhuo-219/ComfyUI-OC-Generator
    

    Restart ComfyUI, or use ComfyUI Manager and search ComfyUI-OC-Generator. No extra dependencies, no model downloads - the tag catalog ships in-repo.

    The honest take

    49 options covers the pants that actually show up in anime character art well, and the "worn state" tags are a nice bonus. But it's a thin catalog next to the fashion vocabulary you might want - when your OC needs a specific cut the list doesn't have, that's a job for OC Generator's prefix_prompt. The pack is young and quiet with no real community trail yet, so treat the debug output as your documentation. And remember the socket rule: pants here, skirt over there, one lower_part, your choice.

    CategoryOC Generator/Parts

    Inputs (5)

    NameTypeDefaultDescription
    groupCOMBO__all_groups__Limit the part to one subgroup inside this slot. The option dropdown is still static in the UI.
    modeCOMBOunsetunset emits no prompt. fixed keeps the selected option. randomize samples within the current slot pool.
    optionCOMBO裤子 | 不对称的裤子 -> asymmetricallegwearStatic dropdown for all options in this part node. If the selected option is outside the current group, execution falls back to the first valid item in that group.
    color_roleoptCOMBOautoHow this part should consume the global palette. auto lets Character Outfit Block assign a role by slot.
    seedoptINT00–4294967295Seed used by randomize mode for reproducible part selection.

    Outputs (3)

    NameTypeDescription
    oc_partOC_PART_OUTFIT_LOWERStructured local part data for Character Outfit Block.
    prompt_previewSTRINGThe prompt fragment resolved by this part node.
    debug_textSTRINGExecution details for slot filtering and random selection.