This shows you the differences between two versions of the page.
irva:laboratoarear:01 [2024/09/30 22:23] maria_anca.balutoiu [Crearea unei Baze de Date Proprii] |
irva:laboratoarear:01 [2024/10/09 18:30] (current) maria_anca.balutoiu [Tasks] |
||
---|---|---|---|
Line 26: | Line 26: | ||
{{ :irva:laboratoare:vuforia_example.png?700 |}} | {{ :irva:laboratoare:vuforia_example.png?700 |}} | ||
+ | ==== Adăugarea de Image Targets ==== | ||
După activarea Vuforia Engine în Unity, putem adăuga feature-uri specifice Vuforia în proiect. Pentru început, o să importăm [[https://assetstore.unity.com/packages/templates/packs/vuforia-core-samples-99026|Vuforia Core Samples]] din **Unity Asset Store**. Astfel, vom avea un punct de start pentru a crea un prim proiect folosind Vuforia. | După activarea Vuforia Engine în Unity, putem adăuga feature-uri specifice Vuforia în proiect. Pentru început, o să importăm [[https://assetstore.unity.com/packages/templates/packs/vuforia-core-samples-99026|Vuforia Core Samples]] din **Unity Asset Store**. Astfel, vom avea un punct de start pentru a crea un prim proiect folosind Vuforia. | ||
În continuare, vom prezenta pașii pentru a crea o scenă de bază AR în Vuforia: | În continuare, vom prezenta pașii pentru a crea o scenă de bază AR în Vuforia: | ||
Line 33: | Line 34: | ||
- Selectăm o imagine din baza de date selectată. | - Selectăm o imagine din baza de date selectată. | ||
- | ===== Crearea unei Baze de Date Proprii ===== | + | ==== Crearea unei Baze de Date Proprii ==== |
- Accesăm meniul [[https://developer.vuforia.com/vui/develop/databases|Target Manager]] de pe site-ul Vuforia (trebuie să fiți logați). | - Accesăm meniul [[https://developer.vuforia.com/vui/develop/databases|Target Manager]] de pe site-ul Vuforia (trebuie să fiți logați). | ||
- Apăsăm butonul **Generate Database** pentru a crea o nouă bază de date. | - Apăsăm butonul **Generate Database** pentru a crea o nouă bază de date. | ||
Line 43: | Line 44: | ||
- Odată importat, putem înlocui în obiectul Image Target baza de date default cu propria bază de date. | - Odată importat, putem înlocui în obiectul Image Target baza de date default cu propria bază de date. | ||
- | ===== Adăugarea de Obiecte 3D ===== | + | ==== Adăugarea de Obiecte 3D ==== |
Acum putem adăuga obiecte pe care dorim să le augmentăm. Putem face acest lucru, adăugând un obiect 3D drept copil obiectului de tip Target Image. Automat vor fi făcute setările necesare pentru AR (**DefaultObserverEventHandler.cs**). | Acum putem adăuga obiecte pe care dorim să le augmentăm. Putem face acest lucru, adăugând un obiect 3D drept copil obiectului de tip Target Image. Automat vor fi făcute setările necesare pentru AR (**DefaultObserverEventHandler.cs**). | ||
+ | |||
+ | ===== Citirea de Coduri de Bare ===== | ||
+ | O altă funcționalitate Vuforia este aceea de a detecta și de a citi o serie de tipuri de coduri de bare și coduri QR. Astfel, folosind Vuforia putem identifica și citi coduri de bare 1D și 2D, folosind algoritmi de computer vision. La un moment de timp, putem detecta cel puțin un cod de bare. | ||
+ | |||
+ | Codurile de bare unidimensionale sunt utilizate frecvent pentru a reprezenta informații care nu necesită o capacitate mare de stocare, cum ar fi codurile de identificare ale produselor sau serial numbers. Printre formatele acceptate de Vuforia se numără: | ||
+ | * UPC-A | ||
+ | * UPC-E | ||
+ | * EAN-8 | ||
+ | * EAN-13 | ||
+ | * Code 39 | ||
+ | * Code 93 | ||
+ | * Code 128 | ||
+ | * Codabar | ||
+ | * ITF | ||
+ | |||
+ | Codurile bidimensionale stochează cantități mai mari de date și pot fi utilizate pentru a stoca informații mai complexe, cum ar fi adrese URL sau instrucțiuni de expediere, oferind în același timp capabilități mai bune de corectare a erorilor. Vuforia acceptă următoarele tipuri de coduri 2D: | ||
+ | * QR-Code | ||
+ | * DataMatrix | ||
+ | * Aztec | ||
+ | * PDF417 | ||
+ | * Micro QR Code | ||
+ | |||
+ | <note tip> | ||
+ | Pentru a seta ce tip de cod de bare să fie detectat este necesară componenta **Barcode Behaviour** atașată pe un obiect din scenă. | ||
+ | |||
+ | {{ :irva:laboratoarear:barcode-behaviour-vuforia-advanced-barcode-types.png?400 |}} | ||
+ | </note> | ||
+ | |||
+ | Pentru a putea citi un cod de bare în Vuforia, trebuie făcuți următorii pași: | ||
+ | - Adăugați un obiect **Barcode** from **GameObject -> Vuforia Engine -> Barcode**. Acesta conține componenta **Barcode Behaviour**. | ||
+ | - Pentru a vedea mai bine când un cod de bare este detectat, puteți adăuga componenta **Barcode Outline Behaviour** obiectului **Barcode**. Această componentă desenează o mască peste codul de bare detectat. | ||
+ | - Creați un script, **BarcodeReader.cs**, pe care să îl atașați obiectului **Barcode**. | ||
+ | |||
+ | |||
+ | {{ :irva:laboratoarear:barcode-target-gameobject-vuforia.png?300 |}} | ||
+ | |||
+ | <code> | ||
+ | using UnityEngine; | ||
+ | using Vuforia; | ||
+ | |||
+ | public class BarcodeReader : MonoBehaviour | ||
+ | { | ||
+ | BarcodeBehaviour mBarcodeBehaviour; | ||
+ | | ||
+ | void Start() | ||
+ | { | ||
+ | mBarcodeBehaviour = GetComponent<BarcodeBehaviour>(); | ||
+ | } | ||
+ | |||
+ | void Update() | ||
+ | { | ||
+ | if (mBarcodeBehaviour != null && mBarcodeBehaviour.InstanceData != null) | ||
+ | { | ||
+ | Debug.Log(mBarcodeBehaviour.InstanceData.Text); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
===== Build the App ===== | ===== Build the App ===== | ||
Line 58: | Line 117: | ||
===== Tasks ===== | ===== Tasks ===== | ||
- | <note tip>Scheletul de cod pentru laborator poate fi descărcat de [[https://github.com/Maria-Anca-Balutoiu/IRVA_AR | aici]].</note> | + | <note tip>Scheletul de cod pentru laborator poate fi descărcat de [[https://github.com/UPB-Graphics/IRVA | aici]].</note> |
- Deschideți scena **Vuforia** din scheletul de cod. | - Deschideți scena **Vuforia** din scheletul de cod. | ||
- Creați o nouă licență de development pentru Vuforia Engine. | - Creați o nouă licență de development pentru Vuforia Engine. | ||
Line 65: | Line 124: | ||
- Adăugați un obiect 3D de augmentat. | - Adăugați un obiect 3D de augmentat. | ||
- Adăugați o imagine custom pe post de target image și adăugați un obiect 3D asociat acestei imagini. | - Adăugați o imagine custom pe post de target image și adăugați un obiect 3D asociat acestei imagini. | ||
+ | - Adăugați un cititor de coduri QR în scenă și afișați textul decodat pe ecran. | ||
+ | - **Bonus.** Când se citește orice cod QR din scenă, dacă există un model 3D augmentat, acesta va deveni animat (Hint! Modelele 3D din Vuforia Core Samples au și animații incluse). | ||