Change mood
π§ Change mood
The Change mood block changes the expression of a character already on screen, by crossfading from its current image to the image of the new mood.
A "mood" is not an abstract feeling: it is a graphic variant of the character, which you declare yourself before you can switch to it. You create one in the module settings β Characters tab β pick the character β "Moods" section β "Add mood" button. Each mood carries a name (Celestory suggests a random one among Calm, Angry, Tense, Fearful, Neutral, Cheerful) and points to an Image resource. For a Spine character the section is called "Animations" and the mood name must match a skeleton animation name exactly.
π₯ Inputs
- in (Flow): Entry point. As soon as the flow arrives, the mood change starts; the flow resumes at the end of the crossfade.
- character (Character reference): Dropdown listing the module's characters, followed by a "Select a mood" dropdown listing that character's moods. Both must be filled in: with no mood selected, the block does nothing.
- duration (Number, default 0.4): Length of the crossfade, in seconds. At 0 the image changes at once.
π€ Outputs
- out (Flow): The flow resumes once the crossfade is over.
π‘ Example
Scenario: the bad news
- The character "Mira" was created with three moods: "Cheerful" (mira_smile.png), "Neutral" (mira_neutral.png) and "Fearful" (mira_fear.png).
- She is on stage from an Add character block, with the "Cheerful" mood.
- The player picks "Tell her the grimoire is gone".
- A Change mood block targets "Mira", mood "Fearful", duration 0.8: her smile turns into a worried face through a fade of about a second.
- The flow chains into a Dialogue block where she reacts.
βοΈ Technical Details
- Internal ID:
changeMood - The character must already be on stage: if the targeted character was not brought in by an Add character block, nothing shows on screen and the flow carries on with no warning. The player does record the new mood internally, but an Add character block run later without a mood selected will not restore it: the character would stay invisible. Always pick a mood explicitly in the Add character block.
- A Scene block is required upstream: with no grid of slots declared by a Scene block, this block does nothing.
- Image-based character: the player stacks two sprites and fades the old image out while the new one fades in. For a clean result, all the moods of a given character should share the same framing and dimensions.
- Spine character: the new mood triggers the skeleton animation bearing the same name. If no animation carries that name, nothing changes. The mood's "Loop animation" checkbox decides whether the animation loops.
- The module setting "Character mood transition duration" does not apply to this block: it only covers mood changes triggered from within a Dialogue block. Here the
durationinput is what drives the timing. - Internal note: the input labelled "duration" is named
transitioninternally in the block model; it really is a duration in seconds. - "Disable every transition and delay" setting: when it is on, the crossfade is dropped and the image changes instantly.
π See also
- Add character: that is where the starting mood is picked β and without it an image-based character stays invisible.
- Move character: can change the mood too, but instantly and with no crossfade.
- Dialogue: lets you change the mood line by line during a speech.
Documented version: v1
Updated on: 23/09/2026
Thank you!
