Utilisation détaillée
Cette page présente les éléments du système dans l'ordre habituel de leur utilisation : le point de gestion global, la logique centrale, les speakers, les conversations, puis les données d'affichage et les entrées.
1. Game Instance Subsystem
Le Game Instance Subsystem est le point d'accès global d'ADS Dialog System. Il est disponible pendant toute la session de jeu.
Accès
Depuis Blueprint, utilisez la fonction Get Dialog System. Elle renvoie directement la logique de dialogue active : le résultat de Get Dialog Logic (Typed).

Les fonctions
| Fonction | Description |
|---|---|
Get Dialog System | Renvoie la logique de dialogue active, c'est-à-dire le résultat de Get Dialog Logic (Typed). |
La logique Blueprint
Le Subsystem utilise BP_ADS_DialogSystem comme logique centrale. Cette logique Blueprint est créée et conservée par le Subsystem pendant la session de jeu. Elle est séparée du Subsystem afin de pouvoir être plus facilement étendue dans votre projet, sans modifier le fonctionnement central du système.
2. Logique centrale BP_ADS_DialogSystem
La logique centrale est l'espace où vous reliez ADS Dialog System à votre projet. Elle peut être étendue dans Blueprint pour appliquer vos règles de jeu, ouvrir des widgets ou réagir au déroulement d'une conversation.
Les paramètres
| Nom | Description |
|---|---|
Acceptable Distance | Distance utilisée pour considérer qu'un speaker est suffisamment proche lors d'une conversation. |
Auto Next | Valeur par défaut qui active la progression automatique vers la réplique suivante. Elle peut être modifiée au Runtime. |
Seconds Per Word | Durée utilisée pour calculer le passage automatique à la réplique suivante selon le nombre de mots. |
Min Duration | Durée minimale d'affichage d'une réplique, même lorsque son texte est court. |
Dialog Context | Input Mapping Context utilisé pour les commandes de dialogue. |
Travel Context | Input Mapping Context utilisé pour les conversations en mode Travel. |
Camera Presets | Ensemble des préréglages de caméra disponibles pour les répliques. |
Current IETF | Valeur par défaut du code de culture IETF utilisé par le système, par exemple en-US. |
Dynamic Text Data Table | Data Table utilisée pour remplacer les balises de texte dynamique, par exemple {{TownName}}. |
3. Actor Component AC_ADS_Dialog
AC_ADS_Dialog est le component qui relie un Actor de votre jeu au système de dialogue. Ajoutez-le au Blueprint de chaque Actor qui doit être utilisé comme speaker, puis configurez ses données et ses conversations.
Ajouter et brancher le component
Dans le Blueprint du speaker, ajoutez AC_ADS_Dialog depuis le panneau Components. Le component doit rester attaché à l'Actor concerné. Configurez ensuite ses données de speaker et les conversations auxquelles cet Actor peut participer.
Les paramètres
| Nom | Description |
|---|---|
Acceptable Distance | Distance à laquelle l'interaction avec le speaker est considérée comme possible. |
Collision Radius | Rayon utilisé par le component pour sa zone de détection. |
Avatar | Données d'avatar utilisées pour représenter le speaker dans le dialogue. |
Conversations | Liste des conversations associées à ce speaker. |
Les fonctions
| Fonction | Description |
|---|---|
Find Nearest NPC | Recherche le NPC le plus proche pouvant être utilisé par le dialogue. |
Find Conversation | Recherche une conversation associée au speaker. |
Is Conversation Enabled | Indique si une conversation est actuellement activée. |
Hide Widget | Masque le widget de dialogue associé au component. |
4. Speaker Asset PDA_Speakers
PDA_Speakers est l'asset de données utilisé pour définir un speaker. Créez un asset enfant pour chaque speaker de votre projet, par exemple DA_Player pour le joueur ou DA_NPC pour un NPC, puis associez-le au component AC_ADS_Dialog de l'Actor correspondant.
Les paramètres
| Nom | Description |
|---|---|
Speaker Name | Nom affiché pour le speaker dans les dialogues. |
Avatar | Définition visuelle de l'avatar du speaker. |
5. Conversation Asset PDA_ConversationParent
PDA_ConversationParent est l'asset parent de vos conversations. Créez un asset enfant pour chaque conversation de votre projet, puis ajoutez cet asset à la liste Conversations de AC_ADS_Dialog.
La liste Conversations contient les conversations de l'ensemble du jeu, y compris celles qui ne sont pas encore accessibles. Une conversation de fin de jeu peut donc être assignée dès le départ, rester désactivée par défaut, puis être activée au Runtime par un événement du projet ou par une conversation précédente.
Paramètres généraux
| Nom | Description |
|---|---|
Enabled | Définit si la conversation est actuellement disponible. Cette valeur peut être modifiée au Runtime. |
Is Travel Conversation | Définit si la conversation utilise le mode Travel. Lorsqu'il est désactivé, la conversation utilise le mode Classic. |
Lines
Lines contient les répliques de la conversation. Chaque élément correspond à une réplique et possède les paramètres suivants :
| Nom | Description |
|---|---|
Speaker | Speaker Asset qui prononce la réplique. |
Text | Texte de la réplique. Il peut contenir du Rich Text, des icônes, des variables et des portions résolues par fonctions. |
VoiceLine | Map de Voice Lines associées à la réplique. |
BubbleSpeach | Type de bulle de dialogue utilisé pour la réplique. |
BubbleAppear | Apparition utilisée par la bulle de dialogue. |
Camera.ChangeCamera | Définit le changement de caméra appliqué pendant la réplique. |
Camera.CameraPreset | Préréglage de caméra utilisé lorsque la réplique change de caméra. |
Camera.DurationChange | Durée utilisée pour le changement de caméra. |
EventName | Nom de l'événement à déclencher lors de la réplique. Cet Event doit exister dans l'asset de conversation. |
AutoNextDuration | Durée avant le passage automatique à la réplique suivante. |
bForceAutoNext | Force le passage automatique pour cette réplique. |
Choices
Choices contient les choix proposés au joueur.
| Nom | Description |
|---|---|
Text | Texte affiché pour le choix. |
Conversation | Conversation lancée lorsque le joueur valide ce choix. |
Activation des conversations
| Nom | Description |
|---|---|
Deactivate Conversations | Liste des conversations à désactiver lorsque cette conversation se termine. |
Activate Conversations | Liste des conversations à activer lorsque cette conversation se termine. |
6. Texte, bulles et affichage
Les structures et Data Tables du dossier Data permettent de préparer l'affichage des répliques.
Texte dynamique et Rich Text
Les Data Tables du dossier Data/Tables permettent de préparer les textes affichés par les répliques.
Créer un texte dynamique
- Dans
DT_DialogDynamicText, ajoutez une ligne. - Renseignez son
Taget leTextqui doit le remplacer. - Dans le texte d'une réplique, utilisez ce tag entre doubles accolades.

Par exemple, si le Tag est Demo et le Text est Framework, une réplique contenant {{Demo}} sera remplacée par Framework lors de la lecture.
Afficher une valeur par fonction
Resolve Expression est déjà surchargée dans BP_ADS_DialogSystem.
- Ouvrez la fonction
Resolve ExpressiondansBP_ADS_DialogSystem. - Sur le nœud
Switch on String, ajoutez un pin portant le nom de la fonction souhaitée, par exempleUserName. - Développez la logique correspondant à ce pin, puis renvoyez le texte à afficher.
Dans une réplique, appelez ensuite la fonction avec la syntaxe {{=NomDeLaFonction()}}. Par exemple, {{=UserName()}} appelle le pin UserName du Switch on String.
Créer un style Rich Text
- Dans
DT_RichText_Dialog, ajoutez une ligne avec le nom du style souhaité, par exempleyellow. - Configurez ce style dans la Data Table.
Dans le texte d'une réplique, la balise ouvrante utilise le nom de ligne : <RowName>. La balise fermante est toujours </>.
Par exemple, pour la ligne yellow, utilisez <yellow>portion</> : seule portion utilise le style yellow.
Les icônes utilisées dans le texte sont définies dans DT_TextIcon.
UI et Menu
MENU_Dialog, W_DialogAuto, W_DialogButton, W_DialogNPC_Icon et UI_DialogTravel sont les widgets utilisés directement par le système. Modifiez leur apparence pour adapter l'interface à votre projet.
Ne modifiez pas les éléments définis comme variables. Seule la personnalisation de leur apparence est autorisée.
Créer un style de bulle
- Ajoutez le nouveau style dans l'enum
E_BubbleAppear. - Dans
MENU_Dialog, ajoutez le widget correspondant dans leWidgetSwitcher_Bubble. - Éditez l'Event
SetLineet, sur le nœudSwitch on E_BubbleAppear, ajoutez la logique qui affiche ce style.
6. Entrées
Le dossier Inputs contient IMC_Dialog et les Input Actions du système : IA_Dialog_Up, IA_Dialog_Down, IA_Dialog_Validate, IA_Dialog_Skip et IA_Dialog_Auto. Utilisez-les pour relier les commandes du joueur à la navigation dans les choix, à la validation, au skip et à la lecture automatique.