Haptics pentru mobil AR: cum să îmbunătățiți aplicațiile ARKit cu sentimentul de „atingere”

Sunt foarte încântat de viitorul hapticilor pentru AR și VR. Se simte ca legătura lipsă dintre HTC Vive și sărit în OASIS cu Parzival și Art3mis. Așadar, nu este surprinzător faptul că haptics este probabil cea mai așteptată tehnologie din comunitatea XR în acest moment. Mai multe companii precum Microsoft și HTC, precum și startup-uri precum SenseGlove și HaptX, au arătat demonstrații despre iterații din ce în ce mai promițătoare de mănuși haptice, pe care încerc să le încerc.

Din păcate, la fel ca majoritatea dezvoltatorilor AR de azi, munca noastră la Placenote este concentrată aproape în întregime pe platformele de dispozitive mobile AR cum ar fi ARKit și ARCore. Desigur, acest lucru ne-a făcut să ne gândim: „Putem face hapticii ceva pentru AR mobil?”

Haptics a fost un plus minunat la ecranele tactile, de la simularea clicurilor cu butoane tactile până la notificări silențioase. Însă, după niște goanări frenetice, ne-am dat seama că deocamdată nu a existat nicio discuție reală despre haptici pentru aplicațiile mobile AR ... PROBLEMUL ACCEPTAT

Provocarea AR mobil

Am decis să analizăm de ce hapticii nu au reușit să intre în AR mobil și nu a fost greu să vedem de ce. AR mobil este de departe cel mai puțin mediu imersiv AR. Consensul în comunitate este că este doar un decalaj în fața platformei AR ultime - ochelarii inteligenți.

Dar mentalitatea nu este singura barieră aici. Am constatat că factorul de formă mobilă prezintă câteva provocări unice pentru proiectantul de experiență AR:

  • spre deosebire de căști, ecranul telefonului este atât ecranul, cât și controlerul
  • este imposibil să-ți aduc mâinile în experiență din moment ce ții telefonul.
  • ne bazăm în continuare pe interacțiuni cu ecran tactil, ambiguu în dimensionalitate - 2D sau 3D touch?

Cu toate acestea, realitatea este că, pentru următorii câțiva ani și, poate, mai multe, AR-ul mobil este aici pentru a rămâne. Există un miliard de dispozitive mobile în buzunarele consumatorilor în acest moment și doar aproximativ o mână de căști AR pe cap. În calitate de dezvoltator, distribuția pentru aplicațiile dvs. așteaptă majoritatea altor factori. De fapt, în aplicații precum navigarea în interior și jocurile de noroc, mobilul s-a dovedit deja ca un mediu viabil pentru implementarea experiențelor AR.

Acest lucru ne aduce pe tema haptics pentru AR mobil. La început, poate părea că nu există nicio speranță reală pentru haptici să îmbunătățească experiențele mobile AR, dar studiile recente au arătat de fapt altfel.

În haptici, mai puțin este mai mult

Au existat o multitudine de metode concepute pentru a obține feedback-ul haptic. În general, se încadrează în două mari categorii - haptice kinestezice (feedback-ul forțelor) și haptice cutanate (senzații ale pielii).

Heptica kinestezică a fost considerată pe scară largă a fi tehnologia haptică mai realistă. Acesta implică actuatoare fizice, fie cu împământare, fie fără teren. Acestea împing și trage degetele noastre și alte apendice ca răspuns la interacțiunile cu obiectele virtuale. Intuitiv, feedback-ul de forță realist ar trebui să funcționeze mult mai bine decât vibrațiile simple vechi. Dar un studiu publicat în Science Robotics în acest an intitulat „The Uncanny Valley of Haptics” a contestat aceste presupuneri.

Cercetătorii au descoperit că creșterea realismului senzației haptice nu crește neapărat calitatea experienței AR. Adesea are un impact negativ datorită valului inconștient al realismului în simulări. Ei au descoperit că haptica cutanată, care este în esență o combinație de atingeri ușoare și vibrații, s-a descurcat mult mai bine în a păcăli creierul mai adânc în iluzie. Rezultate ciudate, dar au realizat practic că am subestimat cât de bine este creierul nostru la umplerea lacunelor din senzația noastră de realitate.

Situațiile în care creierul nostru intervine pentru a umple golurile este ceea ce consider cel mai interesant despre percepția noastră asupra senzației de atingere. - Justin Brad, CEO al Osso VR

Aducerea hapticilor la AR mobil

Având în vedere aceste descoperiri, de ce să nu testăm ce haptici cutanati pot face pentru AR mobil? La urma urmei, haptics pe mobil nu mai înseamnă doar tonuri de apel vibrante.

Sistemele micro-electro-mecanice (MEMS) de pe dispozitivele mobile au devenit mult mai sofisticate și capabile de unele comportamente destul de nuanțate. Începând cu iPhone 7, Apple a modernizat vechile vibrații de bază vechi la ceea ce ei numesc acum Taptic Engine. Acest lucru este mult mai subtil și constă din șapte tipuri diferite de feedback haptic cu modele și puncte forte diferite.

Modurile de feedback haptic disponibile sunt:

  • Schimbarea selectiei
  • Lumina de impact
  • Impact mediu
  • Impact greu
  • Succesul notificării
  • Notificare Avertisment
  • Eșecul notificării
Noul iOS Taptic Engine (iPhone 7 în continuare) are 7 tipuri diferite de feedback Haptic

Pentru a afla mai multe despre generatorul de feedback iOS, consultați această documentație Apple. La sfârșitul acestui articol, voi împărtăși unele coduri pe care le puteți utiliza pentru a adăuga rapid aceste tipuri de feedback în aplicațiile dvs. ARKit.

Am decis să experimentăm o serie de moduri de feedback haptic în aplicațiile noastre AR și sunt foarte încântat să spun că rezultatele au fost o surpriză plăcută echipei noastre. Următoarele sunt câteva exemple de implementări haptice în aplicațiile noastre AR mobile.

Exemple de utilizare a hapticilor în AR mobil

În experimentele noastre de până acum, am constatat că feedback-ul haptic pentru AR mobil funcționează bine în cinci scenarii distincte. Iată o descriere a fiecăruia.

1. Pointerii magnetici (adică snap to grid)

Un pointer blocat de-a lungul unei suprafețe plane este o caracteristică frecvent utilizată în multe aplicații ARKit, în special în instrumente de măsurare precum Air Measure și Magic Plan. Întrucât telefonul dvs. se comportă ca un controlor în AR mobil, UX-ul standard în aplicațiile de măsurare implică glisarea unui indicator de-a lungul unei suprafețe pentru a desena linii sau poligoane pentru a măsura lucrurile din lumea reală. Desigur, atunci când vine vorba de desenarea liniei, indicatoarele magnetice care se fixează în punctele finale și marginile liniilor sunt văzute peste tot - de la PowerPoint la Photoshop.

Am descoperit că feedback-ul haptic subtil care indică un „priză” în poziția indicatoare este o îmbunătățire excelentă. Aproape că se pare că telefonul tău (adică controlerul tău) se deplasează fizic pentru a se fixa în loc.

Am fost foarte bucuros să văd că noua aplicație Apple „Măsura” folosește de fapt feedback-ul haptic în UX-ul lor. Este o implementare uimitor de subtilă și puteți vedea un GIF al acesteia în acțiune mai jos. Un „Mediu de impact” este declanșat atunci când indicatorul se fixează pe marginea planului.

Aplicația de măsurare Apple

2. Testarea hitului (simțirea suprafețelor lumii reale)

O altă caracteristică comună în aplicațiile ARKit este hit-testul. Aceasta este implementată sub forma unei raze dintr-un punct de pe ecran - fie un punct de atingere, fie centrul - pe o suprafață din cuvântul real. Este de obicei utilizat pentru a adăuga un obiect 3D la punctul de contact. O ușoară senzație haptică poate ajuta utilizatorul să înțeleagă că o suprafață a fost „lovită”. Am găsit două metode care funcționează bine aici:

pinning
În acest exemplu, la scena din punctul de lovire se adaugă un marker. O „lumină de impact” îi ajută pe utilizatori să simtă „fixarea” markerului în spațiul 3D. Desigur, dezavantajul acestui lucru este că nu puteți simți destul de mult „adâncimea” punctului de acces - cu alte cuvinte, cât de departe este pinul de la utilizator.

Pășunat
O alternativă la fixare este metoda de pășunat a testării hitului. În acest caz, o actualizare constantă a unui marker previzualizează unde un marker ar putea fi adăugat la o scenă. Am constatat că o serie de impulsuri haptice, bazate pe amploarea deplasării markerului de previzualizare la fiecare cadru, dau senzația de a zgâria un indicator pe o suprafață 3D și să vă „simțiți” o suprafață 3D.

Iată un exemplu de cod al pășunatului în Unity:

if (distanceChange> = 0.1 && distanceChange <0.2)
{
    iOSHapticFeedback.Instance.Trigger (Impact_Light);
}
altfel dacă (distanceChange> = 0,2 && distanceChange <0,4)
{
    iOSHapticFeedback.Instance.Trigger (Impact_Medium);
}
altfel dacă (distanceChange> = 0,4)
{
    iOSHapticFeedback.Instance.Trigger (Impact_Heavy);
}

3. Recuperarea sau exploziile pistolului FPS

Acesta este de departe cel mai amuzant exemplu de feedback haptic. Atunci când construiți un shooter în prima persoană în AR, telefonul dvs. este afișajul, precum și arma. O modalitate excelentă de a simula o lovitură de armă este un simplu „Impact Heavy”, care produce o singură denivelare sau un „Notificare Failure”, care creează o lovitură dublă care se simte foarte mult ca o armă de recul. Bineînțeles că exemplul de mai jos este o armă cu laser, dar, nu-ți vine să ne amintim prea realist?

4. Coliziune cu vârful controlerului

În aplicațiile VR precum Oculus Medium sau Tilt Brush, unul dintre controlerele de mână servește ca un vârf de perie pe care utilizatorul se mișcă pentru a atrage spațiul 3D. Am petrecut ore întregi pictând în Tilt Brush și, în mod firesc, am încercat foarte mult să imit această experiență cu ARKit.

Problema este că crearea unei experiențe de desen exacte pe mobil devine cu adevărat dificilă. Pierdeți sentimentul de profunzime atunci când telefonul dvs. este atât ecran, cât și controler. Unul dintre cele mai dificile lucruri din aplicațiile de desen 3D pe mobil este să știi unde este raportul tău de perie față de celelalte obiecte 3D din scenă.

Și, din nou, hapticii au fost răspunsul. Am descoperit că o modalitate de a oferi utilizatorilor un sentiment de profunzime este să vă imaginați că peria este de fapt un baston pe care îl puteți folosi pentru a atinge obiecte 3D care sunt deja în scenă. Oferirea de feedback haptic pentru a permite utilizatorilor să știe dacă vârful periei este în contact cu orice obiecte existente în scenă îi permite utilizatorilor să își fixeze cu exactitate peria în spațiul 3D.

Detectarea coliziunilor cu vârful periei

5. Re-localizare snap în aplicațiile AR persistente.

La Placenote, construim în principal aplicații AR persistente sau AR Cloud. Funcționalitatea de bază a acestor aplicații este posibilitatea de a salva conținutul AR permanent într-un loc fizic. Utilizatorii îl pot încărca de fiecare dată în aceeași locație.

Acest comportament se numește relocarea unei scene.

Localizarea se prinde în loc

Pentru a reloca o scenă AR, un utilizator trebuie să îndrepte mai întâi camera telefonului către lumea reală, apoi să aștepte până când camera își detectează locația.

Cu Placenote, relocalizarea se întâmplă aproape instantaneu, dar totul se întâmplă pe plan intern. Prin urmare, trebuie să proiectăm o modalitate de a notifica utilizatorul cu privire la o realocare cu succes. Indicele vizual poate fi suficient, așa cum se vede în GIF de mai sus. Dar o indicație mai subtilă este să furnizați o „lumină de impact” haptică pentru a sugera că ați făcut loc în lumea reală.

Cum să adăugați haptici la proiectul dvs. ARKit

Dacă lucrați cu Swift pentru dezvoltarea NKOS ARKit iOS, consultați acest tutorial despre implementarea feedbackului haptic în aplicațiile native.

Dacă lucrați cu Unity, pachetul meu preferat până acum este Pachetul de feedback Haptic iOS din Magazinul de active Unity. Este de 5 dolari, dar merită, deoarece Unity este integrată în funcția Handheld.Vibrate () nu expune de fapt noile funcții iOS Taptic Engine!

Pachetul de feedback Haptic iOS oferă un prefabricare simplă și scripturi pentru a adăuga toate cele 7 tipuri de feedback haptic în aplicația dvs. Îl puteți obține de pe linkul magazinului de active aici:

Lucruri de care să fii atent

Ca în cazul oricărui instrument de design, iată câteva lucruri de care trebuie să aveți grijă atunci când încorporați haptici în aplicația dvs. AR mobilă.

Folosind haptici prea mult poate încurca urmărirea ARKit

Testați impactul hapticilor în sesiunea de AR. Întrucât ARKit se bazează pe detectarea inerțială pentru a urmări mișcarea telefonului, adăugarea de prea multe vibrații în timpul unei sesiuni ARKit poate arunca ușor urmărirea.

Folosind haptici prea mult poate supraîncălzi dispozitivul

Haptics este, până la urmă, o mișcare fizică a dispozitivului tău mobil și, în mod natural, tinde să utilizeze mai multă energie. Folosiți-l ușor pentru a vă asigura că telefonul dvs. nu se supraîncălzește sau nu se consumă prea repede baterie.

Prea multe reacții haptice pot confunda și desensibiliza utilizatorul

Acest lucru este valabil pentru orice mecanism haptic. Nu exagera. Mai exact, nu-l folosiți fără să înțelegeți clar de ce este necesar feedback-ul haptic pentru acțiunea pe care utilizatorul dvs. o realizează. Pericolul de utilizare excesivă este că utilizatorul dvs. se confundă cu acesta și, prin urmare, va fi desensibilizat la feedback-ul dvs.

Si asta e! Sper că acest articol v-a oferit o doză utilă de idei de design și v-a convins să vă aventurați în lumea hapticelor mobile AR. Ne-a plăcut foarte mult să explorăm diferitele moduri prin care putem simula senzațiile de atingere în AR mobil și dacă mai aveți idei ne-ar plăcea să vă vorbim despre asta. Dacă sunteți interesat să încercați oricare dintre exemplele noastre de cod pentru hapticele mobile AR, trimiteți-mi un e-mail la neil [at] placenote.com.

Dacă vă interesează aplicațiile AR persistente sau ce facem la Placenote, trimiteți-ne un mesaj pe twitter sau consultați Placenote.com