Çekirdek sistem — MRTK2
Giriş sisteminin merkezinde, MRTK ile ilişkili girişle ilgili tüm işlevlerin başlatılmasından ve çalıştırılmasından sorumlu olan bir hizmet olan InputSystem yer alır.
Not
Okuyucuların terminoloji bölümünü zaten okuduğu ve temel bir anlayışa sahip olduğu varsayılır.
Bu hizmet aşağıdakilerin sorumluluğundadır:
- Giriş sistemi profilini okuma
- Yapılandırılan veri sağlayıcılarını başlatma (örneğin,
Windows Mixed Reality Device Manager
veOpenVR Device Manager
). - HoloLens (1. nesil) tarzı göz bakışı bilgilerinin yanı sıra HoloLens 2 stil göz bakışı bilgileri sağlamakla sorumlu bir bileşen olan GazeProvider'ın örneklenmesi.
- Odağı olan nesneleri belirlemekle sorumlu olan bir bileşen olan FocusProvider örneği. Bu, belgelerin işaretçiler ve odak bölümünde daha ayrıntılı olarak açıklanmıştır.
- Tüm giriş olayları için kayıt noktaları sağlama ( genel dinleyiciler olarak).
- Bu giriş olayları için olay dağıtma özellikleri sağlama.
Giriş olayları
Giriş olayları genellikle iki farklı kanalda tetiklenir:
Odaktaki nesneler
Olaylar doğrudan odağı olan bir GameObject'e gönderilebilir. Örneğin, bir nesnenin uygulayan IMixedRealityTouchHandler
bir betiği olabilir.
Bu nesne, yakınındaki bir el tarafından odaklandığında dokunma olaylarını alır. Bu tür olaylar, olayı işleyebilen bir GameObject bulana kadar GameObject hiyerarşisinde "yukarı" gider.
Bu, varsayılan giriş sistemi uygulamasından ExecuteHierarchy kullanılarak yapılır.
Genel dinleyiciler
Olaylar genel dinleyicilere gönderilebilir. Giriş sisteminin arabirimini kullanarak tüm giriş olaylarına kaydolmak IMixedRealityEventSystem
mümkündür. Genel olaylara kaydolmak için RegisterHandler yönteminin kullanılması önerilir. Kullanım dışı bırakılan Register
işlev, dinleyicilerin yalnızca belirli bir türdeki giriş olayları (burada türü olay arabirimi tarafından tanımlanır) yerine TÜM giriş olayları hakkında bildirim almasına neden olur.
Geri dönüş dinleyicilerinin, sahnenin başka bir yerinde işlenmemiş her giriş olayını alacakları için önerilmez.
Olay gönderim sırası
Genellikle olaylar dinleyicilere aşağıdaki şekilde gönderilir. Aşağıdaki adımlardan herhangi birinin olayı işlenmiş olarak işaretlemesi durumunda olay dağıtma işleminin durdurulduğunu unutmayın.
- Olay genel dinleyicilere gönderilir.
- Olay, odaklanmış nesnenin kalıcı iletişim kutularına gönderilir.
- Olay odaklanmış nesneye gönderilir.
- Olay geri dönüş dinleyicilerine gönderilir.
Cihaz yöneticileri ve veri sağlayıcıları
Bu varlıklar, alt düzey API'lerle (Windows Mixed Reality API'leri veya OpenVR API'leri gibi) birlikte çalışmaktan ve bu sistemlerden verileri MRTK'nın üst düzey giriş soyutlamalarına uyanlara çevirmekten sorumludur. Denetleyiciler, denetleyicilerin kullanım ömrünü algılamaktan, oluşturmak ve yönetmekle sorumludur.
Cihaz yöneticisinin temel akışı şunları içerir:
- Cihaz yöneticisinin örneği giriş sistemi hizmeti tarafından oluşturulur.
- Cihaz yöneticisi, temel aldığı sisteme kaydolmaktadır (örneğin, Windows Mixed Reality cihaz yöneticisi giriş ve hareket olaylarına kaydolacaktır.
- Temel alınan sistemden keşfettiği denetleyiciler oluşturur (örneğin sağlayıcı, ifade edilmiş ellerin varlığını algılayabilir)
- Update() döngüsünde, temel alınan sistemin yeni durumunu yoklamak ve denetleyici gösterimini güncelleştirmek için UpdateController() öğesini çağırın.