XR_ANDROID_mouse_interaction OpenXR uzantısı

Ad dizesi

XR_ANDROID_mouse_interaction

Uzantı Türü

Örnek uzatma

Kayıtlı Uzatma Numarası

705

Düzeltme

1

Uzantı ve Sürüm Bağımlılıkları

OpenXR 1.0

Son Değiştirilme Tarihi

2024-09-06

IP Durumu

Bilinen IP hak talepleri yok.

Katkıda bulunanlar

Sharayu Shenoy, Google

Chiara Coetzee, Google

Levana Chen, Google

Spencer Quin, Google

Genel Bakış

Bu uzantı, fare girişi almak için bir XrPath sağlar ve hem fare cihazları hem de izleme paneli cihazları dahil olmak üzere kullanıcı fare profilleri için yaygın olarak kullanılan bir işlem duruşu tanımlar.

Bu uzantı, fare cihazlarının OpenXR işlem sistemi üzerinden giriş yapması için özel olarak tasarlanmış yeni bir etkileşim profili de sunar.

Fare etkileşimleri için hareket pozu

Aşağıdaki hareket pozu ("nişan al"), izleme girişleri bir fare cihazı veya dokunmatik yüzey cihazı tarafından sağlanıp sağlanmadığına bakılmaksızın 3D işaretçi ışını etkinleştirir.

…/input/aim/pose işlem alt yolu, uzantılar aracılığıyla etkinleştirilenler de dahil olmak üzere /user/mouse kullanıcı yolu için geçerli olan tüm etkileşim profillerinde desteklenir.

Nişan pozu

…/input/aim/pose, 3D alanda fare işaretçisi aracılığıyla nesnelerle etkileşim kurmak için tasarlanmıştır. Örneğin, duvardaki sanal bir düğmeyi hedeflemek için sanal lazer işaretçi kullanmak "hedefleme" pozuna uygun bir etkileşimdir.

Bu, Standart poz tanımlayıcıları bölümünde tanımlanan "hedefleme" pozuyla aynıdır. İzlenen her kontrolör profili bu pozu zaten destekler.

Örnek nişan duruşu

Konum

"Nişan alma" pozunun konumu genellikle kullanıcının kafasıdır. Yani, fare hareketi algılandığında kafanın aynı konumudur. Fare hareketi olduğunda farenin nişan duruşu hesaplanır. Bilinen son nişanlanma konumu, sonraki fare hareketine kadar korunur.

Sayfa yönü

"Nişan alma" pozunun yönü, sanal bir nesneyle etkileşim kurmak için (ör. duvardaki bir menü düğmesini tıklamak) 3D işaretçi ışını oluşturmak amacıyla kullanılabilir.

Fare hareketi olduğunda farenin nişan duruşu hesaplanır. Bilinen son nişanlanma yönü, bir sonraki fare hareketine kadar korunur.

-Z yönü, nişan alma hareketinin ileri yönü yani nişan alma ışınının gösterdiği yerdir.

Farenin X, Y göreli hareketi, farenin kullanıcının başının etrafındaki bir küre boyunca göreli hareketini hesaplamak için kullanılır.

Örnek nişan duruşu

Derinlik hareketi, birincil tıklama ve kaydırma kullanılarak desteklenir. Derinlikte hareket etme işlemi devam ederken konum, pozitif veya negatif kaydırma değerine bağlı olarak ışın boyunca pozitif veya negatif Z yönünde kafa konumundan kaydırılır. Sistem, kullanıcının kafasının etrafındaki küre içindeki derinlik hareketini dengeler.

Fare cihazları için etkileşim profili

Fare etkileşim profili, fare cihazları veya düğme ve kaydırma çubuğu bulunan dokunmatik yüzey cihazları kullanarak fare girişleri sağlayan çalışma zamanları için tasarlanmıştır. Bu sayede fare cihazları ve dokunmatik yüzey cihazları, OpenXR işlem sistemine sık kullanılan tıklamaları, kaydırma işlemlerini ve işlem duruşunu sağlayabilir.

Etkileşim profili yolu:

  • /interaction_profiles/android/mouse_interaction

Üst düzey kullanıcı yolu için geçerlidir:

  • /kullanıcı/fare

Desteklenen bileşen yolları:

  • …/input/aim/pose
  • …/input/select/click
  • …/input/secondary/click
  • …/input/tertiary/click
  • …/input/scroll/value

Bu etkileşim profili, bu bölümde açıklanan hareket pozunu ve aşağıdaki iki hareket girişi grubunu destekler.

Tıklama işlemi

Bu etkileşim profili …/input/select/click, …/input/secondary/click ve /input/tertiary/click işlemlerini destekler.

…/input/select/click, fare veya dokunmatik yüzeydeki birincil düğmeye basıldığını belirten XR_TRUE değerinin yer aldığı bir boole girişidir.

…/input/secondary/click, fare veya dokunmatik yüzeydeki ikincil düğmeye basıldığını belirten XR_TRUE değerinin yer aldığı bir boole girişidir.

…/input/üçüncül/tıklama, XR_TRUE değerinin fare kaydırma düğmesine veya üçüncül düğmeye basıldığını belirttiği bir boole girişidir.

Kaydırma işlemi

Bu etkileşim profili, …/input/scroll/value işlemlerini destekler.

…/input/scroll/value, aşağı ve yukarı kaydırmayı eşlemek için -1 ile 1 arasında değişen bir 2D giriş bileşenidir.

Yeni Nesne Türleri

Yeni İşaret Türleri

Yeni Enum Constants

Yeni Sıralamalar

Yeni Yapılar

Yeni İşlevler

Sorunlar

Sürüm Geçmişi

  • Düzeltme 1, 29.08.2024 (Levana Chen)
    • İlk uzantı açıklaması