Nodes/ComfyUI-OOP/OOP Environment ⛅
ComfyUI Node

OOP Environment ⛅

Time of day and weather as two dropdowns — mood, without the guesswork

By 0xRavenBlack·Created 2 years ago·Updated about a year ago· 15
OOP Environment ⛅
    • OOP_ENVIRONMENT
    day_timeNoon
    moodClearNightSky
    randomizefalse

    "Night, full moon, stormy" is a mood, but free-typing it lets the model pick its own storm. OOP Environment ⛅ from the ComfyUI-OOP pack reduces a scene's atmosphere to two dropdowns - time of day and weather mood - and writes the labeled line for you. It's the fastest way in the pack to set the emotional tone of a scene without trusting your spelling.

    What it builds

    Like every node in this pack, it's a prompt string builder. Two dropdowns in, one custom OOP_ENVIRONMENT string out. No image math, no model calls, no dependencies.

    • day_time - 5 options: Morning, Noon, Afternoon, Evening, Night. Default Noon.
    • mood - 8 options: ClearNightSky, SunDown, CloudySky, Sunny, Rainy, Stormy, FullMoon, HalfMoon. Default ClearNightSky.

    Pick Night + FullMoon and you get time:Night, mood:FullMoon - the exact line from the README's example scene. Note the slight mismatch: some moods are weather, some are sky states, and FullMoon/HalfMoon are moon phases. It's a mixed bag, but each one maps to something a model can render.

    There's a randomize boolean, as everywhere in this pack. On, and each queue rolls a random time and mood - useful for rapid mood boards where you want the model to riff. Off, the scene stays stable. The re-roll happens on every queue run (IS_CHANGED returns fresh random bits), so don't treat "randomize" as a one-time thing.

    Where it goes

    OOP_ENVIRONMENT feeds the Environment input on the OOP Node 💫 - the pack's aggregator, which assembles Style, View, Person, Animal, Location and Environment into one structured prompt, encodes it to conditioning, and exposes a plain STRING output. Want to check that "Night/FullMoon" actually landed in the prompt? Read the string.

    Install

    Ships with the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/0xRavenBlack/ComfyUI-OOP
    

    Restart ComfyUI. Or use Manager (search ComfyUI-OOP in the Custom Nodes Manager). There's no requirements.txt and no model download - this is pure Python building a sentence.

    Gotchas

    • Weather and light are lumped into one list. Sunny and FullMoon are different kinds of information sharing a single "mood" slot. It works, but you can't do "sunny full moon" - pick the dominant one.
    • SDXL-era assumptions again. The pack's aggregator hardcodes CLIP skip −2 and 1024×1024 sizing; the demo workflow is SDXL (1152×896 latent, euler/karras, cfg 8, 20 steps). time:Night, mood:FullMoon reads well on SDXL; on Flux or newer LLM-encoder checkpoints, expect weaker adherence.
    • The ClearNightSky default is a bit weird at Noon. If you change day_time but forget mood, you get "Noon + ClearNightSky," which is just a clear day - harmless but easy to overlook.

    Part of a small, dormant pack (built early 2025, ~15 stars). For nailing atmosphere in one move instead of typing "dramatic stormy night sky" and hoping, it's handy.

    CategoryObject-Oriented Prompting

    Inputs (3)

    NameTypeDefaultDescription
    day_timeCOMBONoon5 options: Morning, Noon, Afternoon, Evening, Night
    moodCOMBOClearNightSky8 options: ClearNightSky, SunDown, CloudySky, Sunny, Rainy, Stormy, +2
    randomizeoptBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    OOP_ENVIRONMENTOOP_ENVIRONMENT