Camera shots and gaze
In a LearnBrite space the camera moves to frame whoever is speaking. You choose how: a wide shot to show who is where, a close-up for the line that matters. ChatMapper gives you the shots by name, so you never type a field value by hand.
The camera only moves for participants in third-person view. Participants in first person or VR keep their own view and see none of these shots, so never let the camera carry something the dialogue does not.
Before you start
Section titled “Before you start”You need a project in LearnBrite mode. The camera controls appear only in that mode.
Set a default for the conversation
Section titled “Set a default for the conversation”Select the conversation. In the Inspector, Default camera shot sets the framing for every line in that conversation that does not choose its own. Left on Runtime default (MLS), the space uses a medium long shot.
A good baseline is a medium close-up for a one-to-one talk, and a medium or medium long shot for a group or a demonstration. Set the baseline here and change single lines only where the framing should change.
Frame a single line
Section titled “Frame a single line”Select a node. On the Content tab of the Inspector, the Camera block has three controls.
Shot. How the camera frames the node’s Actor. Empty means the conversation’s default.
| Shot | Frames | Use it for |
|---|---|---|
| XLS Extreme long shot | Whole figure, small in the space | Establishing a new location; isolation. |
| LS Long shot | Whole figure, head to feet | Arrivals, exits, whole-body action. |
| MLS Medium long shot | Knees up | Opening lines and gestures. The runtime default. |
| MS Medium shot | Waist up | Neutral conversation and explanation. |
| MSUP Medium shot, extra headroom | Waist up, with space above the head | Lines where a status meter shows above the actor. |
| MCU Medium close-up | Chest up | The working shot for dialogue. |
| CU Close-up | Face and shoulders | Emotional beats, a key question, a consequence. |
| BCU Big close-up | Face fills the frame | One peak moment. It loses force if repeated. |
| XCU Extreme close-up | Eyes and mouth | Rare. It exposes lip-sync and face detail. |
| OSL Over the shoulder, left | The speaker, seen past the player’s left shoulder | A line addressed to the player. |
| OSR Over the shoulder, right | The speaker, seen past the player’s right shoulder | Alternating with left in a long exchange. |
| Hold the camera | Camera stays where it is | Keeping the previous framing while someone else speaks. |
Under the dropdown, the editor reminds you what the chosen shot shows and when it earns its place.
Move. How the camera reaches the shot.
| Option | Effect |
|---|---|
| Default move | Whatever the conversation or space is set to. |
| Cut | Instant. The right choice between speakers. |
| Ease (0.5 s) | A short move. |
| Slow move (1.5 s) | A deliberate push in on the same speaker. |
Gaze. Where the speaker looks. Normally leave it on Automatic gaze: the speaker looks at the Conversant, and everyone else looks at the speaker. Getting the node’s Conversant right is the better way to direct gaze.
| Option | Effect |
|---|---|
| Automatic gaze | The default behaviour described above. |
| Look at the camera | An aside to the participant. |
| Look straight ahead | The character faces forward. |
| Hold the head still | No head movement. |
| Back to automatic | Ends an earlier override. |
A gaze override stays in force for that actor until a later line of theirs sets Back to automatic. If you use one for an aside, clear it on the actor’s next line.
Set a shot on several lines at once
Section titled “Set a shot on several lines at once”Select several nodes. The Inspector shows Set camera shot; choosing a shot applies it to all of them.
How a shot is inherited
Section titled “How a shot is inherited”A line with no shot of its own uses the first one it finds, in this order:
- the node,
- the node’s actor,
- the location,
- the conversation,
- the space’s default, MLS.
Over-the-shoulder shots
Section titled “Over-the-shoulder shots”OSL and OSR are built from the player’s avatar towards the speaker, so they need two things: a player avatar in the scene, and a Conversant who is a visible actor and not the speaker. The editor warns you when a node’s Actor and Conversant are the same.
Use them on a bot’s line addressed to the player. Do not use them on the player’s own lines.
Directing well
Section titled “Directing well”- Change the shot when the meaning changes, not on every line.
- Open wide, settle, then go close. Establish with a long or medium long shot, hold a medium or medium close-up for the exchange, and move to a close-up for the line that carries the stakes. Return to the baseline afterwards, so the next close-up still lands.
- Keep the biggest close-ups for one moment per conversation at most.
- Cut between speakers. Save a slow move for a push in on one speaker.
- A player choice frames the player’s avatar while its dialogue is spoken. Leave its shot empty unless the player’s reaction is the point.
Asking the AI to direct
Section titled “Asking the AI to direct”In a LearnBrite project the AI assistant knows these shots and the rules above. Ask it in plain words, for example “make the refusal a close-up” or “set sensible camera shots for this conversation”. It sets a conversation default first and overrides only the lines that need it, and it describes its choices in plain language in the Proposed changes card. As with every AI edit, nothing changes until you apply it. See Controlled AI editing.
Existing projects
Section titled “Existing projects”The controls read and write the same fields LearnBrite scenarios have always used, so a project that already sets shots shows them in the dropdowns. A value the list does not know, such as a custom camera, is kept and shown as Custom.
For reference, the fields are avatar_shot, camera_animationTime (in
seconds) and avatar_lookTarget.
- Expressions, gestures, moods and poses — what the character does inside the frame.