Çekirdek sistem

Giriş sisteminin merkezinde, MRTK ile ilişkili girişle ilgili tüm işlevleri başlatmadan ve çalıştırmadan sorumlu bir hizmet olan InputSystemyer almaktadı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 şunların sorumluluğundadır:

Giriş olayları

Giriş olayları genellikle iki farklı kanalda uyar:

Odakta nesneler

Olaylar odak noktası olan bir GameObject nesnesine doğrudan gönderebilirsiniz. Örneğin, bir nesnenin uygulayan bir betiği IMixedRealityTouchHandler olabilir. Bu nesne, ona yakın bir el tarafından odaklanan dokunma olayları elde eder. Bu tür olaylar, olayı işleyebilecek bir GameObject bulana kadar GameObject hiyerarşisini "yukarıya gider".

Bu, varsayılan giriş sistemi uygulamasından ExecuteHierarchy kullanılarak yapılır.

Genel dinleyiciler

Olaylar genel dinleyicilere gönderilebilecektir. Giriş sisteminin arabirimini kullanarak tüm giriş olaylarını kaydetmek IMixedRealityEventSystem mümkündür. Genel olaylara kaydolmak için RegisterHandler yönteminin kullanılması önerilir. Kullanım dışı olan işlev, dinleyicilerin yalnızca belirli bir türe (tür olay arabirimi tarafından tanımlanan giriş olayları) değil TÜM giriş olayları hakkında bilgi almaya neden olur.

Geri dönüş dinleyicilerinin, sahnenin başka bir yerinde iş almayan her bir giriş olayı alacakları için önerilmez, başka bir genel dinleyici türü olduğunu unutmayın.

Olay gönderme sırası

Genellikle olaylar dinleyicilere aşağıdaki şekilde gönderilir. Aşağıdaki adımlardan herhangi biri olayı işlenmiştir olarak işaretlese,olay gönderme işleminin durduğuna dikkat edin.

  1. Olay genel dinleyicilere gönderilir.
  2. Olay, odaklanmış nesnenin kalıcı iletişim kutularına gönderilir.
  3. Olay odaklanmış nesneye gönderilir.
  4. Olay geri dönüş dinleyicilerine gönderilir.

Cihaz yöneticileri ve veri sağlayıcıları

Bu varlıklar, alt düzey API'ler (Windows Mixed Reality API'leri veya OpenVR API'leri gibi) ile etkileşimde ve bu sistemlerden gelen verileri MRTK'nin üst düzey giriş soyutlamalarına uygun olanlara çeviriden sorumludur. Denetleyicilerin yaşam sürelerini algılamak, oluşturmak ve yönetmek onların sorumluluğundadır.

Cihaz yöneticisinin temel akışı şunları içerir:

  1. Cihaz yöneticisi, giriş sistemi hizmeti tarafından örneklenmiş olur.
  2. Cihaz yöneticisi, temel alınan sistemine kaydolr (örneğin, Windows Mixed Reality ve hareket olayları için cihaz yöneticisi kaydolacak.
  3. Temel alınan sistemden keşfeden denetleyiciler oluşturur (örneğin sağlayıcı, ifadeli ellerin varlığını algılanabilir)
  4. Update() döngüsünde, temel alınan sistemin yeni durumunu yoklamak ve denetleyici gösterimini güncelleştirmek için UpdateController() çağrısında bulunabilirsiniz.