MRTK'de gözle desteklenen gezinti — MRTK2
Bir sayfa üzerindeki bilgileri okuduğunuzda ve görüntülenen metnin sonuna ulaştığınızda, metin otomatik olarak yukarı kaydırılarak daha fazla içerik görüntülendiğini düşünün. Alternatif olarak, baktığınız yeri akıcı bir şekilde yakınlaştırabilirsiniz. Harita ayrıca, ilgilendiğiniz şeyleri görünüm alanınızda tutmak için içeriği otomatik olarak ayarlar. Başka bir ilginç uygulama, baktığınız hologram parçalarını otomatik olarak öne getirerek 3B hologramların tutmadan gözlemlenmesidir. Bunlar, bu sayfada gözle desteklenen gezinti bağlamında açıklanan örneklerden bazılarıdır.
Aşağıdaki açıklamalarda , MRTK sahnenizde göz izlemeyi ayarlamayı ve MRTK Unity'dekigöz izleme verilerine erişmenin temellerini zaten bildiğiniz varsayılır.
Aşağıda açıklanan örneklerin tümü (Assets/MRTK/Examples/Demos/EyeTracking/Scenes/EyeTrackingDemo-03-Navigation) sahnesinin EyeTrackingDemo-03-Navigation
bir parçasıdır.
Özet: Metnin otomatik kaydırması, göz bakışı destekli kaydırma ve sanal haritayı yakınlaştırma, eller serbest bakışlı 3B döndürme.
Otomatik kaydırma
Otomatik kaydırma, kullanıcının parmağınızı kaldırmadan metinler arasında kaydırmasını sağlar.
Okumaya devam edin; kullanıcının nereye baktığına bağlı olarak metin otomatik olarak yukarı veya aşağı kaydırılır.
(Assets/MRTK/Examples/Demos/EyeTracking/Scenes) içinde EyeTrackingDemo-03-Navigation
sağlanan örnekten başlayabilirsiniz.
Bu örnekte, yeni metnin esnek bir şekilde yüklenmesine ve biçimlendirebilmesine olanak sağlamak için bir TextMesh bileşeni kullanılır.
Otomatik kaydırmayı etkinleştirmek için metin kutusunun harmanlama bileşenine aşağıdaki iki betik eklemeniz yeterlidir:
ScrollRectTransf
Bir TextMesh veya daha genel olarak bir RectTransform bileşeninde kaydırmak için ScrollRectTransf betiğini kullanabilirsiniz. RectTransform yerine dokuda kaydırmak istiyorsanız ScrollRectTransf yerine ScrollTexture kullanın. Aşağıda, Unity Düzenleyicisi'nde bulunan ScrollRectTransf parametreleri daha ayrıntılı olarak açıklanmıştır:
Parametreler | Description |
---|---|
LimitPanning | Etkinleştirilirse, kaydırılabilir içeriği sınırında durdurur. |
RectTransfToNavigate | Kaydırmak için RectTransform başvurusu. |
RefToViewport | Doğru uzaklığı ve sınırı belirlemek için kaydırılabilir içeriğin üst RectTransform öğesine başvuru. |
AutoGazeScrollIsActive | Etkinleştirilirse, kullanıcı etkin bir bölgeye bakarsa metin otomatik olarak kaydırılır (örneğin, dikey kaydırma hızı sıfır değilse kaydırma panelinizin üst ve alt kısmı). |
ScrollSpeed_x | Eşit olmayan bir değere sıfır olarak ayarlanırsa yatay kaydırma etkinleştirilir. Negatif değerler kaydırma yönünde bir değişiklik anlamına gelir: Soldan sağa ve sağdan sola. |
ScrollSpeed_y | Sıfıra eşit olmayan bir değere ayarlanırsa dikey kaydırma etkinleştirilir. Negatif değerler kaydırma yönünde bir değişiklik anlamına gelir: Yukarı aşağı ve aşağı yukarı. |
MinDistFromCenterForAutoScroll | Kaydırmak için hedefin isabet kutusunun (0, 0) ortasından x ve y olarak normalleştirilmiş minimum uzaklık. Bu nedenle, değerler 0 (her zaman kaydırma) ile 0,5 (kaydırma yok) arasında olmalıdır. |
UseSkimProofing | Etkinleştirilirse, hızla etrafa bakarken ani kaydırma hareketlerini önler. Bu, kaydırmanın daha az hızlı yanıt vermesini sağlayabilir. SkimProofUpdateSpeed değeriyle ayarlanabilir. |
SkimProofUpdateSpeed | Değer ne kadar düşük olursa kaydırma işlemi kayma sonrasında o kadar yavaş olur. Önerilen değer: 5. |
EyeTrackingTarget
EyeTrackingTarget bileşeninin eklenmesi, gözle ilgili olayları esnek bir şekilde işlemenizi sağlar. Kaydırma örneği, kullanıcı panele baktığında başlayan ve kullanıcı panelden uzak durduğunda durdurulan kaydırma metnini gösterir.
Bakış destekli kaydırma ve yakınlaştırma
Daha önce evlerini aramak veya tamamen yeni yerleri keşfetmek için sanal harita kullanmamış olan var mı? Göz izleme, ilgilendiğiniz bölümleri doğrudan incelemenize olanak tanır ve yakınlaştırdıktan sonra, mahallenizi keşfetmek için bir caddenin rotasını sorunsuz bir şekilde izleyebilirsiniz! Bu yalnızca coğrafi haritaları keşfetmek için değil, fotoğraflardaki, veri görselleştirmelerindeki ve hatta canlı akışlı tıbbi görüntülerdeki ayrıntıları kontrol etmek için de yararlıdır. Bu özelliği uygulamanızda kullanmak kolaydır! Dokuya işlenen içerik (örneğin, fotoğraf, akış verileri) için PanZoomTexture betiğini eklemeniz yeterlidir. RectTransform için PanZoomRectTransf kullanın. Otomatik Kaydırma özelliğini genişleterek, temelde hem dikey hem de yatay olarak aynı anda kaydırmayı ve içeriği kullanıcının geçerli odak noktasının çevresinde büyütmeyi sağlarız.
Parametreler | Description |
---|---|
LimitPanning | Etkinleştirilirse, kaydırılabilir içeriği sınırında durdurur. |
HandZoomEnabledOnStartup | Yakınlaştırma hareketi gerçekleştirmek için el hareketlerinin otomatik olarak etkinleştirilip etkinleştirilmediğini gösterir. Yakınlaştırma eylemlerini yanlışlıkla tetiklememek için önce devre dışı bırakmak isteyebilirsiniz. |
RendererOfTextureToBeNavigated | Gezinilecek doku için başvuruda bulunılan işleyici. |
Zoom_Acceleration | Lojistik hızlı işlev eşlemesinin dikliğini tanımlayan yakınlaştırma hızlandırma. |
Zoom_SpeedMax | Maksimum yakınlaştırma hızı. |
Zoom_MinScale | Yakınlaştırmak için en düşük doku ölçeği : örneğin, 0,5f (özgün boyutun yarısı). |
Zoom_MaxScale | Uzaklaştırmak için dokunun maksimum ölçeği : örneğin, 1f (özgün boyut) veya 2,0f (özgün boyutun iki katı). |
Zoom_TimeInSecToZoom | Zamanlanmış yakınlaştırma: Tetiklendiğinde, saniyeler içinde belirli bir süre boyunca yakınlaştırma/uzaklaştırma gerçekleştirilir. |
Zoom_Gesture | Yakınlaştırmak/uzaklaştırmak için kullanılacak el hareketi türü. |
--- | --- |
Pan_AutoScrollIsActive | Etkinleştirilirse, kullanıcı etkin bir bölgeye bakarsa metin otomatik olarak kaydırılır (örneğin, dikey kaydırma hızı sıfır değilse kaydırma panelinizin üst ve alt kısmı). |
Pan_Speed_x | Eşit olmayan bir değere sıfır olarak ayarlanırsa yatay kaydırma etkinleştirilir. Negatif değerler kaydırma yönünde bir değişiklik anlamına gelir: Soldan sağa ve sağdan sola. |
Pan_Speed_y | Sıfıra eşit olmayan bir değere ayarlanırsa dikey kaydırma etkinleştirilir. Negatif değerler kaydırma yönünde bir değişiklik anlamına gelir: Yukarı aşağı ve aşağı yukarı. |
Pan_MinDistFromCenter | Kaydırmak için hedefin isabet kutusunun (0, 0) ortasından x ve y olarak normalleştirilmiş minimum uzaklık. Bu nedenle, değerler 0 (her zaman kaydırma) ile 0,5 (kaydırma yok) arasında olmalıdır. |
UseSkimProofing | Etkinleştirilirse, hızla etrafa bakarken ani kaydırma hareketlerini önler. Bu, kaydırmanın daha az hızlı yanıt vermesini sağlayabilir. SkimProofUpdateSpeed değeriyle ayarlanabilir. |
SkimProofUpdateSpeed | Değer ne kadar düşük olursa kaydırma işlemi kayma sonrasında o kadar yavaş olur. Önerilen değer: 5. |
Dikkat tabanlı 3B döndürme
Bir 3B nesneye baktığınızı ve görmek istediğiniz parçaların size daha yakından baktığını düşünün; sanki sistem zihninizi okuyacak ve öğeyi size doğru çevirecekmiş gibi! Bu, parmağınızı kaldırmadan hologramın her tarafını araştırmanızı sağlayan dikkate dayalı 3B döndürmeler için bir fikirdir. Bu davranışı etkinleştirmek için, Bir Harmanlama bileşeniyle GameObject'inizin bölümüne OnLookAtRotateByEyeGaze betiğini eklemeniz yeterlidir. Hologramın ne kadar hızlı ve hangi yönde dönüşeceğini sınırlamak için aşağıda listelenen çeşitli parametreleri değiştirebilirsiniz.
Tahmin edebileceğiniz gibi, bu davranışın her zaman etkin olması, kalabalık bir sahnede hızla dikkatinizi dağıtabilir.
Bu nedenle bu davranış devre dışı bırakılarak başlamak ve ardından sesli komutları kullanarak hızlı bir şekilde etkinleştirmek isteyebilirsiniz.
Alternatif olarak, targetMoveToCamera'yı kullanmak için (Assets/MRTK/Examples/Demos/EyeTracking/Scenes) içinde odaklanmış bir hedef seçebileceğiniz ve önünüzde uçacak bir örnek EyeTrackingDemo-03-Navigation
ekledik. Yalnızca "Bana gel" deyin.
Yakın moda geçtikten sonra otomatik döndürme modu otomatik olarak etkinleştirilir. Bu modda, tüm taraflardan sadece geriye yaslanarak ve ona bakarak, etrafında yürüyerek veya elinizle alıp döndürmek için uzanarak gözlemleyebilirsiniz. Hedefi kapattığınızda (& sıkıştırdığınızda veya "Geri gönder" dediğinizde), özgün konumuna döner ve size uzaktan tepki vermemeye başlayacaktır.
Parametreler | Description |
---|---|
SpeedX | Yatay döndürme hızı. |
Hızlı | Dikey döndürme hızı. |
InverseX | Yatay döndürme yönünü ters döndürmek için. |
Ters | Dikey döndürme yönünü ters döndürmek için. |
RotationThreshInDegrees | 'Hedefe Bakış' ile 'Kameradan Hedefe' arasındaki açı bu değerden küçükse hiçbir şey yapma. Bu, küçük titreşimli döndürmeleri önlemek için... |
MinRotX | En düşük yatay döndürme açısı. Bu, döndürmeyi farklı yönlerde sınırlamaktır. |
MaxRotX | Maksimum yatay dönüş açısı. Bu, döndürmeyi farklı yönlerde sınırlamaktır. |
MinRoty | X ekseni çevresinde döndürmeyi sınırlamak için minimum dikey döndürme açısı. |
MaxRoty | Y ekseni çevresinde döndürmeyi sınırlamak için maksimum dikey döndürme açısı. |
Özetle, yukarıdaki betikler metinleri kaydırma, dokuları yakınlaştırma ve kaydırmanın yanı sıra 3B hologramları inceleme gibi çeşitli giriş gezinti görevleri için göz bakışı kullanmaya başlamanızı sağlamalıdır.