Konu Başlıkları
Yükleniyor...

Hareket Halinde Mobil AR Tasarımı: Neyi Ekrana Koymayacağına Karar Vermek

Mobil AR Deneyimi Tasarımı: Kare Bütçesi, Isınma ve Ortam Işığı

Mobil AR'ın masaüstünden ya da başlıklı VR'dan ayrıldığı yer tek bir cümlede toplanabilir: kullanıcı ayakta, çoğu zaman yürüyor, telefonu tek eliyle tutuyor ve dikkatinin yarısı hâlâ önündeki kaldırımda. Tasarım kararlarının neredeyse tamamı bu cümleden türer. Ekrana koyduğun her katman hem gerçek dünyadan hem de cihazın işlem bütçesinden bir pay alır.

Uzamsal algıyı sıfırdan öğretmeye çalışma

Kullanıcı, nesnelerin uzaktaysa küçük göründüğünü, arkadakinin öndekiyle kısmen örtüldüğünü, gölgenin ışığın tersi yöne düştüğünü zaten biliyor. Mobil AR'da işin bu bilgiyi öğretmek değil, ihlal etmemek.

Pratikte üç şey yeterince sık bozuluyor: sahne ölçeği (masaya koyduğun sandalye gerçek boyutunda görünmüyorsa kullanıcı hemen anlıyor), gölge (nesne zeminde yüzüyor gibi duruyor) ve sürüklenme. Sürüklenme en pahalısı, çünkü ilk ikisi estetik bir rahatsızlık yaratırken sürüklenme güveni bitiriyor: kullanıcı bir kere nesnenin duvarın içine kaydığını gördükten sonra ekrandaki hiçbir konuma güvenmiyor.

Gölgeyi ucuza almak mümkün. Fiziksel doğrulukta bir gölge hesabı yerine nesnenin altına yumuşak kenarlı basit bir leke koy, temas noktasını ver, kalanını göze bırak. Zeminde durduğu hissi büyük ölçüde o temas noktasından geliyor.

Kare bütçesi gerçek bir bütçe

60 fps hedefliyorsan bir karen için 16,7 milisaniyen var. 30 fps'e düşersen 33 ms. Bu sürenin içine kamera görüntüsünün ekrana basılması, tracking'in yeni kareyi işleyip cihazın konumunu güncellemesi ve senin arayüzünün çizilmesi birlikte sığmak zorunda. Üçü aynı bütçeden yiyor.

Sonuç, arayüz kararlarını doğrudan etkiliyor: her karede yeniden hesaplanan bir blur katmanı, ekranın yarısını kaplayan yarı saydam bir panel ya da sahnedeki her nesnenin üstünde duran ayrı bir etiket, tracking'in payını kısıyor. Kısıldığında da düşen şey kare sayısı olmuyor her zaman, konum doğruluğu oluyor. Ekrandaki titremeyi kullanıcı "uygulama kasıyor" diye değil "bu uygulama nereye baktığımı bilmiyor" diye okuyor.

Bir profil çıkarmadan optimize etmeye kalkma. Hangi katmanın kaç milisaniye yediğini ölçmeden yapılan sadeleştirme, çoğu zaman ucuz olanı atıp pahalıyı ekranda bırakmakla sonuçlanır.

Isınma, oturum süresini senin yerine belirliyor

Sürekli açık kamera, sürekli çalışan hareket sensörleri ve sürekli render eden GPU aynı anda çalışıyor. Telefon ısınıyor. Isındıkça işlemci kendini yavaşlatıyor ve kare hızı düşüyor.

Bu yüzden "kullanıcı uygulamada uzun süre kalsın" hedefi mobil AR'da diğer ürünlerdeki anlamını taşımıyor. Cihaz zaten uzun oturuma izin vermiyor. Deneyimi kısa ve tamamlanabilir görevlere böl: nesneyi yerleştir, bak, karar ver, çık. Kullanıcının telefonu havada tutan kolu da aynı yönde baskı yapıyor.

Uzun bir akış tasarlaman gerekiyorsa AR'ı akışın tamamı değil, bir adımı yap. Ürün seçimi, karşılaştırma, ödeme gibi adımlar normal ekranda dururken sadece "bu mobilya buraya sığıyor mu" sorusu kameraya taşınabilir.

Ortam ışığı, kontrastı tek bir yerden yönet

Dış mekânda öğlen güneşinde ekranda gördüğün beyaz metin, kapalı ortamda test ederken gördüğünle aynı değil. AR'da arka plan sabit bir renk de değil, kameradan gelen canlı görüntü. Metnin altına ne geleceğini önceden bilemezsin.

Çözüm karmaşık değil: metni doğrudan kamera görüntüsünün üstüne koyma, arkasına dar bir zemin ver. O zeminin opaklığını ortam ışığı sensöründen gelen değere bağla, tek bir değişkende topla, tüm bileşenler o değişkeni okusun. Aydınlık için ayrı tema, karanlık için ayrı tema kurmaya gerek yok; iki tema kurarsan aradaki geçişte, yani kullanıcının kapıdan çıktığı anda ikisi de yanlış görünür.

Girdi yöntemi eklemek bedava değil

Dokunma, el hareketi, ses komutu, cihazı çevirme. Hepsi ayrı ayrı savunulabilir. Hepsini aynı ekranda desteklemek savunulamaz.

Her ek girdi yöntemi kullanıcıya bir soru daha soruyor: bunu şimdi nasıl yapmalıyım? Hareket halindeki, ekrana yarım dikkatle bakan biri için bu soru bedava değil. Bir de teknik tarafı var; ses komutu gürültülü sokakta çalışmıyor, el hareketi tek eli telefonla dolu kullanıcıda çalışmıyor, ikisini de eklediysen ikisinin de hata durumunu ayrı ayrı tasarlaman gerekiyor.

Bir birincil yöntem seç, onu kusursuz yap. İkinci yöntemi ancak birincisinin belirli bir bağlamda gerçekten çalışmadığını ölçtükten sonra ekle.

Test etmenin tek geçerli yolu

Ofiste, masa başında, sabit ışıkta, elde tutulan cihaz sabitken yapılan AR testi hemen hemen hiçbir şey söylemiyor. Uygulamanın kullanılacağı yere git, orada yürü, orada dene. Kaldırımın kenarında durup telefonu kaldırmanın nasıl bir şey olduğunu ancak orada anlarsın.

Yerinde test ederken bakılacak somut şeyler: kullanıcı kaç saniye sonra kolunu indiriyor, nesneyi yerleştirmek kaç denemede oluyor, güneş açısı değiştiğinde arayüz hâlâ okunuyor mu, cihaz kaç dakikada gözle görülür şekilde yavaşlıyor. Bunların hepsi ölçülebilir, hiçbiri anket sorusu değil.

Kaynaklar