Çekirdek Alt Sistemi: KeywordRecognitionSubsystem — MRTK3
Not
MRTK3'teki alt sistemler hakkında genel bilgi için buraya bakın.
Çekirdek Tanımları paketi, MRTK3'te anahtar sözcük/tümcecik tanımadan sorumlu alt sistemlerin temeli olarak hizmet veren ve temel uygulaması MRTKSubsystem
IKeywordRecognitionSubsystem
olarak kullanıma sunarKeywordRecognitionSubsystem
. MRTK'nin bir parçası olarak WindowsKeywordRecognitionSubsystem
gönderilen somut uygulama ve oluşturabileceğiniz diğer olası tümcecik tanıma alt sistemleri bu sınıfı temel almalıdır. öğesini KeywordRecognitionSubsystem
devralan alt sistemler, etkileşim kurulabilenlerin ayarlarına göre belirli olayları StatefulInteractable's
tetikleme amacıyla birlikte SpeechInteractor
çalışabilir. Devralınan alt sınıflar, istediğiniz bir anahtar sözcük için rastgele UnityAction's
kayıt yapılmasına da izin verir, böylece söz konusu sözcük belirtildiğinde eylem çağrılır.
Daha ayrıntılı bilgi için kullanmak istediğiniz somut KeywordRecognitionSubsystem
uygulamanın belgelerine bakın.
Ayarlama
Not
Bu kılavuz, yeni bir MRTK projesinde konuşma alt sistemini etkinleştirme adımlarını sağlar (diğer temel konuşmayla ilgili olmayan kurulum da vardır). Örnek projemizi kullanıyorsanız sizin için bazı adımların gerçekleştirildiğini fark edebilirsiniz.
1. Konuşma alt sistemini etkinleştirme
Proje Ayarları>MRTK3 Kullanılabilir MRTK Alt Sistemleri'ne gidin ve kullanmak istediğiniz konuşma alt sistemini etkinleştirin.
2. Yapılandırma varlığı atama (belirli alt sistemler için)
Belirli alt sistemler için, normal bir şekilde performans gösterebilmesi için bir yapılandırma varlığı gerekir.
- Kurulum 1'de etkinleştirdiğiniz alt sisteme tıklayın.
- Sağ taraftaki Alt Sistem Ayrıntıları altında boş
Configuration Asset
bir yuva olup olmadığını denetleyin. Öyleyse Varlıklar -MRTK>Alt Sistemleri> Oluştur[alt sisteminizin adı] Yapılandırma'yı seçip oluşturulan yapılandırmayı yuvaya sürükleyerek yeni bir yapılandırma oluşturun.> - Yapılandırma yuvasının doldurulmasını sağladıktan sonra, kendi projeniz için yeni oluşturulan yapılandırmadaki ayarları değiştirin. İşiniz bittiğinde projeyi kaydetmeyi unutmayın.
3. MRTK Speech GameObject'in etkin olduğundan emin olun (örneğin, düğmeler) tümcecikleri yanıtlamak için StatefulInteractable
gereklidir)
MRTK XR Rig -> MRTK Konuşma'nın etkin olduğundan ve ekli betiklerin etkinleştirildiğinden emin olun.
4. Player Ayarları'nda uygun özelliklerin ayarlandığından emin olun
uygulamasının KeywordRecognitionSubsystem
farklı uygulamaları farklı gerekli özelliklere sahiptir. Daha fazla bilgi için, kullanmak istediğiniz alt sistemin belgelerine bakın.
Örneğin UWP Platformu'nda kullanmak WindowsKeywordRecognitionSubsystem
için Proje Ayarları>Oynatıcı>Yayımlama Ayarları>Özellikleri'ne gidin ve Mikrofon özelliğinin ayarlandığından emin olun.
5. Sahneyi cihazda/düzenleyicide çalıştırma
Proje artık cihazda veya düzenleyicide çalışmaya hazır olmalıdır.
KeywordRecognitionSubsystem Kullanma
s ile StatefulInteractable
KeywordRecognitionSubsystem kullanma (örneğin, düğmeler)
Kullanmanın KeywordRecognitionSubsystem
en kolay yolu s ile StatefulInteractable
kullanmaktır. Kurulum bölümünün altındaki 3. Adım gerçekleştirilirse, SpeechInteractor
bu tür etkileşim kurulabilir öğelerde StatefulInteractable
belirtilen koşullar karşılandığında (örneğin, belirtilen bir tümcecik duyulur ve etkileşime geçilebilir öğeye göz atılır) s'de seçme olayları tetiklenir. Yapılandırılabilir ayarlar için ve SpeechInteractor
(MRTK XR Rig -> MRTK Konuşma) denetçisine StatefulInteractable
bakın.
KeywordRecognitionSubsystem'ı el ile kullanma
Kullanmanın KeywordRecognitionSubsystem
alternatif bir yolu, anahtar sözcüğü el ile kaydetmektir ve UnityAction
anahtar sözcük alt sistemle duyulduğunda çağrılmasını görmek istersiniz.
// 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"));
}