INTRODUCERE Realitatea virtual ă a ap ă rut ca ș [621834]
INTRODUCERE
Realitatea
virtual
ă
a
ap
ă
rut
ca
ș
i
concept
înc
ă
din
1860,
îns
ă
a
fost
destul
de
greu
de
formulat
la
acea
vreme
o
defini
ț
ie
pentru
ce
înseamn
ă
de
fapt
realitate
virtual
ă
.
Acest
fenomen
a
luat
amploare
în
2007
când
Google
a
introdus
Street
View,
iar
dup
ă
a
continuat cu apari
ț
ia c
ă ș
tii numite Oculus Rift.
Domeniul
este
la
început
de
drum
ș
i
din
ce
în
ce
mai
multe
firme
au
început
s
ă
investeasc
ă
în
dezvolta re.
Un
exemplu
ar
fi
Facebook
care
în
2016
avea
peste
400
de
oameni
ce
se
ocupau
cu
dezvoltarea
realit
ă ț
ii
virtuale.
Multe
din
aplica
ț
iile
din
ziua
de
ast
ă
zi
sunt
axate
mai
mult
pe
amuzament,
precum
jocurile
video,
îns
ă
pu
ț
ine
aplica
ț
ii
înglobeaz
ă
de
fapt
imag ini
sau
videouri.
Acestea
pot
fi
folosite
doar
ca
o
modalitate
de
vizionare
a
mediului
înconjur
ă
tor
f
ă
r
ă
s
ă
ofere
utilizatorului
prea
mult
ă
libertate
de
mi
ș
care fa
ț ă
de o realita te virtual
ă
oferit
ă
de un joc video.
Pe
lâng
ă
amuzamen t
realitatea
virtual
ă
mai
este
des
întâlnit
ă
în
simulatoare
unde
este
utilizat
ă
în
preg
ă
tirea
ș
i
instruirea
oamenilor,
pentru
meseriile
periculoase
sau
pentru
situa
ț
iile
în
care
s-ar
pune
via
ț
a
altui
om
în
pericol,
precum
chirurgia.
Ace
ș
tia
î
ș
i
pot dezvolta abilit
ă ț
ile f
ă
r
ă
consecin
ț
e.
De
ș
i
în
chirurgie
se
poate
folosi
aceast
ă
tehnic
ă
ea
totu
ș
i
nu
este
necesar
ă
pentru
ca
un
chirurg
s
ă
se
dezvolte,
în
schimb
exist
ă
cazuri
unde
realitatea
virtual
ă
ș
i
simulatoarele
sunt
indispensabile,
un
exemplu
fiind
astronau
ț
ii
care
nu
se
pot
preg
ă
ti
în
spa
ț
iu.
Pe
câte
avantaje
poate
oferi
realitatea
virtual
ă
pe
atâtea
dezavantaje
exist
ă
în
prezent,
precum
costul
mare
al
elementelor
hardware
ce
sunt
necesare
pentru
a
utiliza
orice aplica
ț
ie de acest g en.
Un
alt
dezavantaj
major
este
constituit
de
lipsa
speciali
ș
tilor
pentru
dezvoltarea
unei
astfel de aplica
ț
ii
ș
i a facilit
ă ț
ilor acreditate pentru formarea lor.
Alte
inconveniente
mai
sunt
reprezentate
ș
i
de
pre
ț
ul
ridicat
pentru
implementarea
software a serviciilor oferite de acest tip de aplica
ț
ie.
Folosirea
unui
simulator
sau
a
oric
ă
rui
tip
software
ce
are
implementat
ă
realitatea
virtual
ă
trebuie
folosi t
într-un
mediu
sigur
ș
i
stând
pe
loc
dat
fiind
faptul
c
ă
nerespectarea
acestei
sugestii
poate
duce
la
o
accidentare
de
la
u
ș
oar
ă
pan
ă
la
fatal
ă
a
utilizatorului.
Tema
a
fost
aleas
ă
pentru
a
putea
oferi
studen
ț
ilor
din
cadrul
universit
ă ț
ii
„Dun
ă
rea
de
Jos”,
sau
oric
ă
rei
alte
persoane
ce
dore
ș
te
sa
ajung
ă
într-o
anumit
ă
loca
ț
ie
din
campusul
universitar,
o
modalitate
de
a
vizualiza
drumul
pân
ă
acolo,
din
confortul
propriei
locuin
ț
e
folos ind
doar
telefonul
mobil,
împreun
ă
cu
o
casc
ă
ce
creeaz
ă
sentimentul de realitate virtual
ă
, aceasta nefiind obligatorie.
Aplica
ț
ia
ofer
ă
utilizatorului
posibilitatea
de
explorare
a
unei
înc
ă
peri
virtuale
prin
intermediul
c
ă
reia
are
acces
la
o
machet
ă
amplasat
ă
pe
o
mas
ă
.
Cu
ajutorul
acesteia
î
ș
i
poate
alege
singur
locul
de
unde
dore
ș
te
s
ă
porneasc
ă
ș
i
de
asemenea
îi
permite
s
ă
selecteze
ș
i
punctul
und e
vrea
s
ă
ajung
ă
.
Pe
baza
acestor
informa
ț
ii
selectate
de
c
ă
tre
1
utilizator
se
va
construi
ruta
dintre
cele
dou
ă
puncte
ș
i
se
vor
înc
ă
rca
videourile
aferente
vizualiz
ă
rii traseului.
De
asemenea,
aplica
ț
ia
î
ș
i
propune
s
ă
înglobeze
atât
realitatea
virtual
ă
oferit
ă
prin
elementele grafice dintr-un joc cu cea creat
ă
de film
ă
ri.
Fa
ț ă
de
alte
aplica
ț
ii
pe
mobil
ce
folosesc
acela
ș
i
concept
de
redare
a
realit
ă ț
ii
virtuale
aceasta
ofer
ă
utilizatoru lui
mai
mult
control
în
ceea
ce
prive
ș
te
mi
ș
carea
ș
i
explorarea
mediului pus la dispozi
ț
ie de aplica
ț
ie.
2
CAPITOLUL 1. TEHNOLOGII
Ș
I ECHIPAMENTE NECESARE
1.1. Tehnologii
ș
i ech ipamente necesare pentru dezvoltarea aplica
ț
iei
O
astfel
de
aplica
ț
ie
necesit
ă
atât
componente
hardware
cât
ș
i
componente
software
pentru a fi realizat
ă
.
Din
punct
de
vedere
hardware
s-a
utilizat
camera
„Samsung
Gear
360”
ce
filmeaz
ă
la
360
de
grade
ș
i
captur eaz
ă
con
ț
inut
video
panoramic
împreun
ă
cu
un
stabilizator
de
mân
ă
numit
„GP174B”
pentru
a
ob
ț
ine
cea
mai
bun
ă
calitate
posibil
ă
a
înregistr
ă
rilor
video.
Pe
parcursul
realiz
ă
rii
film
ă
rilor
pentru
a
le
putea
viziona
în
timp
real
este
obligatoriu
un
telefon
mobil
comercializat
de
c
ă
tre
compania
Samsung
începând
cu
modelul S6 pentru a putea fi compatibil cu camera.
În
ceea
ce
prive
ș
te
elementele
software
s-a
folosit
Unity
ca
motor
grafic
pentru
a
putea
pune
în
scen
ă
videourile
ș
i
a
da
impresia
de
realit ate
virtual
ă
utilizatorului.
Deoarece
dimensiunea
film
ă
rilor
este
foarte
mare
s-a
optat
pentru
utilizarea
unui
server,
creat
cu
ajutorul
limbajului
de
programare
NodeJs,
instalat
pe
o
ma
ș
in
ă
virtual
ă
folosind ca sistem de operare Ubuntu.
Videoclipurile
realizate
de
camer
ă
,
pentru
a
putea
fi
interpretate
ș
i
a
oferi
senza
ț
ia
de
realitate virtual
ă
, au fos t convertite cu telefonul mobil men
ț
ionat anterior.
Limbajul
de
programare
folosit
este
C#
utilizat
împreun
ă
mediul
de
dezvoltare
Visual
Studio.
1.2. Tehnologii
ș
i ech ipamente necesare pentru utilizarea aplica
ț
iei
Un
utilizator,
pentru
a
putea
folosi
acest
tip
de
aplica
ț
ie,
trebuie
sa
dispun
ă
de
un
dispozitiv
mobil
cu
o
versiune
de
Android
minim
ă
de
5.0.
În
plus,
pe
lâng
ă
acesta,
pentru
o
experien
ț ă
cât
mai
apropiat
ă
de
realitate
mai
este
nevoie
ș
i
de
o
casc
ă
în
care
se
introduce telefonul.
3
CAPITOLUL 2. CERIN
Ț
E
Ș
I SPECIFIC A
Ț
II
Aplica
ț
ia
î
ș
i
propune
s
ă
ajute
studen
ț
ii
facult
ă ț
ii
„Universit atea
Dun
ă
rea
de
Jos
Gala
ț
i”
s
ă
se
poat
ă
orienta
c
ă
tre
cl
ă
dirile
unde
se
vor
ț
ine
cursurile,
seminariile
sau
laboratoarele
din
propria
locuin
ț ă
oferindu-le
acestora
posib ilitatea
s
ă
ajung
ă
la
timp
la
ore, f
ă
r
ă
prea mult efort.
Pentru
a
putea
fi
satisf
ă
cute
specifica
ț
iile
men
ț
ionate
mai
sus
aplica
ț
ia
ar
trebui
s
ă
cuprind
ă
urm
ă
toarele:
–
film
ă
ri cu loca
ț
iile din interiorul campusului universita r
–
s
ă
fie compatibil
ă
cu majoritatea dispozitivelor mobile
–
s
ă
ofere sentimen tul de realitate virtual
ă
prin intermediul film
ă
rilor
–
op
ț
iunea de a op ri videoul
–
op
ț
iunea de a rep orni videoul de unde a r
ă
mas
–
s
ă
permit
ă
utilizatorului s
ă
ias
ă
din filmare dac
ă
se dore
ș
te alegerea altui drum
–
înc
ă
rcarea asincr on
ă
a videourilor
–
posibilitatea de alegere a unui punct de plecare
–
posibilitatea de alegere a unei destina
ț
ii
Din
cauza
dimensiunilor
mult
prea
mari
ale
film
ă
rilor
pentru
a
fi
stocate
pe
dispozitivul
utilizatorului
a
fost
nevoie
de
implementarea
unui
server
care
s
ă
fie
capabil
de urm
ă
toarele:
–
s
ă
interpreteze c ererile de tip „REST API”
–
s
ă
poat
ă
identifica numele videourilor din fi
ș
ier
–
s
ă
trimit
ă
date c
ă
tre aplica
ț
ie sub form
ă
de „json”
4
CAPITOLUL 3. ANALIZA PROBLEMEI
Dezvoltarea
unei
aplica
ț
ii
presupune
întâi
analiza
problemei,
în
care
se
identific
ă
elementele ce o vor constitui.
3.1 Partea de client
Aceasta
este
partea
vizibil
ă
utilizatorului,
care
îi
ofer
ă
acestuia
posibilitatea
de
a
controla
orientarea
camerei
cu
ajutorul
mi
ș
c
ă
rii
capului
putând
vizualiza
obiectele
din
jurul
s
ă
u,
creându-i
sentimentul
de
realitate
virtual
ă
.
Utilizatorul
are
posibilitatea
s
ă
aleag
ă
dou
ă
puncte,
primul
reprezentând
locul
de
unde
dore
ș
te
s
ă
porneasc
ă
,
iar
al
doilea destina
ț
ia.
3.2 Sfera
Sfera
este
o
component
ă
din
motorul
grafic
alc
ă
tuit
ă
din
mai
multe
elemente
ce
împreun
ă
ofer
ă
sentimentul
de
realitate
virtual
ă
asupra
unei
film
ă
ri.
Aceasta
nu
poate
fi
v
ă
zut
ă
de
c
ă
tre
utilizato r
deoarece
el
se
afl
ă
în
centrul
acesteia
ș
i
prive
ș
te
c
ă
tre
înveli
ș
ul
interior care ac
ț
ioneaz
ă
ca un ecran pe care sunt proiectate vi deourile.
3.3 Serverul
Serverul
este
cel
care
comunic
ă
cu
aplica
ț
ia
ș
i
trimite
date
sub
form
ă
de
„json”,
dar
ș
i
cel
care
ș
tie
s
ă
interpreteze
cererile
de
tip
„REST
API”.
A
fost
necesar
ă
implementarea
acestuia
deoarece
videourile
având
dimensiuni
mari
nu
puteau
fi
stocate
pe
dispozitivul
utilizatorului.
3.4 Film
ă
ri
Fiind
o
aplica
ț
ie
de
orientare
în
interiorul
campusului
universitar
apar
ț
inând
„Universit
ă ț
ii Dun
ă
rea d e Jos Gala
ț
i” au fost necesare film
ă
ri cu loca
ț
iile specifice.
5
CAPITOLUL 4. ANALIZA CONCUREN
Ț
EI
Aplica
ț
ia
adresându-s e
exclusiv
studen
ț
ilor
de
la
„Universit atea
Dun
ă
rea
de
Jos
Gala
ț
i”
s-a
realizat
o
analiz
ă
a
concuren
ț
ei
bazat
ă
pe
aplica
ț
iile
care
ofer
ă
realitate
virtual
ă
prin
intermediul videourilor.
Aplica
ț
iile
analizate
sunt
Discovery
VR,
Within,
NYT
VR,
Jaunt
VR
fiecare
dintre
ele
având puncte forte
ș
i puncte slabe.
Din
punct
de
vedere
al
film
ă
rilor,
al
experien
ț
ei
oferite
utilizatorului
ș
i
al
notelor
oferite
de
persoanele
ce
au
încercat
aplica
ț
iile
men
ț
ionate
mai
sus
ele
se
claseaz
ă
în
urm
ă
toarea ordine:
–
WITHIN
–
NYT VR
–
Jaunt VR
–
Discovery VR
4.1 WITHIN
–
Not
ă
acordat
ă
în Play Store: 4.0
–
Cerin
ț
e minime: Android 4.4
–
Dimensiune: 68M
–
Instal
ă
ri:
1.000.000+
–
Avantaje:
○
Meniu interactiv pe mobil
○
Posibilitatea de vizionare a film
ă
rilor prin internet
○
Posibilitatea de desc
ă
rcare a film
ă
rilor
ș
i vizionate local
○
Posibilitatea de alegere dac
ă
se va viziona pe telefon sau direct cu casca
○
Film
ă
ri di versificate
–
Dezavantaje:
○
Majoritatea videourilor au dimensiuni foarte mari
○
Nu
ofer
ă
o
metod
ă
de
explorare
a
meniului
pe
telefon
f
ă
r
ă
s
ă
se
scoat
ă
casca altfel întrerupând senza
ț
ia de realitate virtual
ă
○
Butoanele
de
play,
pause
ș
i
back
to
menu
nu
pot
fi
accesate
din
interiorul
film
ă
rii, a cestea pot fi accesate doar atingând ecranul
○
Nu se poate s
ă
ri peste anumite p
ă
r
ț
i din filmare
6
4.2 NYT VR
–
Not
ă
acordat
ă
în Play Store: 3.8
–
Cerin
ț
e minime: Android 5.0
–
Dimensiune: 39M
–
Instal
ă
ri:
100.000+
–
Avantaje:
○
Posibilitatea de vizionare a film
ă
rilor prin internet
○
Posibilitatea de desc
ă
rcare a film
ă
rilor
ș
i vizionate local
○
Posibilitatea de alegere dac
ă
se va viziona pe telefon sau direct cu casca
–
Dezavantaje:
○
Inexisten
ț
a unui meniu în care s
ă
se poat
ă
c
ă
uta videouri u
ș
or
○
Film
ă
rile sunt realizate prin imagini puse cap la cap
○
Imposibilitatea
de
a
viziona
un
alt
videoclip
f
ă
r
ă
s
ă
se
ating
ă
cu
degetul
ecranul telefonului
7
4.3 Jaunt VR
–
Not
ă
acordat
ă
în Play Store: 3.7
–
Cerin
ț
e minime: Android 5.0
–
Dimensiune: 26M
–
Instal
ă
ri:
100.000+
–
Avantaje:
○
Meniul este incorporat în realitatea virtual
ă
○
Film
ă
rile
pot
fi
oprite
f
ă
r
ă
s
ă
se
scoat
ă
casca
ș
i
s
ă
se
apese
cu
degetul
pe
ecran
○
Posibilitatea de vizionare a film
ă
rilor prin internet
–
Dezavantaje:
○
Meniul din interiorul aplica
ț
iei este complex
ș
i neclar
○
Selectarea
butoanelor
se
face
mult
prea
rapid
utilizatorul
neavând
timp
s
ă
se r
ă
zgând easc
ă
○
Imposibilitatea
de
a
alege
dac
ă
s
ă
vizioneze
videourile
cu
casca
sau
f
ă
r
ă
aceasta
○
Lipsa
unui
tutorial
cu
privire
la
modul
de
utilizare
al
multitudinii
de
butoane oferit
ă
de interfa
ț
a aplica
ț
iei
8
4.4 Discovery VR
–
Not
ă
acordat
ă
în Play Store: 3.4
–
Cerin
ț
e minime: Android 4.2
–
Dimensiune: 12M
–
Instal
ă
ri:
500.000+
–
Avantaje:
○
Posibilitatea de a selecta o filmare ce face parte dintr-un grup de emisiuni
○
Posibilitatea
de
a
alege
vizionarea
cu
casc
ă
sau
direct
de
pe
telefonul
mobil
–
Dezavantaje:
○
Imposibilitatea
de
a
pune
pauz
ă
film
ă
rii
f
ă
r
ă
s
ă
se
piard
ă
efectul
de
realitate virtual
ă
○
Imposibilitatea
de
a
desc
ă
rca
videourile
ș
i
a
le
putea
viziona
local
de
pe
telefonul mobil f
ă
r
ă
internet
○
Film
ă
ri re alizate din buc
ă ț
i f
ă
r
ă
prea mult
ă
leg
ă
tur
ă
între ele
9
Aplica
ț
iile
men
ț
ionate
anterior,
având
avantaje
ș
i
dezavantaje,
trebuie
încercate
deoarece
fiecare
ofer
ă
utilizatorului
o
experien
ț ă
nou
ă
ș
i
pl
ă
cut
ă
prin
intermediul
realit
ă ț
ii virtuale.
Pe
viitor
este
posibil
s
ă
apar
ă
aplica
ț
ii
mult
mai
diversificate
ș
i
complexe
ce
pot
îmbina film
ă
rile cu expe rien
ț
a oferit
ă
de un joc din aceea
ș
i categorie.
10
CAPITOLUL 5. CONFIGURAREA
Ș
I IMPLEMENTAREA APLICA
Ț
IEI
Pentru
a
putea
implementa
acest
tip
de
aplica
ț
ie
a
fost
necesar
ă
documentarea
cu
privire
la
mai
multe
aspecte,
cuprinzând
atât
elemente
hardware,
ce
camer
ă
ar
fi
cea
mai
potrivit
ă
ș
i
cum
se
poate
ob
ț
ine
cea
mai
bun
ă
calitate
a
videourilor,
cât
ș
i
anumite
tehnologii software de ultim
ă
or
ă
pentru care documenta
ț
ia este insuficient
ă
.
5.1. Configurarea parametrilor de func
ț
ionare
ș
i utilizarea elementelor hardware
Elementele
hardware
folosite
pentru
filmarea
videoclipurilor
din
cadrul
aplica
ț
iei
au
fost urm
ă
toarele:
–
camera „Samsung Gear 360”
–
stabilizatorul de mân
ă
„GP174B”
–
telefon Samsung Galaxy S7
Camera
video
a
fost
setat
ă
s
ă
filmeze
la
rezolu
ț
ia
de
2048×1080
pixeli,
cunoscut
ă
ș
i
sub
denumirea
de
2K,
ș
i
a
fost
amplasat
ă
pe
stabilizatorul
de
mân
ă
care
a
ajutat
la
diminuarea trepida
ț
iilor din videouri.
Stabilizatorul
de
mân
ă
se
regleaz
ă
ata
ș
ând
întâi
mânerul
în
una
din
pozi
ț
iile
disponibile,
apoi
camera
cu
toate
accesoriile
sale,
deoarece
chiar
ș
i
cea
mai
mic
ă
greutate
în
plus
poate
muta
centrul
de
greutate
în
afara
zonei
de
echilibru
ș
i
poate
duce
la
o
cantitate
nedorit
ă
de
trepida
ț
ii
care
pot
provoca
utilizato rului
r
ă
u
de
mi
ș
care.
Pasul
trei
const
ă
în
ad
ă
ugarea
greut
ă ț
ilor
pentru
a
contrabalansa
greutatea
camerei
pân
ă
ajunge
la
un
echilibru
perfect
în
ceea
ce
prive
ș
te
orientarea
fa
ț ă
-spate.
Dup
ă
,
se
balanseaz
ă
stânga-drea pta
mi
ș
când
greut
ă ț
ile.
În
final
se
dore
ș
te
verificarea
vitezei
cu
care
se
va
reveni
în
echilibru
perfect
dând
drumul
greut
ă ț
ilor
din
cel
mai
înalt
punct
posibil
al
stabilizatorului,
timpul
optim
pentru
revenire
fiind
de
aproximativ
dou
ă
secunde.
11
Telefonul
este
folosit
pentru
o
mai
bun
ă
orientare
în
timpul
film
ă
rilor
ș
i
pentru
convertirea înregistr
ă
rilor din a
ș
a numitul tip „ochi de pe
ș
te” în tipul „cus
ă
tur
ă
”.
12
5.2. Filmarea
ș
i editar ea videoclipurilor
Videourile
au
fost
filmate
pe
parcursul
mai
multor
zile
ș
i
p
ă
strate
pentru
editare
doar
cele
mai
bune.
În
primele
zile
s-a
încercat
folosirea
camerei
f
ă
r
ă
un
stabilizator
ș
i
s-a
observat c
ă
trepida
ț
iile erau destul de mari, iar acele film
ă
ri nu erau utilizabile.
Dup
ă
folosirea
stab ilizatorului
s-au
refilmat
toate
videoclipurile,
unde
s-a
putut
observa o îmbun
ă
t
ă ț
ire substan
ț
ial
ă
fa
ț ă
de cele precedente.
13
Convertirea
s-a
realizat
întâi
folosind
programul
de
la
Samsung
numit
„Gear
360
Action
Director”,
dar
au
existat
probleme
de
compatibilitate
ș
i
s-a
trecut
la
convertirea
cu telefonul mobil, îns
ă
programul men
ț
ionat anterior a fost folosit pentru editarea lor.
14
5.3. Implementarea serverului
Implementarea
serverului
s-a
realizat
folosind
o
combina
ț
ie
de
mai
multe
tehnologii
precum:
–
ma
ș
in
ă
virtual
ă
cu Ubuntu
–
Sublime pentru scrierea codului ce
ț
ine de serverul web
–
server web
–
Node.js împreun
ă
cu mai multe libr
ă
rii necesare pentru crearea serverului web
–
„Representational
State
Transfer
Application
Programming
Interface”
prescurtat
ă
ca „R EST API” pentru comunicarea între server
ș
i interfa
ț
a aplica
ț
iei.
15
5.3.1. Instalarea ma
ș
inii virtuale
ș
i a sistemului de operare
S-a
folosit
ca
mediu
de
virtualizare
ultima
versiune
disponibil
ă
de
VirtualBox
ș
i
s-a
desc
ă
rcat
cea
mai
actua l
ă
versiune
a
sistemului
de
operare
Ubuntu
pe
64
de
bi
ț
i.
Dup
ă
instalare,
pentru
a
putea
crea
o
ma
ș
in
ă
virtual
ă
cu
un
sistem
de
operare
pe
64
de
bi
ț
i,
se
va
verifica
dac
ă
BIOS-ul,
„Basic
Input/Output
System”,
permite
virtualizarea
procesorului.
Dac
ă
acest a
nu
poate
fi
virtualizat
se
va
schimba
sistemul
cu
unul
de
32
de
bi
ț
i
sau,
pentru
utilizato rii
mai
avansa
ț
i,
se
va
intra
în
BIOS
ș
i
se
vor
schimba
set
ă
rile
acestuia ca s
ă
permit
ă
virtualizarea pe 64 de bi
ț
i.
Pentru
a
putea
instala
un
sistem
de
operare
pe
o
ma
ș
in
ă
virtual
ă
sunt
necesari
mai
mul
ț
i pa
ș
i de configurare.
Primul pas:
–
se face click pe butonul New
–
se
completeaz
ă
c
ă
su
ț
a
cu
numele
ma
ș
inii
virtuale
care
apoi
va
ap
ă
rea
în
partea
stânga
–
se selecteaz
ă
tipu l în func
ț
ie de ce sistem de operare se dore
ș
te
–
se selecteaz
ă
versiunea dorit
ă
, adic
ă
pe 64 de bi
ț
i sau 32 de bi
ț
i
–
dup
ă
ce
s-au
stab ilit
configura
ț
iile
dorite
se
va
face
click
mai
departe
pe
butonul
Next care va trimite la urm
ă
toarea fereastr
ă
de configurare
Al doilea pas:
–
se
selecteaz
ă
câ
ț
i
giga
de
ram
se
doresc,
este
recoman dat
s
ă
nu
se
selecteze
mai
mult de jum
ă
tate din cei de pe ma
ș
ina fizic
ă
–
pentru
un
sistem
pe
64
de
bi
ț
i
se
vor
alege
minim
4
giga
de
ram,
pentru
un
sistem
pe 32 de bi
ț
i min im 2 giga, iar apoi se face click pe butonul Next
16
Al treilea pas:
–
se
creaz
ă
un
hard
disk
virtual
în
care
se
va
instala
sistemul
de
operare
ș
i
unde
vor fi depozitate toate fi
ș
ierele acestuia
–
dup
ă
selectarea o p
ț
iunii se apas
ă
butonul Create
Al patrulea pas:
–
se selecteaz
ă
tipu l hard disk-ului VirtualBox Disk Image
–
se face click pe Next
17
Al cincilea pas:
–
se
selecteaz
ă
tipul
de
stocare
pe
hardul
fizic
al
ma
ș
inii,
se
recomand
ă
folosirea
m
ă
rimii fixe deoa rece va fi mai rapid când ma
ș
ina virtual
ă
va citi datele necesare
–
se face click pe Next
18
5.3.2. Instalarea
ș
i configurarea serverului
Întâi
se
vor
instala
urm
ă
toarele
pachete
pe
ma
ș
ina
virtual
ă
:
NodeJs
ș
i
Npm.
Pentru
a
instala modulele men
ț
ionate anterior se vor folosi urm
ă
toarele comenzi:
–
„sudo apt install nodejs”
–
„sudo apt install npm”
Configurarea se va realiza astfel:
–
se copiaz
ă
script ul folosit în orice fi
ș
ier dorit
–
se
va
folosi
comanda
„cd
<nume
fi
ș
ier>”
pentru
schimbarea
directorului
curent
cu cel în care a fost copiat scriptul
–
se configureaz
ă
modulele cu urm
ă
toarele comenzi:
○
npm init unde punctul de intrare va fi numele scriptului
○
npm install express –save
○
npm install –save get-video-duration
–
se
creaz
ă
foldere le
„VideosEndingPoint”
în
care
se
pun
toate
videourile
ce
pot
fi
destina
ț
ie
final
ă
în
aplica
ț
ie,
„VideosStartingPoint”
unde
se
vor
afla
toate
film
ă
rile
ce pot fi punct de început
ș
i „IntermediatePoint” pentru punctele intermediare.
5.3.3. Func
ț
ionalitate a serverului
Serverul
este
folosit
ca
s
ă
trimit
ă
r
ă
spunsul
adecvat
c
ă
tre
aplica
ț
ie
interpretând
mai
multe cereri de tip „GET”.
Scriptul
ș
tie
s
ă
trimit
ă
datele
sub
form
ă
de
„json”
pentru
a
oferi
utilizatorului
posibilitatea
s
ă
aleag
ă
anumite
puncte.
Acestea
sunt
mai
departe
trimise
la
server
unde
sunt
interpretate
cu
ajutorul
unei
func
ț
ii
recursive
în
care
se
creeaz
ă
o
list
ă
cu
toate
film
ă
rile ce trebuie afi
ș
ate
ș
i trimis
ă
înapoi.
Apoi
aplica
ț
ia
î
ș
i
gestioneaz
ă
lista
primit
ă
ș
i
începe
s
ă
fac
ă
apel
din
nou
la
server
solicitând videourile unul cate unul.
19
5.4. Implementarea aplica
ț
iei
Aplica
ț
ia
a
fost
imp lementat
ă
cu
ajutorul
motorului
grafic
Unity,
a
mediului
de
dezvoltare Visual Studio, iar codul a fost scris în limbajul C#.
5.4.1. Configurarea motorului grafic Unity
Pentru
a
putea
permite
exportul
unei
aplica
ț
ii
din
Unity
pentru
telefoane
mobile
este
necesar
ă
desc
ă
rcarea
jdk-ului
8.0.
Se
poate
desc
ă
rca
ș
i
alt
ă
versiune
dar
aceasta
este
recomandat
ă
ca
fiind
cea
mai
stabil
ă
,
împreun
ă
cu
un
sdk
de
android.
Acesta
din
urm
ă
nu
mai
este
disponibil
pentru
desc
ă
rcare
individual
ă
,
din
aceast
ă
cauz
ă
se
va
desc
ă
rca
Android Studio
ș
i se va f olosi sdk-ul instalat de acesta.
20
Dup
ă
finalizarea
acestui
pas
se
va
deschide
Unity
ș
i
se
va
face
click
pe
urm
ă
toarele
op
ț
iuni
în
ordinea
Edit ,
Preferences,
External
Tools,
Browse
unde
se
va
pune
calea
absolut
ă
c
ă
tre sdk
ș
i jdk .
În
continuare
pentru
a
putea
s
ă
se
ofere
efectul
de
realitate
virtual
ă
în
motorul
grafic
este
nevoie
de
desc
ă
rcarea
unui
alt
sdk
creat
de
Google
ș
i
distribuit
gratuit
pe
platforma
GitHub.
Importarea
sdk-ului
în
Unity
se
realizeaz
ă
f
ă
când
click
în
urm
ă
toarea
ordine
Assets,
Import
Package,
Custom
Package,
apoi
se
selecteaz
ă
pachetul
desc
ă
rcat
anterior
ș
i se face click pe Impor t.
Dup
ă
ce
a
fost
realiz at
importul
se
va
face
click
pe
File
>
Build
Settings
>
Android
>
Switch
Platform
>
Player
Settings.
Apoi
se
configureaz
ă
Player
Settings
astfel
încât
aplica
ț
ia s
ă
permit
ă
folo sirea realit
ă ț
ii virtuale. Configurarea realizându-se astfel:
–
Player Settings > XR Settings > Virtual Reality Supported > Enabled
–
Player
Settings
>
XR
Settings
>
Virtual
Reality
SDKs
>
se
face
click
pe
+
ș
i
se
selecteaz
ă
Cardb oard
ș
i Daydream
–
Player Settings > Other Settings > Minimum Api Level > 21
–
Player Settings > Other Settings > Package Name > com.Nume.Proiect
21
22
5.4.2. Structura aplica
ț
iei
Unity vizualizeaz
ă
tot ce
ț
ine de structura unui proiect sub fi
ș
ierul „Assets” acesta
putând fi modelat de c
ă
tre programator. Totu
ș
i se recomand
ă
folosirea unor practici
utile precum:
–
crearea unui fi
ș
ier pentru resursele proiectului care s
ă
fie la acela
ș
i nivel cu toate
plugin-urile importate
–
crearea unui fi
ș
ier numit scripts în care se va afla tot codul scris
–
crearea unui fi
ș
ier numit prefabs unde se vor salva toate prefabricatele
–
crearea unui fi
ș
ier numit scenes unde vor exista scenele salvate
–
gruparea elementelor similare în acela
ș
i fi
ș
ier
Aplica
ț
ia î
ș
i propune s
ă
respecte aceste practici
ș
i de aceea a fost structurat
ă
în
urm
ă
torul fel:
5.4.3. Interfa
ț
a grafic
ă
a aplica
ț
iei
Prima interfa
ț ă
grafic
ă
oferit
ă
utilizatorului a fost una rudimentar
ă
în care nu putea s
ă
fac
ă
prea multe lucruri, ea afi
ș
ând doar câteva butoane la care utilizatorul se putea uita.
23
Deoarece utilizatorul nu avea prea mult
ă
libertate de mi
ș
care s-a pus în scen
ă
o
camer
ă
cu o mas
ă
ș
i o m achet
ă
pe ea oferindu-i posibilitatea de mi
ș
care, explorare a
înc
ă
perii
ș
i selectare a punctelor prin intermediul machetei.
5.4.4. Punerea în scen
ă
Scena
este
reprezentat
ă
de
elementele
folosite
de
c
ă
tre
aplica
ț
ie,
acestea
nefiind
vizibile
utilizatorului.
Majoritatea
elementelor
din
scen
ă
sunt
folosite
ca
„prefabricate”
ele
func
ț
ionând
ca
un
ș
ablon
cu
ajutorul
c
ă
ruia
pot
fi
create
instan
ț
e
ale
obiectului.
În
scen
ă
exist
ă
elemente
statice
ș
i
dinamice,
cele
din
urm
ă
schimbându-se
în
func
ț
ie
de
anumi
ț
i factori.
24
5.4.4.1. Elementele Statice
GvrEditorEmulator
este
oferit
de
c
ă
tre
sdk-ul
celor
de
la
Google
ș
i
este
folosit
pentru
a putea simula în editor mi
ș
c
ă
rile capului f
ă
r
ă
a fi nevoie s
ă
se foloseasc
ă
un telefon.
GvrEventSystem este modul prin care se trimit evenimente obiectelor din scen
ă
.
GvrControllerMain necesar pentru a putea folosi joystick-ul celor de la Daydream.
Juc
ă
torul este compu s din mai multe elemente acestea fiind:
–
panza folosit
ă
pentru a putea desena elemente grafice ce
ț
in de juc
ă
tor
–
cercul
este
un
element
grafic
folosit
împreun
ă
cu
canvasul
pentru
a
putea
ar
ă
ta
utilizatorului
atunci
când
prive
ș
te
c
ă
tre
un
anumit
obiect
cât
timp
mai
dureaz
ă
pân
ă
este selecta t
–
camera este folosit
ă
pentru a putea viziona scena
–
GvrReticlePointer creeaz
ă
un punct în mijlocul camerei
Modelul înc
ă
perii cup rinde:
–
camera ce reprezint
ă
pere
ț
ii, tavanul
ș
i podeaua înc
ă
perii
–
macheta este o reprezenta
ț
ie a campusului
–
masa este obiectul pe care st
ă
amplasat
ă
macheta
Managerul de videouri controleaz
ă
ce film
ă
ri s
ă
cear
ă
de la server.
5.4.4.2. Elementele Dinamice
Sfera
este
creat
ă
la
execu
ț
ia
aplica
ț
iei
ș
i
este
folosit
ă
pentru
a
oferi
efectul
de
realitate
virtual
ă
utilizatorului.
5.4.5. Efectul de realitate virtual
ă
Ob
ț
inerea
efectului
de
realitate
virtual
ă
se
realizeaz
ă
în
motorul
grafic
cu
ajutorul
sferei create dinamic
ș
i cu ajutorul camerei pozi
ț
ionate în centrul sferei.
Sfera
trebuie
configurat
ă
în
a
ș
a
fel
încât
s
ă
permit
ă
vizualizarea
videourilor
în
interiorul
s
ă
u,
aceast
ă
op
ț
iune
nefiind
prestabilit
ă
în
Unity.
Pentru
a
putea
fi
realizat
acest lucru întâi se creeaz
ă
un „Shader” de tipul „Unlit Shader”.
Acest
„shader”
se
deschide
cu
Visual
Studio
ș
i
se
modific
ă
din
cod
ad
ă
ugându-se
în
sec
ț
iunea
„SubShader”
linia
„Cull
Front”
acest
lucru
însemnând
c
ă
sfera
nu
va
ar
ă
ta
filmul prin exterior ci în interior.
25
Apoi
se
creeaz
ă
un
material
c
ă
ruia
i
se
va
aplica
„shad er-ul”
men
ț
ionat
anterior.
Materialul
se
va
aplica
pe
sfer
ă
permi
ț
ând
acesteia
s
ă
arate
videoul
din
interior
oferind
astfel un efect de 360 de grade
ș
i realitate virtual
ă
.
Camera
va
fi
amplasat
ă
în
mijlocul
sferei
ac
ț
ionând
ca
ochii
unei
persoane
ce
are
posibilitatea s
ă
priveasc
ă
totul în jurul ei.
26
5.4.6. Provoc
ă
ri majo re întâmpinate
Obstacolele
identificate
în
implementarea
unei
astfel
de
aplica
ț
ii
sunt
diverse
ș
i
numeroase.
Deoarece
acest
domeniu
este
unul
relativ
nou
în
ceea
ce
prive
ș
te
implementarea
sa
software
primul
obstacol
ap
ă
rut
a
fost
documenta
ț
ia
pu
ț
in
ă
ș
i
învechit
ă
fa
ț ă
de
viteza
de
dezvoltare
a
acestui
domeniu.
Rezolvarea
fiind
c
ă
utarea
mult
mai
am
ă
nun
ț
it
ă
ș
i
solu
ț
ionarea provoc
ă
rilor bucat
ă
cu bucat
ă
.
Al
doilea
obstacol
întâmpinat
a
fost
dimensiunea
mare
a
film
ă
rilor
care
nu
puteau
fi
stocate
pe
un
telefon
mobil.
Solu
ț
ia
a
fost
crearea
unui
server
cu
un
spa
ț
iu
de
stocare
mare
ș
i trimiterea video urilor prin intermediul internetului.
Al
treilea
obstacol
a
fost
constituit
de
limitarea
vizion
ă
rii
unui
element
video
în
interiorul
unei
sfere.
Între
dou
ă
film
ă
ri,
deoarece
exist
ă
timp
de
înc
ă
rcare
pentru
o
scurt
ă
frac
ț
iune
de
secund
ă
,
ap
ă
rea
un
fundal
alb
ce
altera
efectul
de
realitate
virtual
ă
.
Rezolvarea a fost crearea a dou
ă
sfere
ș
i înc
ă
rcarea asincron
ă
a videourilor.
Al
patrulea
obstacol
întâmpinat
a
fost
maparea
ș
i
realizarea
drumului
dinamic
pe
baza
a
dou
ă
puncte.
Solu
ț
ia
a
fost
tratarea
drumurilor
liniare
sub
form
ă
de
list
ă
ș
i
bifurca
ț
ia drumurilor su b form
ă
de alte dou
ă
subliste în list
ă
.
27
CAPITOLUL 6. TESTAREA APLICA
Ț
IEI
Testarea
unei
aplica
ț
ii
are
ca
scop
livrarea
unui
produs
software
cât
mai
bun
ș
i
lipsit
de defecte
ș
i erori. Pentr u realizarea acestui lucru testarea se împarte în mai mul
ț
i pa
ș
i.
Pa
ș
ii sunt urm
ă
torii:
–
Testare
unitar
ă
sau
în
englez
ă
numit
ă
unit
testing.
În
aceast
ă
etap
ă
fiecare
func
ț
ie
ș
i
component
ă
este
testat
ă
individual
fiind
de
obicei
verificat
scenariul
cel
mai
favorabil.
În
majoritatea
timpului
testarea
unitar
ă
este
realizat
ă
de
cel
care
a
scris codul adic
ă
de programator
–
Testarea
integr
ă
rii
sau
în
englez
ă
integration
testing.
În
aceast
ă
etap
ă
se
realizeaz
ă
integr area codului cât mai complet în aplica
ț
ie
ș
i testarea ei.
–
Testarea
sistemului
sau
în
englez
ă
system
testing.
Aici
se
verific
ă
func
ț
ionalitatea
aplica
ț
iei
împreu n
ă
cu
toate
componentele
sale
din
toate
punctele
de
vedere
ș
i
pe
cât mai multe sisteme de operare
–
Testarea
accept
ă
rii
utilizatorului
sau
în
englez
ă
user
acceptance
testing.
În
aceast
ă
etap
ă
clientul
î
ș
i
d
ă
acordul
c
ă
accept
ă
aplica
ț
ia
sau
produsul
software
ș
i
c
ă
este gata pent ru folosirea
ș
i implementarea acestuia
–
Lansarea
sau
în
englez
ă
release.
Aceast
ă
etap
ă
presupune
instalarea
produsului
pentru
client
ș
i
verificarea
unor
pa
ș
i
precum
dezinstal area,
unde
se
testeaz
ă
dac
ă
aplica
ț
ia a fost
ș
tears
ă
cu totul
Testele
pot
fi
de
mai
multe
tipuri:
teste
manuale
sau
automate.
Testarea
manual
ă
necesit
ă
executarea
lor
prin
intermediul
unui
om,
acesta
putând
s
ă
identifice
dac
ă
un
test a trecut cu succes sau nu.
Testarea
automat
ă
are
ca
scop
executarea
testelor
f
ă
r
ă
interven
ț
ie
uman
ă
ș
i
trimiterea unui raport cu rezultatul.
Testarea aplica
ț
iei s-a f
ă
cut atât prin testare automat
ă
cât
ș
i prin testare manual
ă
.
6.1. Testarea manual
ă
Testarea
manual
ă
este
procesul
prin
care
o
aplica
ț
ie
software
este
verificat
ă
de
defecte
ș
i
erori,
acea sta
având
nevoie
de
interven
ț
ie
uman
ă
pentru
a
asigura
desf
ă ș
urarea corect
ă
a acestui proces.
6.1.1. Test de verificare a serverului
Deoarece
aplica
ț
ia
folose
ș
te
un
server
este
nevoie
de
un
test
ce
verific
ă
dac
ă
poate
fi
accesat.
Testul
este
manual
deoarece
dac
ă
nu
se
poate
accesa
pagina
de
început
va
fi
nevoie
s
ă
fie
investigat
ă
problema
ș
i
reparat
ă
.
Este
nevoie
s
ă
fie
executat
pe
acela
ș
i
sistem
de
operare
pe
care
este
instalat
serverul
deoarece
testul
preia
ip-ul
sistemului
de
operare
ș
i apeleaz
ă
pagina de start prin rest api.
Testul va trece dac
ă
serverul este pornit. Dac
ă
nu, va e
ș
ua.
28
6.2 Testarea automat
ă
Testarea
automat
ă
implic
ă
de
obicei
folosirea
unui
softwa re
specializat
care
poate
s
ă
execute
mai
mult
de
un
test
f
ă
r
ă
întrerupere.
Testele
automa te
au
un
scenariu
repetitiv
ș
i un rezultat previzibil.
Pentru
testarea
automat
ă
s-au
creat
câteva
scenarii
ș
i
un
anumit
num
ă
r
de
teste
ce
au
fost executate cu ajutorul instrumentului Test Runner integrat în motorul grafic Unity.
6.2.1. Unity Test Runner
Test
Runner
este
un
instrument
pentru
testarea
codului
integrat
în
Unity.
Pentru
a
putea
crea
teste,
întâi
este
nevoie
s
ă
se
creeze
un
folder
în
care
se
va
genera
automat
fi
ș
ierul de configurare p entru a putea fi executat cu Test Runner.
Dup
ă
ce a fost creat fi
ș
ierul se va deschide
ș
i se vor crea testele.
Pentru
a
putea
accesa
instrumentul
în
Unity
se
va
face
click
pe
Window
>
Test
Runner.
29
Dup
ă
click
se
va
deschide
o
fereastr
ă
în
Unity
ce
va
fi
implicit
ă
pe
Edit
Mode,
îns
ă
testele
fiind
create
pentru
a
putea
testa
obiectele
din
scen
ă
este
necesar
ă
selectarea
op
ț
iunii Play Mode.
6.2.2. Test automat de creare a sferei în scen
ă
În
acest
scenariu
a
fost
replicat
ă
scena
ș
i
s-a
verificat
dac
ă
sfera
poate
fi
creat
ă
cu
succes în aplica
ț
ie.
Condi
ț
ia de trecere a testului este s
ă
creeze cu succes obiec tul.
6.2.3. Test automat de verificare a ad
ă
ug
ă
rii de elemente noi pe obiectele create
Acest
test
a
fost
conceput
pentru
a
verifica
dac
ă
dup
ă
crearea
unei
sfere
în
orice
scen
ă
acesteia îi pot fi ad
ă
ugat e componente noi.
Condi
ț
ia de trecere a testului este ad
ă
ugarea cu succes a un ei componente noi.
6.2.4. Test automat de verificare a camerei în raport cu sfera
Testul
a
fost
conceput
pentru
a
verifica
pozi
ț
ia
camerei
fa
ț ă
de
pozi
ț
ia
sferei.
În
acest
caz
se
verific
ă
dac
ă
camera
este
în
interiorul
sferei
ș
i
dac
ă
are
acelea
ș
i
coordonate
cu
sfera în scen
ă
.
Condi
ț
ia de trecere es te ca pozi
ț
iile s
ă
coincid
ă
.
30
6.2.5. Test automat de verificare a înc
ă
rc
ă
rii elementelor prestabilite cu scena
Testul
a
fost
creat
pentru
a
verifica
dac
ă
elementele
implicite
se
creeaz
ă
la
clonarea
scenei.
Condi
ț
ia de trecere a testului este s
ă
se încarce toate eleme ntele prestabilite.
6.2.6. Test automat de verificare a înc
ă
rc
ă
rii unui video în sfer
ă
Testul
a
fost
creat
pentru
a
vedea
dac
ă
exist
ă
comunicarea
între
aplica
ț
ie
ș
i
server
în
momentul în care se cere un video.
Condi
ț
ia de trecere a testului este s
ă
încarce videoul.
6.2.7. Rezultatele testelor automate
Toate testele automate men
ț
ionate mai sus au fost executate cu succes.
31
CONCLUZII
32
BIBLIOGRAFIE
33
ANEXE
34
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: INTRODUCERE Realitatea virtual ă a ap ă rut ca ș [621834] (ID: 621834)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
