Ay Modülü

Ay modülü

Not

Bu makalede, karma gerçeklik uygulaması geliştirmeyle ilgili öğrendiklerimizi ve önerilerimizi paylaştığımız Karma Gerçeklik Tasarım Laboratuvarları'nda oluşturduğumuz keşif örneği ele alınmaktadır. Tasarımla ilgili makalelerimiz ve kodumuz yeni keşifler yaptıkkçe gelişecek.

Not

Bu örnek uygulama HoloLens 1. nesil için tasarlanmıştır.

Ay Modülü, Microsoft'un Karma Gerçeklik Tasarım Laboratuvarları'ndan bir açık kaynak örnek uygulamasıdır. İki elle izleme ve Xbox oyun kumandası girişi ile HoloLens'in temel hareketlerini genişletmeyi, yüzey haritalaması ve düzlem bulma için reaktif nesneler oluşturmayı ve basit menü sistemlerini uygulamayı öğrenin. Projenin tüm bileşenleri kendi karma gerçeklik uygulama deneyimlerinizde kullanılabilir.

Tanıtım videosu

Karma Gerçeklik Yakalama kullanılarak HoloLens 2 ile kaydedilir

Windows Mixed Reality için klasik deneyimleri yeniden düşünme

Atmosferin yukarısında, Apollo modülünü anımsatacak küçük bir gemi aşağıdaki düzensiz araziyi metodolojik olarak yoklar. Korkusuz pilotumuz uygun bir iniş alanı olduğunu gösterir. Iniş çok zorlu ama neyse ki bu yolculuk daha önce birçok kez yapıldı...

Atari'nin 1979 Ay Lander'ından orijinal arayüz
Atari'nin 1979 Ay Lander'ından orijinal arayüz

Lunar Lander , oyuncuların ay arazisinin düz bir noktasına bir ay iniş aracı pilotu yapmaya çalıştığı bir arcade klasik oyunudur. 1970'lerde doğan herkes büyük olasılıkla gözlerini gökyüzünden atlayan bu vektör gemisine yapıştırılmış bir arcade'de saatler geçirmiştir. Bir oyuncu gemisinde iniş alanına doğru gezinirken, arazi giderek daha fazla ayrıntı ortaya çıkarmak için ölçeklendirilir. Başarı, yatay ve dikey hızın güvenli eşiğine iniş anlamına gelir. Puanlar, iniş ve kalan yakıt için harcanan süre için verilir ve iniş alanının boyutuna göre çarpan verilir.

Oyun oynamanın yanı sıra, oyunların arcade dönemi kontrol şemalarında sürekli yenilik getirdi. En basit dört yönlü oyun çubuğu ve düğme yapılandırmalarından (ikonik Pac-Man'de görülür) 90 sn ve 00'ların sonunda görülen son derece özel ve karmaşık şemalara (golf simülatörleri ve ray atıcılarında olduğu gibi). Ay Lander makinesinde kullanılan giriş şeması iki nedenle ilgi çekicidir: curb appeal ve immersion.

Atari'nin Ay Lander'ın arcade konsolu
Atari'nin Ay Lander arcade konsolu

Atari ve diğer birçok oyun şirketi neden girişi yeniden düşünmeye karar vedi?

Arcade'de yürüyen bir çocuk doğal olarak en yeni, en gösterişli makine tarafından merak edilecek. Ama Lunar Lander,kalabalıktan öne çıkan yeni bir giriş mekaniğine sahiptir.

Ay Lander, gemiyi sola ve sağa döndürmek için iki düğme ve geminin ürettiği itme miktarını kontrol etmek için bir itme kolu kullanır. Bu kol, kullanıcılara normal bir oyun çubuğunun sağlayabildiği belirli bir incelik düzeyi sağlar. Ayrıca modern havacılık kokpitleri için ortak bir bileşendir. Atari, Lunar Lander'ın kullanıcıyı aslında bir ay modülünde pilot olarak çalıştıkları hissine sokmasını istedi. Bu kavram dokunsal daldırma olarak bilinir.

Dokunsal daldırma, tekrarlayan eylemlerden gelen duyusal geri bildirimlerin deneyimidir. Bu durumda, gözlerimizin gördüğü ve kulaklarımızın duyduğu kısıtlama kolunu ve rotasyonu ayarlamanın tekrarlayan eylemi, oyuncunun ayın yüzeyine bir gemi iniş eylemine bağlanmasına yardımcı olur. Bu kavram psikolojik "akış" kavramına bağlanabilir. Bir kullanıcının sınama ve ödülün doğru karışımına sahip bir görevde tamamen emildiği veya daha basit bir şekilde ifade ettiği durumlarda, "bölgede" olur.

Muhtemelen, karma gerçeklikteki en belirgin daldırma türü uzamsal daldırmadır. Karma gerçekliğin tüm amacı, bu dijital nesnelerin gerçek dünyada var olduğuna inanmaya kendimizi kandırmaktır. Çevremizdeki hologramları tüm ortamlara ve deneyimlere uzamsal olarak daldırıyoruz. Bu, Aynı Atari'nin Ay Lander'da dokunsal daldırmada yaptığı gibi deneyimlerimizde başka tür bir dalgıca yer verebileceğimiz anlamına gelmez.

Daldırma ile tasarlama

Atari klasiğine güncelleştirilmiş, hacimsel bir devamı için dokunsal immersion'ı nasıl uygulayabiliriz? Giriş şemasını ele almadan önce, üç boyutlu alan için oyun yapısının ele alınması gerekir.

HoloLens'te yüzey eşlemesini görselleştirme
HoloLens'te uzamsal eşlemeyi görselleştirme

Bir kullanıcının çevresinden yararlanarak, ay modülümüze iniş için sonsuz arazi seçeneklerine sahip olduk. Bir kullanıcı, oyunu orijinal başlığa en çok benzdirmek için ortamlarında çeşitli zorluklardan oluşan giriş tuşlarını yönlendirebilir ve yer değiştirebilir.

Kullanıcının giriş şemasını öğrenmesini, gemiyi denetlemesini ve inmek için küçük bir hedefe sahip olmasını istemek çok şey ister. Başarılı bir oyun deneyimi, sınama ve ödülün doğru karışımını içerir. Kullanıcı bir zorluk düzeyi seçebilir ve en kolay mod, kullanıcının HoloLens tarafından taranan bir yüzeye kullanıcı tanımlı bir alana başarılı bir şekilde inmeyi zorunlu kılabilir. Bir kullanıcı oyunun asıldıktan sonra, daha sonra zorluğunu uygun gördüğü şekilde artırabilir.

El hareketleri için giriş ekleme

HoloLens temel girişinde yalnızca iki hareket vardır: Air Tap ve Bloom. Kullanıcıların bağlamsal nüansları veya platformun arabirimini hem çok yönlü hem de öğrenmesi kolay hale getiren belirli hareketlerin bir listesini hatırlamaları gerekmez. Sistem yalnızca bu iki hareketi kullanıma sunabilirken, cihaz olarak HoloLens iki eli aynı anda izleyebilir. Ay Lander'a yönelik ode'miz [çevreleyici bir uygulamadır, bu da iki elden yararlanmak için temel hareket kümesini genişletebileceğimiz ve ay modülü gezintisi için kendi dokunsal araçlarımızı ekleyebileceğimiz anlamına gelir.

Orijinal kontrol şemasına baktığımızda itme ve döndürme için çözmemiz gerekiyordu. Uyarı, yeni bağlamda döndürme ek bir eksen ekler (teknik olarak iki, ancak Y ekseni giriş için daha az önemlidir). İki farklı gemi hareketi doğal olarak kendilerini her elle eşlenecek şekilde ödünç verir:

Üç eksende de sabitleyiciyi döndürmek için dokunma ve sürükleme hareketi
Üç eksende de sabitleyiciyi döndürmek için dokunma ve sürükleme hareketi

Itme

Orijinal arcade makinesinin bir değer ölçeğine eşlenen kolu, kaldıraç ne kadar yüksekse, gemiye o kadar fazla itme uygulanmıştır. Burada dikkat edilmesi gereken önemli bir ayrıntı, kullanıcının denetimden elini nasıl çıkarabileceği ve istenen değeri nasıl koruyabileceğidir. Aynı sonucu elde etmek için dokun ve sürükle davranışını etkili bir şekilde kullanabiliriz. İtme değeri sıfırdan başlar. Kullanıcı, değeri artırmak için dokunup sürükler. Bu noktada bakım yapmaya devam edebilirlerdi. Herhangi bir dokun ve sürükle hareketi değer değişikliği, özgün değerdeki delta olacaktır.

Döndürme

Bu biraz daha karmaşık. Dokunmak için holografik "döndür" düğmelerine sahip olmak korkunç bir deneyim sağlar. Yararlanılması gereken fiziksel bir denetim yoktur, bu nedenle davranış, inişçiyi temsil eden bir nesnenin manipülasyonundan veya karadakinin kendisiyle birlikte gelmelidir. Dokun ve sürükle yöntemini kullanarak bir yöntem bulduk. Bu yöntem, kullanıcının bunu karşı karşıya getirmek istediği yönde etkili bir şekilde "itip çekmesini" sağlar. Bir kullanıcı her dokunduğunda ve tuttuğunda, hareketin başlatıldığı boşluk noktası döndürmenin kaynağı olur. Kaynaktan sürüklemek, elin çevirisinin deltasını (X,Y,Z) dönüştürür ve bu deltayı, alan sahibinin döndürme değerlerinin deltasına uygular. Ya da daha basit bir şekilde, boşluklarda sola <,> sağa, yukarı <-> aşağı, ileriye <> doğru sürüklemek, gemiyi buna göre döndürür.

HoloLens iki eli izleyebildiğinden, itme sol tarafından kontrol edilirken döndürme sağ ele atanabilir. Finesse bu oyunda başarı için itici faktördür. Bu etkileşimlerin hissi mutlak en yüksek önceliktir. Özellikle dokunsal daldırma bağlamında. Çok hızlı tepki veren bir geminin yönlendirilmesi zor olurken, çok yavaş bir gemi kullanıcının garip bir şekilde uzun bir süre boyunca gemide "itip çekmesini" gerektirebilir.

Oyun denetleyicileri için giriş ekleme

HoloLens'te el hareketleri ince ayrıntılı kontrol için yeni bir yöntem sağlarken, analog denetimlerden elde ettiğiniz 'doğru' dokunsal geri bildirimde hala belirli bir eksiklik vardır. Bir Xbox oyun kumandasını bağlamak, hassas kontrolü korumak için kontrol çubuklarından yararlanırken bu fiziksellik duygusunu geri getirmemizi sağlar.

Görece düz denetim düzenini Xbox oyun kumandasına uygulamanın birden çok yolu vardır. Mümkün olduğunca orijinal arcade kurulumunun yakınında kalmaya çalıştığımızdan , İtme en iyi tetikleyici düğmesine eşler. Bu düğmeler analog kontrollerdir, yani basit ve kapalı durumlardan daha fazlasına sahiptirler, aslında üzerlerine konan basınç derecesine yanıt verir. Bu bize itme koluna benzer bir yapı sağlar. Orijinal oyunun ve el hareketinin aksine, bu kontrol kullanıcı tetikleyiciye baskıyı durdurduğunda geminin itişini kesecektir. Yine de kullanıcıya orijinal arcade oyunuyla aynı incelik derecesini verir.

Sol kontrol çubuğu Yaw ve Roll ile eşlendi, Sağ kontrol çubuğu Pitch and Roll ile eşlendi
Sol kontrol çubuğu yaw ve roll ile eşlenir; sağ kontrol çubuğu ses perdesi ve rulo ile eşlendi

Çift kontrol çubukları doğal olarak kendilerini gemi rotasyonunu kontrol etmeye ödünç verir. Ne yazık ki, geminin dönebileceği üç eksen ve her ikisi de iki ekseni destekleyen iki kontrol çubuğu vardır. Bu uyuşmazlık, bir kontrol çubuğunun bir ekseni kontrol eder; veya kontrol çubukları için eksenlerin çakışması vardır. Eski çözüm, el çubuklarının yerel X ve Y değerlerini doğal olarak harmanlamalarından dolayı "bozuk" hissetti. İkinci çözüm, hangi yedekli eksenlerin en doğal olduğunu bulmak için bazı testler gerektiriyor. Son örnekte sol kontrol çubuğu için yaw ve roll (Y ve X eksenleri) ve sağ parmak çubuğu için pitch and roll (Z ve X eksenleri) kullanılır. Bu, rulonunyaw ve pitch ile iyi bir şekilde eşleştirilmiş gibi göründüğünden en doğalı hissettim. Yan not olarak, rulo için her iki kontrol çubuğunun kullanılması da döndürme değerinin iki katına çıkar; Karadakilerin döngülerini yapmak oldukça eğlenceli.

Bu örnek uygulama, uzamsal tanıma ve dokunsal daldırmayı Windows Mixed Reality genişletilebilir giriş yöntemleri sayesinde bir deneyimi önemli ölçüde nasıl değiştirebileceğini gösterir. Ay Lander 40 yaşına yaklaşmış olsa da, bu küçük sekizgen bacaklı ile ortaya konulan kavramlar sonsuza kadar yaşayacaktır. Geleceği hayal ederken neden geçmişe bakmıyor?

Teknik ayrıntılar

Ay Modülü örnek uygulamasına yönelik betikleri ve önkoşulları Karma Gerçeklik Tasarım Laboratuvarları GitHub'da bulabilirsiniz.

Yazar hakkında

Addison Linville resmi Addison Linville
UX Tasarım Aracı @Microsoft

Ayrıca bkz.