This feature is available since version 2.12
The Status Meter is a visual indicator displayed on top of an avatar that can play an important role in your experience. It can serve several different purposes, from displaying the sentiment of the avatar (happy, neutral, sad) to its health, to progress with a certain task, etc. It features an optional emoji icon that will change with the status value, and explojis can be used to represent a positive or negative change.
Status Meter parameters
The Status Meter supports the following parameters, applicable both to CAF and Actions:
- avatar: (avatar) Character to apply the status meter to
- bgColor: (string) Background color
- fgColor: Foreground (fill) color. Can be:
- (string) color
- (array of strings) array of colors to define a gradient for the whole scale. For example red yellow green (The default value).
- size: (array of 2 floats). Size in 3D units of the toolbar
- positionOffset: (vector3 or array of 3 floats) Meter’s position relative to an avatar’s eyes. Default is on top of the head.
- setValueDelay: (ms) Delay between the start of the node and the set value effect in the meter. Default is 700.
- explojisDelay: (ms) Delay between the start of the node and the explojis effect. Default is 0.
- explojisIncrease: (string) Explojis to shoot when the value goes up. Default is ‘🙂’
- explojisDecrease: (string) Explojis to shoot when the value goes down. Default is ‘🙁’
- explojisNeutral: (string) Explojis to shoot when the value goes down. Default is ‘😐’
- disableExplojisAutoplay: (bool) Disables triggering explojis automatically when values are set. Useful for having custom rules for animations and values.
- emojiScale: (array of strings) Icons (emoji or url) to be displayed at the top of the progressbar, indicating the status. When several are supplied, one of them will be displayed depending on the value of the sentimeter. If the value is null, none will be displayed. Examples:
- ['😠', '🙁', '🙂', '😄']
- 😠 will be displayed for the first 25%
- 🙁 will be displayed between 25% and 50%
- ['😠', '🙁', '🙂']
- 😠 will be used for 0-33%
- 🙁 for 33-66%
- 🙂 for 66-100%
- For fixed emoji style, first and last will be used for left and right icons.
- scale: (vector3) scale of the whole meter including icons
- maxValue: (number) max value of the status. Default is 1.
- minValue: (number) min value of the status. Default is 0.
- value: (number) default value. Default is 1.
- style: (number) visual style for the status meter
- 0: Dynamic, dynamic emoji on top
- 1: Fixed emojis left and right
- explojisStyle: (number) style of the exploji animation
- 0: Regular Scenario explojis
- 1: “Fill” particle effect
Chatmapper integration guide
The Status Meter can be accessed from Chatmapper using CAFs (Custom Asset Fields). The following parameters will help setting up the meter and changing its values:
Applies to an avatar. This will show the status meter when a conversation starts, and will hide it at the end.
statusIncrease (text) see note below
Applies to a node. When reached, it will add the value to the avatar’s (actor speaking) status meter.
statusSetValue (text) see note below
Applies to a node. When reached, it will set the avatar’s (actor speaking) status meter to that value, displaying the animations
statusSetValueSilent (text) see note below
Applies to a node. When reached, it will set the avatar’s (actor speaking) status meter to that value, without displaying the animations
Note: These values need to be Text so that scenario doesn’t use 0 (which is the default value in Chatmapper for Number fields) as the value to set.
statusParameters (object in json format)
Applies to an actor, defining its status meter settings. Check Status Meter Parameters.
Check the Actions Guide for actions related to the Status Meter:
Using custom exploji animations instead of the default
As default, the status meter triggers explojis automatically when a value is set. The emojis are set up using the parameters explojisIncrease, explojisDecrease and explojisNeutral.
They trigger when the value goes up, down and same value respectively. In some cases, it might be required to play those animations with different rules. In order to do that, the auto triggering needs to be disabled by setting the status meter parameter disableExplojisAutoplay to true, and manually triggering the animations with the desired options using the action playStatusMeterExploji. Check the Status Meter-related actions for more information about this.
Available emoji textures for the explojis
These textures can be used as custom explojis:
Everything is set up but the status meter doesn’t change
One potential issue users often encounter when using the status meter is that they use the statusIncrease or statusSetValue fields in the wrong node – they will change the value of the status meter of the Actor in that node, which for choices is often the player themselves. For example, in a space with Player and NPC:
Here the correct place to have the statusIncrease or statusSetValue CAFs filled is on nodes 4 and 5 (the nodes in which the actor is NPC) to change NPC's status meter. If they are filled on nodes 2 and 3, Player's status meter will change instead.
We are sorry that this article was not useful for you!
Let us improve this article!
Tell us how we can improve this article?