Aracılığıyla paylaş


Ç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.

  1. Kurulum 1'de etkinleştirdiğiniz alt sisteme tıklayın.
  2. 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.>
  3. 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 StatefulInteractablegereklidir)

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 StatefulInteractableKeywordRecognitionSubsystem kullanma (örneğin, düğmeler)

Kullanmanın KeywordRecognitionSubsystem en kolay yolu s ile StatefulInteractablekullanmaktır. Kurulum bölümünün altındaki 3. Adım gerçekleştirilirse, SpeechInteractor bu tür etkileşim kurulabilir öğelerde StatefulInteractablebelirtilen 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"));
}