{"id":29038,"date":"2024-09-13T05:00:00","date_gmt":"2024-09-13T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=29038"},"modified":"2025-05-07T11:39:58","modified_gmt":"2025-05-07T09:39:58","slug":"nowoczesne-podejscie-do-zatrudniania-system-rekrutacji-oparty-na-technologii-vr","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/nowoczesne-podejscie-do-zatrudniania-system-rekrutacji-oparty-na-technologii-vr\/","title":{"rendered":"Nowoczesne podej\u015bcie do zatrudniania \u2013 system rekrutacji oparty na technologii VR"},"content":{"rendered":"\n<p>W erze nowoczesnych technologii, kt\u00f3re dynamicznie zmieniaj\u0105 nasze codzienne \u017cycie, automatyzacja oraz przenoszenie proces\u00f3w do \u015bwiata wirtualnego staje si\u0119 coraz bardziej powszechne. Jednym z obszar\u00f3w, kt\u00f3ry mo\u017ce zyska\u0107 na innowacyjnych rozwi\u0105zaniach, jest rekrutacja. Wirtualna Rzeczywisto\u015b\u0107 (VR) oferuje nowe, immersyjne do\u015bwiadczenia, kt\u00f3re mog\u0105 znacz\u0105co wp\u0142yn\u0105\u0107 na spos\u00f3b, w jaki kandydaci wchodz\u0105 w interakcje z przysz\u0142ymi pracodawcami.<\/p>\n\n\n\n<p>Niniejszy projekt badawczy <strong>analizuje wp\u0142yw VR na proces rekrutacyjny<\/strong>, por\u00f3wnuj\u0105c tradycyjn\u0105 aplikacj\u0119 webow\u0105 z jej bardziej zaawansowanym odpowiednikiem opartym na technologii VR. <\/p>\n\n\n\n<p>W artykule chcia\u0142bym <strong>przedstawi\u0107 m\u00f3j projekt<\/strong>, kt\u00f3ry jest w ci\u0105g\u0142ym rozwoju. Kr\u00f3tko om\u00f3wi\u0119 technologie zastosowane w projekcie, szczeg\u00f3\u0142owo zaprezentuj\u0119 wersj\u0119 VR aplikacji oraz przedstawi\u0119 aktualny stan prac i plan dalszego rozwoju projektu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>G\u0142\u00f3wna struktura projektu<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Backend<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Spring Boot \u2013<\/strong> backend aplikacji oparty na Spring Boot zarz\u0105dza logik\u0105 biznesow\u0105 oraz danymi u\u017cytkownik\u00f3w, kandydat\u00f3w i administrator\u00f3w. Spring Boot pozwala na szybkie tworzenie skalowalnych aplikacji, kt\u00f3re mog\u0105 by\u0107 \u0142atwo integrowane z frontendem. Framework ten zapewnia efektywne operacje CRUD (Create, Read, Update, Delete) w po\u0142\u0105czeniu z baz\u0105 danych oraz wspiera zarz\u0105dzanie procesami biznesowymi.<\/li>\n\n\n\n<li><strong>PostgreSQL<\/strong> \u2013 do przechowywania danych aplikacyjnych wykorzystano baz\u0119 danych PostgreSQL, charakteryzuj\u0105c\u0105 si\u0119 wysok\u0105 wydajno\u015bci\u0105 i stabilno\u015bci\u0105. Umo\u017cliwia obs\u0142ug\u0119 du\u017cej liczby zapyta\u0144 oraz przechowywanie danych kandydat\u00f3w, ofert pracy i wynik\u00f3w rekrutacji. PostgreSQL oferuje zaawansowane funkcje, takie jak transakcje, indeksowanie i zaawansowane zapytania.<\/li>\n\n\n\n<li><strong>Keycloak<\/strong> \u2013 system Keycloak jest u\u017cywany do uwierzytelniania i autoryzacji u\u017cytkownik\u00f3w. Oferuje zarz\u0105dzanie sesjami u\u017cytkownik\u00f3w, mo\u017cliwo\u015b\u0107 logowania przez r\u00f3\u017cne platformy (Google, Facebook), kontrolowanie r\u00f3l (kandydat, administrator) oraz zapewnia zaawansowane zabezpieczenia.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Frontend \u2013 wersja webowa<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>React.js \u2013 <\/strong>frontend aplikacji webowej zosta\u0142 stworzony w React.js, co pozwala na dynamiczne renderowanie i szybkie \u0142adowanie interfejsu u\u017cytkownika. React.js umo\u017cliwia budowanie komponent\u00f3w UI, kt\u00f3re dostosowuj\u0105 si\u0119 do r\u00f3\u017cnych rozmiar\u00f3w ekran\u00f3w i urz\u0105dze\u0144, co poprawia responsywno\u015b\u0107 aplikacji.<\/li>\n\n\n\n<li><strong>Material-UI \u2013<\/strong> wykorzystanie komponent\u00f3w Material-UI umo\u017cliwia tworzenie nowoczesnych i estetycznych interfejs\u00f3w u\u017cytkownika. Oferuje zestaw gotowych komponent\u00f3w zgodnych z zasadami projektowania Material Design, co wp\u0142ywa na intuicyjno\u015b\u0107 i \u0142atwo\u015b\u0107 w nawigacji po aplikacji.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Wersja VR<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Unity<\/strong> \u2013 silnik Unity jest u\u017cywany do stworzenia wirtualnego \u015brodowiska biurowego, kt\u00f3re pozwala kandydatom na swobodne poruszanie si\u0119 i interakcj\u0119 z otoczeniem. Unity wspiera zaawansowane techniki graficzne oraz fizyk\u0119, umo\u017cliwiaj\u0105c stworzenie realistycznego i immersyjnego do\u015bwiadczenia.<\/li>\n\n\n\n<li><strong>Blender<\/strong> \u2013 modelowanie poszczeg\u00f3lnych element\u00f3w wirtualnego biura, takich jak meble, komputery i dekoracje, zosta\u0142o zrealizowane przy pomocy Blendera.<\/li>\n\n\n\n<li><strong>Photon Network i Photon Voice<\/strong> \u2013 technologia Photon Network wspiera tryb multiplayer, umo\u017cliwiaj\u0105c interakcj\u0119 w czasie rzeczywistym w tym samym wirtualnym biurze. Photon Voice zapewnia wysok\u0105 jako\u015b\u0107 komunikacji g\u0142osowej, co wzbogaca interakcj\u0119 podczas rozm\u00f3w kwalifikacyjnych.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pierwsze spotkanie<\/strong><\/h2>\n\n\n\n<p>W ramach wersji VR aplikacji rekrutacyjnej, pierwsz\u0105 scen\u0105, z kt\u00f3r\u0105 u\u017cytkownik ma styczno\u015b\u0107, jest panel do\u0142\u0105czania do serwera. Scena ta jest bram\u0105 wej\u015bciow\u0105 do pozosta\u0142ych funkcji aplikacji.<\/p>\n\n\n\n<p>Panel ten uruchamia si\u0119 w kosmicznym otoczeniu, dodaj\u0105c tym samym unikalny element immersji dla u\u017cytkownika. W tym \u015brodowisku u\u017cytkownik ma pierwsz\u0105 mo\u017cliwo\u015b\u0107 interakcji z aplikacj\u0105, a mianowicie wprowadzenia swojego pseudonimu, kt\u00f3ry b\u0119dzie reprezentowa\u0107 go w p\u00f3\u017aniejszych etapach korzystania z aplikacji.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image1.jpg\"><img decoding=\"async\" width=\"977\" height=\"674\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image1.jpg\" alt=\"Panel logowania u\u017cytkownika \u2013 widok sceny \" class=\"wp-image-29039\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image1.jpg 977w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image1-300x207.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image1-768x530.jpg 768w\" sizes=\"(max-width: 977px) 100vw, 977px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 1 Panel logowania u\u017cytkownika \u2013 widok sceny<\/figcaption><\/figure>\n\n\n\n<p>Jednym z najwa\u017cniejszych element\u00f3w tej sceny jest wirtualna klawiatura zaimplementowana dzi\u0119ki pluginowi VR Keys. Zosta\u0142a ona zaprojektowana tak, aby u\u017cytkownik m\u00f3g\u0142 wprowadza\u0107 tekst spos\u00f3b intuicyjny i realistyczny w \u015brodowisku VR. Klawiatura jest tr\u00f3jwymiarowa i wymaga od u\u017cytkownika namierzenia konkretnego klawisza za pomoc\u0105 kontrolera ruchu, a nast\u0119pnie jego \u201enaci\u015bni\u0119cia\u201d. <\/p>\n\n\n\n<p>Po wprowadzeniu, nazwa u\u017cytkownika jest wy\u015bwietlana jako etykieta nad avatarem w \u015brodowisku wirtualnym. To kluczowy element, kt\u00f3ry umo\u017cliwia innym uczestnikom rozpoznanie u\u017cytkownika w trakcie interakcji w r\u00f3\u017cnych cz\u0119\u015bciach aplikacji.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image4.jpg\"><img decoding=\"async\" width=\"931\" height=\"753\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image4.jpg\" alt=\"Panel logowania, wirtualna klawiatura \u2013 widok sceny \" class=\"wp-image-29043\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image4.jpg 931w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image4-300x243.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image4-768x621.jpg 768w\" sizes=\"(max-width: 931px) 100vw, 931px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 2 Panel logowania, wirtualna klawiatura \u2013 widok sceny<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image8.jpg\"><img decoding=\"async\" width=\"893\" height=\"467\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image8.jpg\" alt=\"Panel logowania \u2013 widok u\u017cytkownika  \" class=\"wp-image-29047\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image8.jpg 893w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image8-300x157.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image8-768x402.jpg 768w\" sizes=\"(max-width: 893px) 100vw, 893px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 3 Panel logowania \u2013 widok u\u017cytkownika\u00a0<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wyb\u00f3r avatara i do\u0142\u0105czanie do sesji<\/strong><\/h2>\n\n\n\n<p>Po zalogowaniu, u\u017cytkownik trafia do lobby, gdzie wybiera avatara na specjalnej platformie z prefabrykatem wsp\u00f3\u0142pracuj\u0105cym z Photon Network. Dzi\u0119ki tej integracji wybrany avatar jest synchronizowany dla wszystkich uczestnik\u00f3w sesji. Platforma wyboru jest intuicyjna, umo\u017cliwia nawigacj\u0119 mi\u0119dzy modelami 3D za pomoc\u0105 przewijania w lewo i prawo.<\/p>\n\n\n\n<p>W lobby znajduje si\u0119 tak\u017ce system lustra z optymalizowanym shaderem, realistycznie odzwierciedlaj\u0105cym posta\u0107 i ruchy. Kamera obserwacyjna przechwytuje obraz z r\u00f3\u017cnych k\u0105t\u00f3w, a zmiany avatara s\u0105 natychmiast widoczne w lustrze. Integracja z Photon Network zarz\u0105dza sesjami sieciowymi, a kluczowe ustawienia s\u0105 konfigurowane przez \u201ePhoton Server Settings\u201d, co u\u0142atwia zarz\u0105dzanie aplikacj\u0105 i limitami graczy.<\/p>\n\n\n\n<p>W obecnej konfiguracji dost\u0119pna jest jedna sesja o nazwie \u201eBiuro Job Magnet\u201d. Po jej wybraniu z panelu interfejsu u\u017cytkownika nast\u0119puje seria wywo\u0142a\u0144 metod Photon API. Obejmuje to mi\u0119dzy innymi proces autentykacji, do\u0142\u0105czenia do konkretnej sesji oraz synchronizacj\u0119 stan\u00f3w w czasie rzeczywistym.<\/p>\n\n\n\n<p>Warto zauwa\u017cy\u0107, \u017ce projekt korzysta z darmowej wersji Photon Network, kt\u00f3ra umo\u017cliwia obs\u0142ug\u0119 do 20 u\u017cytkownik\u00f3w jednocze\u015bnie. Dla cel\u00f3w projektu jest to rozwi\u0105zanie wi\u0119cej ni\u017c wystarczaj\u0105ce, eliminuj\u0105c potrzeb\u0119 inwestowania w bardziej rozbudowane plany p\u0142atno\u015bciowe. Dzi\u0119ki zastosowaniu Photon API, zarz\u0105dzanie sesjami jest nie tylko efektywne, ale tak\u017ce elastyczne, co pozwala na skalowanie projektu w przysz\u0142o\u015bci.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image10.jpg\"><img decoding=\"async\" width=\"808\" height=\"472\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image10.jpg\" alt=\"JobMagnetVR \u2013 interfejs do\u0142\u0105czania do serwera, widok u\u017cytkownika \" class=\"wp-image-29049\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image10.jpg 808w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image10-300x175.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image10-768x449.jpg 768w\" sizes=\"(max-width: 808px) 100vw, 808px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 4 JobMagnetVR \u2013 interfejs do\u0142\u0105czania do serwera, widok u\u017cytkownika<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wirtualne biuro JobMagnet \u2013 interakcje i nawigacja<\/strong><\/h2>\n\n\n\n<p>Wirtualne biuro zosta\u0142o zaprojektowane z my\u015bl\u0105 o intuicyjno\u015bci i funkcjonalno\u015bci, aby u\u017cytkownicy mogli swobodnie porusza\u0107 si\u0119 i komunikowa\u0107 w tej przestrzeni.<\/p>\n\n\n\n<p>U\u017cytkownik porusza si\u0119 po wirtualnym biurze za pomoc\u0105 lewej ga\u0142ki steruj\u0105cej na lewym kontrolerze ruchu. Ga\u0142ka ta odpowiada za p\u0142ynne i precyzyjne przemieszczanie si\u0119 postaci mi\u0119dzy r\u00f3\u017cnymi strefami w biurze. W prawym kontrolerze ruchu znajduje si\u0119 druga ga\u0142ka, kt\u00f3ra umo\u017cliwia obr\u00f3t \u201ekamery\u201d, czyli zmian\u0119 perspektywy widzenia lewo-prawo, co zwi\u0119ksza komfort nawigacji i pozwala na \u0142atwiejsze skanowanie otoczenia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>G\u0142os i d\u017awi\u0119k<\/strong><\/h3>\n\n\n\n<p>Wirtualne biuro wykorzystuje Photon Voice dla realizacji chatu g\u0142osowego, zapewniaj\u0105c wysok\u0105 jako\u015b\u0107 d\u017awi\u0119ku i minimalne op\u00f3\u017anienia. Technologia ta jest zintegrowana z Photon Network, synchronizuj\u0105c g\u0142os pomi\u0119dzy r\u00f3\u017cnymi uczestnikami sesji.<\/p>\n\n\n\n<p>W celu intuicyjnej wizualizacji u\u017cycia mikrofonu i g\u0142o\u015bnik\u00f3w, zaimplementowano system ikon wy\u015bwietlanych nad avatarami u\u017cytkownik\u00f3w. Gdy u\u017cytkownik korzysta z mikrofonu, nad jego avatarem pojawia si\u0119 ikona mikrofonu. Odpowiednio, gdy inny u\u017cytkownik m\u00f3wi, nad jego avatarem wy\u015bwietlana jest ikona g\u0142o\u015bnika.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image12.jpg\"><img decoding=\"async\" width=\"967\" height=\"666\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image12.jpg\" alt=\"JobMagnetVR \u2013 rozmowa u\u017cytkownik\u00f3w, widok sceny \" class=\"wp-image-29051\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image12.jpg 967w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image12-300x207.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image12-768x529.jpg 768w\" sizes=\"(max-width: 967px) 100vw, 967px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 5 JobMagnetVR \u2013 rozmowa u\u017cytkownik\u00f3w, widok sceny<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image14.jpg\"><img decoding=\"async\" width=\"876\" height=\"500\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image14.jpg\" alt=\"JobMagnetVR \u2013 widok u\u017cytkownika \" class=\"wp-image-29055\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image14.jpg 876w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image14-300x171.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image14-768x438.jpg 768w\" sizes=\"(max-width: 876px) 100vw, 876px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 6 JobMagnetVR \u2013 widok u\u017cytkownika<\/figcaption><\/figure>\n\n\n\n<p>Unikatow\u0105 cech\u0105 chatu g\u0142osowego w tym \u015brodowisku jest zastosowanie zr\u00f3\u017cnicowanej g\u0142o\u015bno\u015bci d\u017awi\u0119ku w zale\u017cno\u015bci od odleg\u0142o\u015bci pomi\u0119dzy u\u017cytkownikami. Dzi\u0119ki temu, rozmowy s\u0105 bardziej realistyczne i immersyjne, co dodatkowo wp\u0142ywa na komfort i jako\u015b\u0107 komunikacji. W praktyce oznacza to, \u017ce im bli\u017cej siebie znajduj\u0105 si\u0119 u\u017cytkownicy, tym g\u0142o\u015bniej s\u0142ysz\u0105 si\u0119 nawzajem, co imituje naturalne warunki rozmowy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Interakcje<\/strong><\/h3>\n\n\n\n<p>W \u015brodowisku wirtualnego biura zintegrowano tak\u017ce funkcj\u0119, kt\u00f3ra umo\u017cliwia u\u017cytkownikowi powr\u00f3t do lobby. Po klikni\u0119ciu ikony \u201eX\u201d na interfejsie pojawia si\u0119 na\u0142o\u017cony panel z guzikiem, kt\u00f3ry po aktywacji przenosi u\u017cytkownika z powrotem do g\u0142\u00f3wnego lobby. Ta funkcjonalno\u015b\u0107 dodaje warstw\u0119 komfortu i elastyczno\u015bci, pozwalaj\u0105c u\u017cytkownikom \u0142atwo prze\u0142\u0105cza\u0107 si\u0119 mi\u0119dzy r\u00f3\u017cnymi cz\u0119\u015bciami aplikacji.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image16.jpg\"><img decoding=\"async\" width=\"848\" height=\"490\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image16.jpg\" alt=\"JobMagnetVR \u2013 powr\u00f3t do lobby, widok u\u017cytkownika \" class=\"wp-image-29057\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image16.jpg 848w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image16-300x173.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image16-768x444.jpg 768w\" sizes=\"(max-width: 848px) 100vw, 848px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 7 JobMagnetVR \u2013 powr\u00f3t do lobby, widok u\u017cytkownika<\/figcaption><\/figure>\n\n\n\n<p>Integracja zewn\u0119trznej aplikacji webowej w wirtualnym biurze zosta\u0142a zrealizowana za pomoc\u0105 pluginu Vuplex WebView. Plugin ten umo\u017cliwia wy\u015bwietlanie zeskalowanego i optymalizowanego interfejsu aplikacji webowej bezpo\u015brednio w wirtualnym \u015brodowisku. U\u017cytkownik mo\u017ce aktywowa\u0107 ekran aplikacji w dowolnym miejscu biura, naciskaj\u0105c przycisk \u201eY\u201d na lewym kontrolerze. Po tej akcji, ekran z interfejsem aplikacji webowej pojawia si\u0119 przed u\u017cytkownikiem, wraz z dedykowan\u0105, interaktywn\u0105 klawiatur\u0105 wirtualn\u0105.<\/p>\n\n\n\n<p>Klawiatura ta jest zoptymalizowana pod k\u0105tem interakcji z aplikacj\u0105, umo\u017cliwiaj\u0105c wprowadzanie danych, przegl\u0105danie zawarto\u015bci i wykonywanie innych zada\u0144, kt\u00f3re normalnie wymaga\u0142yby korzystania z tradycyjnej klawiatury i myszy. Co nie oznacza, \u017ce nie mo\u017cna pod\u0142\u0105czy\u0107 zewn\u0119trznych urz\u0105dze\u0144 Bluetooth. Dzi\u0119ki takiemu rozwi\u0105zaniu, u\u017cytkownicy, kt\u00f3rzy czuj\u0105 si\u0119 bardziej komfortowo z tradycyjnymi metodami wprowadzania danych, mog\u0105 r\u00f3wnie\u017c na sw\u00f3j spos\u00f3b interaktywnie korzysta\u0107 z aplikacji webowej w \u015brodowisku wirtualnym. Ta elastyczno\u015b\u0107 w obszarze interakcji dodatkowo podnosi u\u017cyteczno\u015b\u0107 i dost\u0119pno\u015b\u0107 ca\u0142ego wirtualnego biura.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image18.jpg\"><img decoding=\"async\" width=\"899\" height=\"505\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image18.jpg\" alt=\"JobMagnetVR \u2013 aplikacja webowa, widok u\u017cytkownika \" class=\"wp-image-29060\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image18.jpg 899w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image18-300x169.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image18-768x431.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image18-555x312.jpg 555w\" sizes=\"(max-width: 899px) 100vw, 899px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 8 JobMagnetVR \u2013 aplikacja webowa, widok u\u017cytkownika<\/figcaption><\/figure>\n\n\n\n<p>Dodatkowo, WebView jest podpi\u0119ty do domeny, na kt\u00f3rej hostowana jest aplikacja, co eliminuje potrzeb\u0119 dodatkowego obci\u0105\u017cania sprz\u0119tu u\u017cytkownika. Zamiast tego, zasoby s\u0105 pobierane i przetwarzane na zewn\u0119trznym serwerze, co znacz\u0105co wp\u0142ywa na optymalizacj\u0119 i wydajno\u015b\u0107.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image20.jpg\"><img decoding=\"async\" width=\"723\" height=\"233\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image20.jpg\" alt=\"Plik konfiguracyjny \u2013 Canavas Web View Perfab (Script) \" class=\"wp-image-29062\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image20.jpg 723w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image20-300x97.jpg 300w\" sizes=\"(max-width: 723px) 100vw, 723px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 9 Plik konfiguracyjny \u2013 Canavas Web View Perfab (Script)<\/figcaption><\/figure>\n\n\n\n<p>Ten mechanizm dodaje dodatkowy poziom interaktywno\u015bci i funkcjonalno\u015bci do wirtualnego biura, umo\u017cliwiaj\u0105c u\u017cytkownikowi swobodny dost\u0119p do zasob\u00f3w i narz\u0119dzi webowych bez konieczno\u015bci opuszczania wirtualnej przestrzeni.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Modelowanie \u015brodowiska 3D<\/strong><\/h2>\n\n\n\n<p>Kreacja wirtualnego biura w Unity Editor obejmowa\u0142a kilka etap\u00f3w technicznych. Elementy takie, jak biurka, krzes\u0142a, dekoracje czy interaktywne panele zosta\u0142y umieszczone w tr\u00f3jwymiarowej siatce (grid) koordynat\u00f3w przestrzennych. W tym kontek\u015bcie, praktyki takie, jak 'snapping&#8217; oraz 'parenting&#8217; by\u0142y cz\u0119sto wykorzystywane dla precyzyjnego rozmieszczenia i relacyjnego pozycjonowania obiekt\u00f3w. Wa\u017cnym aspektem by\u0142o r\u00f3wnie\u017c zastosowanie r\u00f3\u017cnych technik skalowania i transformacji, korzystaj\u0105c z mechanizm\u00f3w takich, jak 'Transform&#8217; component w Unity. To pozwala\u0142o na dynamiczn\u0105 manipulacj\u0119 wielko\u015bci\u0105, orientacj\u0105 i pozycj\u0105 ka\u017cdego z element\u00f3w w czasie rzeczywistym.<\/p>\n\n\n\n<p>Zastosowanie technik 'lightmappingu&#8217; oraz 'occlusion culling&#8217; dodatkowo podnosi\u0142o poziom realizmu i efektywno\u015bci renderowania, minimalizuj\u0105c jednocze\u015bnie obci\u0105\u017cenie dla silnika gry. Wszystko to mia\u0142o na celu stworzenie \u015brodowiska, kt\u00f3re nie tylko jest atrakcyjne wizualnie, ale r\u00f3wnie\u017c zoptymalizowane pod k\u0105tem wydajno\u015bci.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image24.jpg\"><img decoding=\"async\" width=\"530\" height=\"255\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image24.jpg\" alt=\"JobMagnetVR \u2013 widok sceny\" class=\"wp-image-29064\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image24.jpg 530w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image24-300x144.jpg 300w\" sizes=\"(max-width: 530px) 100vw, 530px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 10 JobMagnetVR \u2013 widok sceny<\/figcaption><\/figure>\n\n\n\n<p>Cz\u0119\u015b\u0107 komponent\u00f3w wirtualnego biura by\u0142a zbyt specyficzna, by m\u00f3c korzysta\u0107 z dost\u0119pnych prefabrykat\u00f3w. Dlatego te unikatowe elementy zosta\u0142y stworzone manualnie w programie Blender. Po zako\u0144czeniu procesu modelowania, elementy by\u0142y eksportowane do format\u00f3w .FBX lub .OBJ, co pozwala\u0142o na ich dalsz\u0105 manipulacj\u0119 i integracj\u0119 w Unity. Ten etap pracy r\u00f3wnie\u017c obejmowa\u0142 techniczne aspekty takie, jak mapowanie UV, naniesienie tekstur i kalibracja shader\u00f3w, aby zachowa\u0107 sp\u00f3jno\u015b\u0107 wizualn\u0105 i jako\u015b\u0107 detali w finalnym produkcie.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image28.jpg\"><img decoding=\"async\" width=\"476\" height=\"240\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image28.jpg\" alt=\"JobMagnetVR \u2013 widok sceny \" class=\"wp-image-29066\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image28.jpg 476w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image28-300x151.jpg 300w\" sizes=\"(max-width: 476px) 100vw, 476px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 11 JobMagnetVR \u2013 widok sceny<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image29.jpg\"><img decoding=\"async\" width=\"430\" height=\"201\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image29.jpg\" alt=\"JobMagnetVR \u2013 widok sceny \" class=\"wp-image-29068\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image29.jpg 430w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image29-300x140.jpg 300w\" sizes=\"(max-width: 430px) 100vw, 430px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 12 JobMagnetVR \u2013 widok sceny<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image34.jpg\"><img decoding=\"async\" width=\"794\" height=\"381\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image34.jpg\" alt=\"JobMagnetVR \u2013 widok sceny\" class=\"wp-image-29070\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image34.jpg 794w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image34-300x144.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image34-768x369.jpg 768w\" sizes=\"(max-width: 794px) 100vw, 794px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 13 JobMagnetVR \u2013 widok sceny<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wizualizacje zewn\u0119trzne, postprocesing i animacje NPC<\/strong><\/h2>\n\n\n\n<p>Kluczowym elementem w kreacji realistycznego widoku zewn\u0119trznego jest zastosowanie narz\u0119dzi AI. Narz\u0119dzia oparte s\u0105 na zaawansowanych algorytmach proceduralnych, kt\u00f3re z automatu generuj\u0105 dynamiczne i z\u0142o\u017cone struktury miejskie. Chocia\u017c narz\u0119dzie to oferuje szerokie mo\u017cliwo\u015bci konfiguracji, wymaga\u0142o ono r\u00f3wnie\u017c spersonalizowanego dostosowania do specyficznych potrzeb projektu. Elementy takie, jak g\u0119sto\u015b\u0107 zabudowy, typy i wysoko\u015b\u0107 budynk\u00f3w, uk\u0142ad dr\u00f3g i wielu innych zosta\u0142y r\u0119cznie skonfigurowane w edytorze Unity, aby osi\u0105gn\u0105\u0107 zamierzony efekt wizualny i funkcjonalny.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image38.jpg\"><img decoding=\"async\" width=\"476\" height=\"207\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image38.jpg\" alt=\"JobMagnetVR \u2013 widok sceny \" class=\"wp-image-29072\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image38.jpg 476w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image38-300x130.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image38-370x162.jpg 370w\" sizes=\"(max-width: 476px) 100vw, 476px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 14 JobMagnetVR \u2013 widok sceny<\/figcaption><\/figure>\n\n\n\n<p>Poza generowaniem struktury miasta, plugin zosta\u0142 zintegrowany z mechanizmami postprocesingu dost\u0119pnymi w Unity. Obejmuje to generowanie realistycznego ruchu ulicznego przy wykorzystaniu system\u00f3w cz\u0105steczkowych oraz narz\u0119dzi nawigacyjnych Unity takich, jak NavMesh Agents. Ka\u017cdy pojazd i przechodzie\u0144 na scenie jest sterowany przez algorytmy, kt\u00f3re w real-time&#8217;ie symuluj\u0105 ich zachowania. Dynamiczne zmienne takie, jak pr\u0119dko\u015b\u0107, kierunek, i g\u0119sto\u015b\u0107 ruchu s\u0105 r\u0119cznie konfigurowane i na bie\u017c\u0105co aktualizowane, co dodaje warstw\u0119 realizmu do generowanej sceny.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image42.jpg\"><img decoding=\"async\" width=\"1024\" height=\"368\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image42-1024x368.jpg\" alt=\"JobMagnetVR \u2013 widok sceny\" class=\"wp-image-29074\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image42-1024x368.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image42-300x108.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image42-768x276.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image42.jpg 1513w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 15 JobMagnetVR \u2013 widok sceny<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Projektowanie NPC<\/strong><\/h3>\n\n\n\n<p>W projektowaniu NPC (Non-Player Characters) kluczow\u0105 rol\u0119 odgrywa Adobe Maximo, kt\u00f3re stanowi platform\u0119 do tworzenia, zarz\u0105dzania i eksportowania zaawansowanych animacji. Zdefiniowane w Maximo animacje s\u0105 eksportowane w formie plik\u00f3w FBX, a nast\u0119pnie importowane do Unity. Wa\u017cnym krokiem jest konfiguracja modeli NPC w Unity na typ 'Humanoid&#8217; w avatarze Unity, co umo\u017cliwia poprawne mapowanie ko\u015bci i sterowanie animacjami.<\/p>\n\n\n\n<p>Po zaimportowaniu, animacje s\u0105 integrowane z Mechanizmem Animatora w Unity. Jest to etap, na kt\u00f3rym konfigurujemy r\u00f3\u017cne stany i parametry takie, jak pr\u0119dko\u015b\u0107, pozycja czy wyzwalacze, aby uzyska\u0107 p\u0142ynno\u015b\u0107 i naturalno\u015b\u0107 ruch\u00f3w.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image46.jpg\"><img decoding=\"async\" width=\"854\" height=\"693\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image46.jpg\" alt=\"JobMagnetVR \u2013 NPC\" class=\"wp-image-29076\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image46.jpg 854w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image46-300x243.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image46-768x623.jpg 768w\" sizes=\"(max-width: 854px) 100vw, 854px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 16 JobMagnetVR \u2013 NPC<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Optymalizacja aplikacji<\/strong><\/h2>\n\n\n\n<p>Optymalizacja aplikacji VR, w szczeg\u00f3lno\u015bci na tak specyficzn\u0105 platform\u0119 jak Oculus Quest 2, jest procesem z\u0142o\u017conym i wymagaj\u0105cym. Wykorzystuj\u0105c bogat\u0105 dokumentacj\u0119 i zasady optymalizacji dostarczone przez Meta Platforms, Inc., przeanalizowano i wprowadzono szereg modyfikacji w r\u00f3\u017cnych aspektach projektu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Konfiguracja \u015brodowiska<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\" start=\"1\">\n<li><strong>Platforma i SDK<\/strong> \u2013 w Unity, w sekcji Build Settings, target platform zosta\u0142a ustawiona na Android z konkretn\u0105 wersj\u0105 SDK zgodn\u0105 z Oculus Quest 2.<\/li>\n\n\n\n<li><strong>Architektura i Instrukcje<\/strong> \u2013 w Project Settings, zak\u0142adka Player, podpunkt Other Settings, wybrano architektur\u0119 ARM64 oraz ustawiono API Level zgodnie z rekomendacjami Meta.<\/li>\n\n\n\n<li><strong>Formaty Tekstur i Kompresja<\/strong> \u2013 ustawienia Importer\u00f3w tekstur zosta\u0142y zaktualizowane, aby korzysta\u0107 z format\u00f3w kompresji ASTC lub ETC2, zgodnie z rekomendacjami dla Oculus Quest 2.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Proces optymalizacyjny<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Analiza profilera<\/strong> \u2013 zaawansowane korzystanie z Unity Profilera, zwracaj\u0105c uwag\u0119 na aspekty takie, jak wykorzystanie CPU, ilo\u015b\u0107 tr\u00f3jk\u0105t\u00f3w i draw calls.<\/li>\n\n\n\n<li><strong>Zoptymalizowane assets<\/strong> \u2013 implementacja system\u00f3w LOD (Level Of Detail), zarz\u0105dzanie danymi przez scriptable objects i zastosowanie technik takich, jak occlusion culling.<\/li>\n\n\n\n<li><strong>Optymalizacja skrypt\u00f3w<\/strong> \u2013 wprowadzenie rozwi\u0105za\u0144 takich, jak Object Pooling, batch processing, i minimalizacja garbage collection poprzez zastosowanie struktur danych niealokuj\u0105cych pami\u0119ci dynamicznie.<\/li>\n\n\n\n<li><strong>Techniki renderingu<\/strong> \u2013 optymalizacja poprzez techniki takie, jak baked lighting, deferred rendering oraz unikanie overdraw, przez inteligentne zarz\u0105dzanie warstwami i transparencj\u0105.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Problem badawczy \u2013 integracja Meta-Awatar\u00f3w i kwestie kompatybilno\u015bci<\/h2>\n\n\n\n<p>Integracja Meta-Awatar\u00f3w w aplikacji Unity3D napotka\u0142a wiele wyzwa\u0144. Kluczowym problemem by\u0142a konieczno\u015b\u0107 rejestracji i zatwierdzenia aplikacji w portalu deweloperskim Meta, co znacznie op\u00f3\u017ania\u0142o rozw\u00f3j. Dodatkowo, testowanie by\u0142o utrudnione przez dynamiczne \u0142adowanie awatar\u00f3w z kont Oculus, wymagaj\u0105ce dw\u00f3ch urz\u0105dze\u0144 Oculus Quest 2, co komplikowa\u0142o logistyk\u0119 i koszty projektu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image50.jpg\"><img decoding=\"async\" width=\"1024\" height=\"448\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image50-1024x448.jpg\" alt=\"Fragment strony \u2013 Meta for developers \" class=\"wp-image-29078\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image50-1024x448.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image50-300x131.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image50-768x336.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image50-370x162.jpg 370w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image50.jpg 1102w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 17 Fragment strony \u2013 Meta for developers<\/figcaption><\/figure>\n\n\n\n<p>Najpowa\u017cniejszym wyzwaniem okaza\u0142o si\u0119 ograniczenie funkcjonalno\u015bci Meta-Awatar\u00f3w w zakresie interakcji z wirtualnym ekranem, co by\u0142o kluczowe dla projektu. Aplikacja webowa wymaga\u0142a pe\u0142nej manipulacji interfejsem, czego Meta-Awatarom brakowa\u0142o.<\/p>\n\n\n\n<p>Kompatybilno\u015b\u0107 z OpenXR wprowadzi\u0142a kolejne trudno\u015bci, wymagaj\u0105c licznych adaptacji kodu. Diagnostyka i wsparcie techniczne Meta by\u0142y niezb\u0119dne, ale proces rozwi\u0105zywania problem\u00f3w by\u0142 czasoch\u0142onny i wymaga\u0142 dog\u0142\u0119bnej wiedzy o OpenXR i Meta-Awatarach.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image51.jpeg\"><img decoding=\"async\" width=\"845\" height=\"479\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image51.jpeg\" alt=\"JobMagnetVR(MetaAvatars) \u2013 widok u\u017cytkownika\" class=\"wp-image-29080\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image51.jpeg 845w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image51-300x170.jpeg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image51-768x435.jpeg 768w\" sizes=\"(max-width: 845px) 100vw, 845px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 18 JobMagnetVR(MetaAvatars) \u2013 widok u\u017cytkownika<\/figcaption><\/figure>\n\n\n\n<p>Ostatecznie, uda\u0142o si\u0119 stworzy\u0107 alternatywn\u0105 wersj\u0119 aplikacji, kt\u00f3ra zawiera MetaAwatary i oferuje funkcje wieloosobowe (multiplayer). W tej wersji, jednak\u017ce, nie ma mo\u017cliwo\u015bci korzystania z wbudowanego ekranu wirtualnego z aplikacj\u0105 webow\u0105.<\/p>\n\n\n\n<p>Wersja projektu z Meta-Awatar\u00f3w wykorzystuje zaawansowane techniki widzenia komputerowego do \u015bledzenia ruch\u00f3w r\u0105k u\u017cytkownika. Dzi\u0119ki zastosowaniu kamery wewn\u0105trz urz\u0105dzenia Oculus Quest 2, algorytmy sztucznej inteligencji analizuj\u0105 obraz w czasie rzeczywistym, identyfikuj\u0105c kluczowe punkty na d\u0142oniach i palcach. Ta informacja jest nast\u0119pnie przetwarzana przez sieci neuronowe, co pozwala na dynamiczne mapowanie ruch\u00f3w r\u0105k u\u017cytkownika na ruchy awatara w wirtualnym \u015bwiecie.<\/p>\n\n\n\n<p>Technologia ta pozwala na niezwykle precyzyjne \u015bledzenie ruch\u00f3w, co otwiera drzwi do r\u00f3\u017cnorodnych form interakcji. Na przyk\u0142ad, dzi\u0119ki temu mo\u017cemy wykorzysta\u0107 gesty do komunikacji niewerbalnej, manipulowania obiektami w wirtualnym \u015brodowisku, czy nawet skomplikowanych dzia\u0142a\u0144 takich, jak rysowanie czy pisanie w powietrzu. Wszystko to jest mo\u017cliwe dzi\u0119ki zaawansowanemu modelowi uczenia maszynowego, kt\u00f3ry wci\u0105\u017c si\u0119 \u201euczy\u201d na podstawie zgromadzonych danych, staj\u0105c si\u0119 coraz bardziej precyzyjnym i responsywnym.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image53.jpg\"><img decoding=\"async\" width=\"1007\" height=\"516\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image53.jpg\" alt=\"JobMagnetVR (MetaAvatars) \u2013 widok u\u017cytkownika \" class=\"wp-image-29082\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image53.jpg 1007w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image53-300x154.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/image53-768x394.jpg 768w\" sizes=\"(max-width: 1007px) 100vw, 1007px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 19 JobMagnetVR (MetaAvatars) \u2013 widok u\u017cytkownika<\/figcaption><\/figure>\n\n\n\n<p>Chocia\u017c wersja z Meta-Awatar\u00f3w nie zawiera ekranu wirtualnego, jej potencja\u0142 w zakresie interaktywno\u015bci i immersji jest znacz\u0105cy i nie mo\u017cna go lekcewa\u017cy\u0107 w kontek\u015bcie badawczym tego projektu. Umo\u017cliwia ona wykorzystanie zaawansowanych technologii widzenia komputerowego i sztucznej inteligencji do analizy ruch\u00f3w r\u0105k w czasie rzeczywistym. Ta funkcja dostarcza dodatkowej warstwy interakcji, kt\u00f3ra mo\u017ce s\u0142u\u017cy\u0107 jako katalizator dla bardziej zaawansowanych form komunikacji i interakcji w wirtualnym \u015brodowisku.<\/p>\n\n\n\n<p>Zwa\u017cywszy na te zalety, istnieje spore prawdopodobie\u0144stwo, \u017ce w przysz\u0142o\u015bci obie wersje projektu b\u0119d\u0105 mog\u0142y zosta\u0107 zintegrowane. To otworzy\u0142oby mo\u017cliwo\u015b\u0107 po\u0142\u0105czenia interaktywno\u015bci ekranu wirtualnego z zaawansowanym poziomem immersji oferowanym przez Meta-Awatary. Taka synergia mog\u0142aby zdecydowanie podnie\u015b\u0107 jako\u015b\u0107 u\u017cytkowania i funkcjonalno\u015b\u0107 ca\u0142ego projektu, tworz\u0105c kompleksowe i wszechstronne rozwi\u0105zanie dla r\u00f3\u017cnorodnych zastosowa\u0144 w wirtualnej rzeczywisto\u015bci.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Obecny stan projektu i jego przysz\u0142o\u015b\u0107<\/h2>\n\n\n\n<p>Obecny wygl\u0105d projektu zosta\u0142 stworzony jako cz\u0119\u015b\u0107 mojej pracy in\u017cynierskiej oraz prywatnego rozwoju. Uda\u0142o si\u0119 zintegrowa\u0107 MetaAvatary z pozosta\u0142ymi funkcjami aplikacji.<\/p>\n\n\n\n<p>W przysz\u0142ych etapach rozwoju aplikacji VR planowane jest rozszerzenie funkcji interakcji za pomoc\u0105 gest\u00f3w, co uczyni do\u015bwiadczenie bardziej naturalnym i intuicyjnym. Obecnie system rozpoznaje podstawowe gesty r\u0105k, takie jak zginanie palc\u00f3w i proste ruchy. Planuj\u0119 jednak wprowadzenie zaawansowanych technik rozpoznawania gest\u00f3w dzi\u0119ki technologii widzenia komputerowego i sztucznej inteligencji. Nowe rozwi\u0105zania b\u0119d\u0105 umo\u017cliwia\u0107 precyzyjne manipulowanie obiektami, bardziej zaawansowan\u0105 nawigacj\u0119 po przestrzeni oraz bogatsz\u0105 komunikacj\u0119 niewerbaln\u0105. Celem jest dalsze wzbogacenie procesu rekrutacyjnego i uczynienie go bardziej immersyjnym oraz anga\u017cuj\u0105cym dla kandydat\u00f3w.<\/p>\n\n\n\n<p>Rozw\u00f3j ten b\u0119dzie kluczowym elementem mojej pracy magisterskiej, w kt\u00f3rej zamierzam kontynuowa\u0107 prace nad udoskonaleniem i implementacj\u0105 nowych rozwi\u0105za\u0144 w obszarze AI.<\/p>\n\n\n\n<p>Czy kto\u015b z Was ma mo\u017ce pomys\u0142y na to, jak jeszcze mo\u017cna ulepszy\u0107 projekt pod wzgl\u0119dem rozpoznawania gest\u00f3w w wirtualnej rzeczywisto\u015bci? <strong>Ch\u0119tnie poznam Wasze sugestie i opinie!<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p>Projekt aplikacji rekrutacyjnej wykorzystuj\u0105cy Wirtualn\u0105 Rzeczywisto\u015b\u0107 (VR) \u0142\u0105czy szereg nowoczesnych technologii, tworz\u0105c innowacyjne i anga\u017cuj\u0105ce \u015brodowisko rekrutacyjne. Wykorzystanie Spring Boot i PostgreSQL do zarz\u0105dzania logik\u0105 biznesow\u0105 i danymi u\u017cytkownik\u00f3w zapewnia solidn\u0105 i skalowaln\u0105 baz\u0119 backendow\u0105. Z kolei Keycloak umo\u017cliwia bezpieczne uwierzytelnianie i autoryzacj\u0119 u\u017cytkownik\u00f3w, co jest kluczowe dla ochrony danych kandydat\u00f3w.<\/p>\n\n\n\n<p>Na froncie webowym u\u017cycie React.js i Material-UI pozwala na stworzenie nowoczesnego i responsywnego interfejsu u\u017cytkownika. Natomiast wersja VR, zbudowana przy u\u017cyciu Unity i Blender, wprowadza u\u017cytkownik\u00f3w do wirtualnego biura, kt\u00f3re oferuje interaktywne do\u015bwiadczenia z realistycznym modelowaniem i grafik\u0105. Photon Network i Photon Voice dodaj\u0105 mo\u017cliwo\u015b\u0107 interakcji w czasie rzeczywistym, umo\u017cliwiaj\u0105c komunikacj\u0119 g\u0142osow\u0105 i wsp\u00f3lne przebywanie w tej samej wirtualnej przestrzeni.<\/p>\n\n\n\n<p>Tego typu rozwi\u0105zanie nie tylko unowocze\u015bnia procesy rekrutacyjne, ale tak\u017ce czyni je bardziej anga\u017cuj\u0105cymi i spersonalizowanymi. Kandydaci mog\u0105 lepiej pozna\u0107 firm\u0119 i zesp\u00f3\u0142, z kt\u00f3rym potencjalnie b\u0119d\u0105 wsp\u00f3\u0142pracowa\u0107, co mo\u017ce zwi\u0119kszy\u0107 ich motywacj\u0119 i pewno\u015b\u0107, co do wyboru pracodawcy. W przysz\u0142o\u015bci planowane jest dalsze wzbogacenie funkcjonalno\u015bci, w tym integracja zaawansowanego rozpoznawania gest\u00f3w, co jeszcze bardziej zwi\u0119kszy immersyjno\u015b\u0107 i naturalno\u015b\u0107 interakcji w \u015brodowisku VR.<\/p>\n\n\n\n<p>Implementacja takich technologii nie tylko podnosi standard procesu rekrutacji, ale tak\u017ce pozytywnie wp\u0142ywa na wizerunek firmy, prezentuj\u0105c j\u0105 jako nowoczesn\u0105 i innowacyjn\u0105 organizacj\u0119 otwart\u0105 na nowe rozwi\u0105zania. Mo\u017ce to przyci\u0105gn\u0105\u0107 ambitnych i technologicznie zaawansowanych kandydat\u00f3w, gotowych do wsp\u00f3\u0142pracy z firm\u0105, kt\u00f3ra stawia na przysz\u0142o\u015b\u0107 i innowacje.<em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/em><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;29038&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;134&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;4.9&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;4.9\\\/5 ( votes: 134)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Nowoczesne podej\u015bcie do zatrudniania \u2013 system rekrutacji oparty na technologii VR&quot;,&quot;width&quot;:&quot;136.6&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 136.6px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            4.9\/5 ( votes: 134)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>W erze nowoczesnych technologii, kt\u00f3re dynamicznie zmieniaj\u0105 nasze codzienne \u017cycie, automatyzacja oraz przenoszenie proces\u00f3w do \u015bwiata wirtualnego staje si\u0119 coraz &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/nowoczesne-podejscie-do-zatrudniania-system-rekrutacji-oparty-na-technologii-vr\/\">Continued<\/a><\/p>\n","protected":false},"author":667,"featured_media":29085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1314],"tags":[2657,1675,1512,1032,177],"class_list":["post-29038","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-vr","tag-moim-zdaniem","tag-poradnik","tag-case-study","tag-rekrutacja"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/09\/Nowoczesne-podejscie-do-zatrudniania-\u2013-system-rekrutacji-oparty-na-technologii-VR.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/29038"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/667"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=29038"}],"version-history":[{"count":2,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/29038\/revisions"}],"predecessor-version":[{"id":29084,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/29038\/revisions\/29084"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/29085"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=29038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=29038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=29038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}