Sous-système principal : KeywordRecognitionSubsystem — MRTK3
Remarque
Pour obtenir des informations générales sur les sous-systèmes dans MRTK3, consultez cette page.
Le package Core Definitions comprend KeywordRecognitionSubsystem
, une implémentation de base de MRTKSubsystem
et IKeywordRecognitionSubsystem
qui sert de base pour les sous-systèmes chargés de la reconnaissance de mots clés/de phrases dans MRTK3. L’implémentation concrète fournie dans le cadre de MRTK, comme WindowsKeywordRecognitionSubsystem
, et tous les autres sous-systèmes de reconnaissance de phrases que vous pouvez créer doivent être basés sur cette classe. Les sous-systèmes qui héritent KeywordRecognitionSubsystem
peuvent fonctionner avec SpeechInteractor
pour déclencher des événements de sélection en StatefulInteractable's
fonction des paramètres des interactions. Les sous-classes héritées autorisent également l’inscription d’un mot UnityAction's
clé de votre choix afin que l’action soit appelée lorsque ce mot est dit.
Pour des informations plus spécifiques, consultez la documentation de l’implémentation KeywordRecognitionSubsystem
concrète.
Programme d’installation
Remarque
Ce guide décrit les étapes pour activer un sous-système vocal dans un nouveau projet MRTK (avec une autre configuration non vocale de base en place). Si vous utilisez notre exemple de projet, vous pouvez noter que certaines étapes ont été effectuées pour vous.
1. Activer le sous-système vocal
Accédez aux paramètres>du projet MRTK3 Sous-systèmes MRTK disponibles, puis activez le sous-système speech que vous souhaitez utiliser.
2. Affecter une ressource de configuration (pour certains sous-systèmes)
Pour certains sous-systèmes, une ressource de configuration est nécessaire pour qu’elle fonctionne normalement.
- Cliquez sur le sous-système que vous avez activé dans la configuration 1.
- Vérifiez qu’un emplacement vide
Configuration Asset
s’affiche sous Subsystem Details à droite. Si c’est le cas, créez une configuration en sélectionnant Assets ->Create MRTK>Subsystems>[name of your sous-système] Config, puis faites glisser la configuration créée sur l’emplacement. - Après avoir vérifié que l’emplacement de configuration est rempli, modifiez les paramètres dans la configuration nouvellement créée pour votre projet spécifique. N’oubliez pas d’enregistrer le projet quand vous avez terminé.
3. Vérifiez que le GameObject MRTK Speech est actif (nécessaire pour que les StatefulInteractable
s, par exemple, des boutons, répondent à des phrases)
Vérifiez que MRTK XR Rig -> MRTK Speech est actif et que le ou les scripts attachés sont activés.
4. Vérifiez que les fonctionnalités appropriées sont définies dans les Paramètres du joueur
Différentes implémentations de KeywordRecognitionSubsystem
ont différentes fonctionnalités requises. Pour plus d’informations, consultez la documentation du sous-système que vous voulez utiliser.
Par exemple, pour utiliser WindowsKeywordRecognitionSubsystem
sur une plateforme UWP, accédez à Project Settings>Player>Publishing Settings>Capabilities et vérifiez que la fonctionnalité Microphone est définie.
5. Exécution de la scène sur un appareil/dans un éditeur
Le projet doit maintenant être prêt pour exécution sur un appareil ou dans un éditeur.
Utilisation de KeywordRecognitionSubsystem
Utilisation de KeywordRecognitionSubsystem avec StatefulInteractable
s (par exemple, boutons)
Le moyen le plus simple d’utiliser KeywordRecognitionSubsystem
consiste à l’utiliser avec des StatefulInteractable
s. Si l’étape 3 de la section de configuration est effectuée, le SpeechInteractor
déclenche des événements de sélection sur des StatefulInteractable
s quand les conditions spécifiées sur ces interactables sont remplies (par exemple, une phrase spécifiée est entendue et l’interactable est pointé du regard). Pour connaître les paramètres configurables, consultez l’inspecteur de StatefulInteractable
et SpeechInteractor
(MRTK XR Rig -> MRTK Speech).
Utilisation manuelle de KeywordRecognitionSubsystem
Une autre façon d’utiliser KeywordRecognitionSubsystem
consiste à inscrire manuellement le mot clé et le UnityAction
mot clé que vous souhaitez voir appelé lorsque le mot clé est entendu avec le sous-système.
// Get the first running phrase recognition subsystem.
var keywordRecognitionSubsystem = XRSubsystemHelpers.GetFirstRunningSubsystem<KeywordRecognitionSubsystem>();
// If we found one...
if (keywordRecognitionSubsystem != null)
{
// Register a keyword and its associated action with the subsystem
keywordRecognitionSubsystem.CreateOrGetEventForKeyword("your keyword").AddListener(() => Debug.Log("Keyword recognized"));
}