Skip to main content

Camera Service

Description

Orchestrates dialogue camera behaviour during conversations. Manages the enter/exit dialogue camera lifecycle, applies automatic and beat-driven shots, and delegates to the active camera provider for framing.

Shot selection is a rule system and shot application is a provider, so the service itself holds no camera logic -- it decides when a shot is needed and hands the request on. See Camera and Camera Rules.

Interface

Type
IDialogueCameraService

Inherits

Type
N/A

Properties

NameTypeDescription
IsActiveboolTrue while the dialogue camera is in control.

Public Methods

NameParametersReturn TypeDescription
EnterDialogueTransform speaker, Transform listenervoidEnters dialogue camera mode for a two-participant conversation.
EnterDialogueTransform speaker, Transform listener, IReadOnlyList<Transform> additionalParticipantsvoidEnters dialogue camera mode for a group conversation.
ExitDialogueN/AvoidExits dialogue camera mode and restores the previous camera.
ApplyBeatShotCameraDialogueBeat beat, DialoguePresentationContext contextvoidApplies a specific camera beat's shot configuration.
ApplyAutoShotDialoguePresentationContext context, string moodIdvoidSelects and applies a shot automatically using the rule system.
UpdateSpeakerContextTransform speaker, Transform listenervoidUpdates who is speaking without re-entering dialogue, so shots reframe correctly.

Mood reaches the camera as a string moodId rather than a MoodState, and is turned into a shot hint by IMoodCameraHintResolver.