Differences

This shows you the differences between two versions of the page.

Link to this comparison view

irva:laboratoarear:03 [2025/09/27 19:57]
maria_anca.balutoiu [Activare API ARCore Cloud Anchor]
irva:laboratoarear:03 [2025/09/29 23:17] (current)
maria_anca.balutoiu [Tasks]
Line 75: Line 75:
   * Adăugați în ierarhie componenta **ARCore Extensions**.   * Adăugați în ierarhie componenta **ARCore Extensions**.
   * În inspector **ARCore Extensions**,​ mapați variabilele **Session**,​ **XR Origin** și **Camera Manager**.   * În inspector **ARCore Extensions**,​ mapați variabilele **Session**,​ **XR Origin** și **Camera Manager**.
-  * **Assets** -> **Create** -> **XR** -> **ARCore Extensions Config**.+  * **Assets** -> **Create** -> **XR** -> **ARCore Extensions Config** ​și activați ancorele cloud.
   * **Assets** -> **Create** -> **XR** -> **Camera Config Filter**.   * **Assets** -> **Create** -> **XR** -> **Camera Config Filter**.
   * Deschideți **ARCore Extensions Config** și activați ancorele cloud.   * Deschideți **ARCore Extensions Config** și activați ancorele cloud.
Line 92: Line 92:
  
 <note important>​În cazul OAuth 2.0 Client IDs va trebui specificat SHA-1 certificate fingerprint al aplicației. Pentru a afla acest lucru, trebuie să facem următorii pași: <note important>​În cazul OAuth 2.0 Client IDs va trebui specificat SHA-1 certificate fingerprint al aplicației. Pentru a afla acest lucru, trebuie să facem următorii pași:
-  - În Unity deschidem **File -> Build Settings**. +  - În Unity deschidem **File -> Build Profiles**. 
-  - Deschidem **Player Settings -> Publishing Settings**+  - Deschidem **Player Settings -> Publishing Settings**.
   - **Keystore Manager -> Keystore... -> Create new -> In dedicated location**.   - **Keystore Manager -> Keystore... -> Create new -> In dedicated location**.
   - Completăm parola fișierului nou creat.   - Completăm parola fișierului nou creat.
Line 114: Line 114:
  
  
-===== Activarea Ancorelor Cloud în Aplicație ​===== +==== Activarea Ancorelor Cloud în Aplicație ==== 
-==== Keyless Authentication ​====+=== Keyless Authentication ===
 Opțiunea de autentificare keyless este disponibilă pentru dispozitivele **Android**. Aceasta permite salvarea unei ancore cloud pentru **maxim 365 de zile**. ​ Opțiunea de autentificare keyless este disponibilă pentru dispozitivele **Android**. Aceasta permite salvarea unei ancore cloud pentru **maxim 365 de zile**. ​
  
Line 124: Line 124:
 {{ :​irva:​laboratoare:​settingscloudanchors.png?​700 |}} {{ :​irva:​laboratoare:​settingscloudanchors.png?​700 |}}
  
-==== Token authentication ​====+=== Token authentication ===
 Opțiunea de autentificare pe bază de token este disponibilă pentru dispozitivele **iOS**. Aceasta permite salvarea unei ancore cloud pentru **maxim 365 de zile**. Pentru setare, urmați pașii de [[https://​developers.google.com/​ar/​develop/​authorization?​platform=unity-arf#​keyless-unity-ios|aici]]. Opțiunea de autentificare pe bază de token este disponibilă pentru dispozitivele **iOS**. Aceasta permite salvarea unei ancore cloud pentru **maxim 365 de zile**. Pentru setare, urmați pașii de [[https://​developers.google.com/​ar/​develop/​authorization?​platform=unity-arf#​keyless-unity-ios|aici]].
-==== API Key Authentication ​====+=== API Key Authentication ===
 Autentificarea pe bază de cheie API este disponibilă atât pe dispozitive **iOS**, cât și pe dispozitive **Android**. Aceasta permite salvarea unei ancore pentru **o singură zi**. Autentificarea pe bază de cheie API este disponibilă atât pe dispozitive **iOS**, cât și pe dispozitive **Android**. Aceasta permite salvarea unei ancore pentru **o singură zi**.
  
Line 135: Line 135:
   * Setăm **Android Authentication Strategy** la valoarea **API key**.   * Setăm **Android Authentication Strategy** la valoarea **API key**.
   * Adăugăm cheia în câmpul **Cloud Anchor API Keys**.   * Adăugăm cheia în câmpul **Cloud Anchor API Keys**.
-===== Calitatea Mapării Feature Points ​=====+==== Calitatea Mapării Feature Points ====
 **FeatureMapQuality** indică gradul de calitate al punctelor caracteristice detectate de ARCore de la o anumită poziție. Ancorele cloud care sunt salvate folosind puncte caracteristice de o calitate înaltă vor avea în general rezultate cât mai bune. Dacă gradul de calitate al hărții de puncte caracteristice nu poate fi estimat pentru o anumită poziție și orientare, atunci **EstimateFeatureMapQualityForHosting** loghează un mesaj de avertizare și are rezultatul **FeatureMapQuality.Insufficient**. Acest rezultat indică faptul că ARCore va avea cel mai probabil dificultăți în rezolvarea ancorei cloud. Deci, pentru rezultate optime, trebuie să ne asigurăm că **FeatureMapQuality** indică un rezultat suficient de bun. **FeatureMapQuality** indică gradul de calitate al punctelor caracteristice detectate de ARCore de la o anumită poziție. Ancorele cloud care sunt salvate folosind puncte caracteristice de o calitate înaltă vor avea în general rezultate cât mai bune. Dacă gradul de calitate al hărții de puncte caracteristice nu poate fi estimat pentru o anumită poziție și orientare, atunci **EstimateFeatureMapQualityForHosting** loghează un mesaj de avertizare și are rezultatul **FeatureMapQuality.Insufficient**. Acest rezultat indică faptul că ARCore va avea cel mai probabil dificultăți în rezolvarea ancorei cloud. Deci, pentru rezultate optime, trebuie să ne asigurăm că **FeatureMapQuality** indică un rezultat suficient de bun.
  
Line 141: Line 141:
 FeatureMapQuality quality = arAnchorManager.EstimateFeatureMapQualityForHosting(GetCameraPose());​ FeatureMapQuality quality = arAnchorManager.EstimateFeatureMapQualityForHosting(GetCameraPose());​
 </​code>​ </​code>​
-===== Tasks =====+==== Tasks ====
 <note tip> ​ <note tip> ​
- +Vom folosi scena **L3_CloudAnchors** din scheletul de laborator. Acesta poate fi descărcat de [[https://​github.com/​UPB-Graphics/​IRVA|aici]]. Scripturile necesare pentru rezolvarea laboratorului se află în **Assets->​Scripts**:​ **ARCloudAnchorManager.cs** și **CloudAnchorObjectPlacement.cs**.
-Vom folosi scena **Cloud Anchors** din scheletul de laborator. Acesta poate fi descărcat de [[https://​github.com/​UPB-Graphics/​IRVA|aici]]. Scripturile necesare pentru rezolvarea laboratorului se află în **Assets->​Scripts**:​ **ARCloudAnchorManager.cs** și **CloudAnchorObjectPlacement.cs**.+
  
 Inițial în scenă aveți 3 butoane: Inițial în scenă aveți 3 butoane:
Line 160: Line 159:
 </​note>​ </​note>​
  
 +<note important>​Importați ultima versiune a pachetului ''​IRVA_L3_AR''​ care se găsește în folder-ul **UnityPackages** din folderul root al proiectului.</​note>​
  
 +  - Adăugați în scenă și configurați ARCore extensions astfel încât să aveți suport pentru ancore cloud.
   - Implementați una din cele 3 metode pentru activarea API-ului ARCore Cloud Anchor și faceți setările corespunzătoare și în interfața Unity.   - Implementați una din cele 3 metode pentru activarea API-ului ARCore Cloud Anchor și faceți setările corespunzătoare și în interfața Unity.
   - Adăugați un cub pe ecran la poziția degetului. Atașați cubului o ancoră.   - Adăugați un cub pe ecran la poziția degetului. Atașați cubului o ancoră.
irva/laboratoarear/03.1758992271.txt.gz · Last modified: 2025/09/27 19:57 by maria_anca.balutoiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0