Personnages intangibles¶
Un personnage intangible est un personnage sans corps dans le niveau — une voix au téléphone, un narrateur, un interphone, une entité désincarnée. Il prend part à un Dialogue et peut se voir attribuer des répliques, mais comme il n'apparaît jamais à l'écran, il n'a besoin de rien de plus qu'un nom et une voix : ni mesh, ni instance de niveau, ni emplacement de mise en scène.
Libretto fournit une classe de base toute prête pour exactement ce cas de figure, si bien que vous
n'avez que rarement à implémenter l'interface
LBRDialogueCharacter à la main.
En créer un¶
Dérivez votre classe de personnage de ULBRIntangibleCharacter. Il s'agit d'un UObject
BlueprintType et Blueprintable : vous pouvez donc en créer un Blueprint directement dans le
Content Browser — sans C++.

Comme il dérive de UObject (et non d'AActor), un personnage intangible n'a aucune présence dans
le monde. Lorsqu'un Dialogue en a besoin, Libretto utilise simplement l'objet par défaut de la classe
(class default object) comme instance — il n'y a rien à placer ni à faire apparaître.
Le configurer¶
Tout ce dont vous avez besoin se trouve dans les valeurs par défaut de la classe. Deux propriétés comptent :
| Property | Type | Rôle |
|---|---|---|
CharacterName |
FText |
Le nom d'affichage montré dans l'éditeur et, le cas échéant, en jeu (sous-titres). Utilisez du texte localisé — il peut être présenté aux joueurs. |
CharacterGender |
ELBRCharacterGender (Male / Female) |
Alimente la sélection de voix TTS lors de la génération audio pour ce personnage. |

C'est là toute la configuration. La classe de base raccorde déjà ces valeurs à l'interface : elle
renvoie CharacterName depuis LBRGetCharacterName et CharacterGender depuis
LBRGetCharacterGender.
Tip
Le genre ne détermine que la voix TTS choisie à la génération. Si vous ne générez jamais d'audio de synthèse pour ce personnage, vous pouvez le laisser à sa valeur par défaut.
Également disponible — rôles de mise en scène
ULBRIntangibleCharacter expose aussi une propriété StageRoles (un GameplayTagContainer,
présentée via GetStageRoles). Elle est facultative et vide par défaut ; vous n'en avez besoin
que si vous associez les personnages aux emplacements de scène par rôle. Pour une pure
voix/narration, laissez-la vide.
En quoi il diffère d'un personnage ordinaire¶
Un personnage doté d'un corps dérive généralement d'une base telle que
ALBRSimpleDialogueCharacter et fournit des composants de mesh (LBRGetBodyComponent,
LBRGetHeadComponent) utilisés pour lier les pistes d'animation, de lip-sync et de caméra à la
génération. Un personnage intangible n'en fournit délibérément aucun, si bien que ces pistes sont
ignorées pour lui — seuls son audio parlé et ses sous-titres sont produits.