Realizarea Unui Joc 3d cu Ajutorul Tehnologiei Udk

Realizarea unui joc 3D cu ajutorul tehnologiei UDK

1. MOTIVAȚIA ȘI DESCRIEREA LUCRARII

Tema aleasă este creerea unui joc 3D. Am ales această tema datorită interesului meu față de jocurile video și pentru a mă putea perfecționa în creerea și dezvoltarea acestora.

Pe tot parcusul creerii jocului am reușit să îmi perfecționez și să pun în aplicare cunoștințele mele în materie de grafica 3D, cu toate că am întâmpinat anumite dificultăți am reușit să creez jocul dorit.

Am încercat perfecționarea timpilor de reacție in situați limită. Un exemplu ar putea fi o situație în care utilizatorul trebuie să reacționeze într-un timp foarte scurt la diferitele obstacole întâmpinate pe parcursul întregului joc. Jucătorul trebuie să cunoască foarte bine butoanele de control, mișcările mousu-lui iar în unele cazuri comenzile vocale prin care controlează jocul.[1]

Istoricul artei grafice pe calculator

Prima artă pe calculator a fost creată înainte ca pixelul să fi fost dezvoltat. Pe vremea când calculatoarele erau în fază incipientă, pionerii din industrie au folosit materiale tipărite sau un dispozitiv numit osciloscop. Unele dintre cele mai vechi jocuri erau de tip TeleType în care fiecare jucător trimite actualizări tipărite. Cum tehnologia monitoarelor a avansat, creerea graficii digitale s-a mutat de la imprimantă la monitor. Primele monitoare au fost monocromatice și erau concepute pentru text nu pentru grafică.

Cei mai mulți oameni au marcat anul 1963 ca fiind anul în care s-a inițiat arta pe calculator, când Ivan Sutherland a inventat un panou de schițe. Panoul de schițe permitea artiștilor să folosească un stilou cu lumină putând să lucreze pe imagini vectoriale, imaginea fiind afișată cu ajutorul unui monitor pentru grafică vectorială. Mai târziu in același deceniu s-a inventat imaginea rastersi totodată și pixelul. Un raster este modelul de puncte ce formează o imagine. Imaginile raster sunt formate din linii orizontale de pixeli, iar numărul de linii orizontale și numărul de pixeli din fiecare linie determină rezoluția monitorului.

Prima imagine raster a fost foarte restransă deoarece calculatoarele nu puteau proiecta foarte mulți pixeli. În imaginile următoare se poate observa evoluția imaginilor prin dezvoltarea unui caracter.

fig1.1

In figura 1.1 este reprezentată o imagine într-o sigură culoare, pixelii fiind foarte mari. Caracterul reprezentat are o înălțime de cinci pixeli și o lățime de cinci pixeli.

Nu a durat mult timp până când cercetătorii au învățat cum să schimbe culorile monitoarelor. Calculatoarele erau în continuare considerate surse de cercetare, nefiind considerate obiecte de artă. Programatorii interesați în creearea graficii pe calculator au început să scrie programe pentru a putea creea artă. Tot în acest timp a fost introdus pe piață calculatorul personal, lucru ce a schimbat pentru totdeauna imaginea fizică a calculatorului.

Figura1.2

În figura 1.2 este reprezentat un caracter conținând mai mulți pixeli decât cel din figura anterioară, acesta având 16 pixeli înălțime și 7 pixeli lațime. Acest caracater avea patru culori, fiind limitat în acea perioadă.

În fiecare zi grafica pe calculator avansa introducandu-se sisteme ce suportau rezoluție și un set de culori mai mare.

figura1.3

În figura 1.3 este reprezentat un caracter cu o variație de 16 culori. Fiind reprezentat într-o varietate mai mare de culori, artistii pot umbrii caracterul dezvoltat.

Mai târziu în anii 80, jocurile au devenit mai realiste. Variația culorilor le-a oferit artistitlor o șansă de a începe creearea imaginilor digitale realiste. În timp calculatoarele s-au dezvoltat , imprimanta laser a fost inventată iar lumea a început să considere calculatorul o unealtă artistică. Caracterele jocurilor au început să avanseze de la 30-60pixeli la 200 pixeli înaltime și a ajuns la 640×480 pixeli.

figura 1.4

În figura 1.4 este reprezentat un caracter cu o inălțime de 180 pixeli.

Modelarea 3 D poate fii descrisă ca și o conturare individuală a obiectelor care mai târziu sunt folosite într-o anumită scenă. Există mai multe tehnici de modelare cum ar fi:

-geometria constructivă

-modelare poligonală

-suprafețe subdivizate

-suprafețe implicite

Creearea graficii 3D pe calculator

Procesul creerii graficii 3D pe calculator poate fii divizată în trei părți:

Modelare

Configurarea aspectului scenei

Redare

Procesul de modelare este descris ca fiind modelarea individuală a obiectelor, care sunt utilizate mai târziu în scenă. Există mai multe tehnici de modelare, dar fară a se limita la următoarele:

geometrie constructivă

modelare NURBS

modelare poligonală

suprafețe subdivizate

suprafețe implicite

Procesul de modelare include și editarea suprafetelor sau obiectelor (ex: culoare, luminozitate, umbrire, caracteristici ale refelxiei, transparenta, opacitate). Modelarea 3D mai poate avea și numeroase obiecte legate de pregătirea modelului pentru animații. Obiectelor li se adaugă un schelet ce le oferă o anumită capacitate de mișcare și poate afecta forma obiectelor. De asemenea îi sunt date anumite specificații ce fac gesturile mai ușor de creeat (cum ar fii expresiile faciale). În cele din urmă modelarea este doar o parte din procesul de creație.[21]

Procesul de modelare aranjează obiectele, lumina, camera și alte entități dintr-o scenă, care vor fi folosite mai târziu pentru a produce o imagine sau o animatie. Dacă se foloseste la creearea unei animații, această etapă este numită tehnica Keyfram, ceea ce facilitează creearea unor acțiuni mai complexe într-o scenă. Keyframing-ului în loc să fixeze poziția sau rotația unui obiect pentru fiecare cadru dintr-o animație, are nevoie doar să creeze unele cadre cheie în care fiecare cadru este interpolat.

Lumina este un aspect foarte important în dezvoltarea unei scene. Efectele luminoase pot contribui la starea de spirit și starea emotională, un factor care este bine cunoscut de fotografi și de tehnicienii teatrali.

Redarea este procesul fina în creearea imaginilor 2D sau animațiilor dintr-o scenă. Redarea interactivă a jocului și simulării este calculată și redată în timp real cu o rată de 20-120 cadre pe secundă. Animațiile ne-interactive precum un video sau un film sunt redate mult mai încet, timpul acestora putând fi chiar de cateva ore. Redarea cadrelor sunt stocate pe un hard disk, acestea putând fii transferate pe discuri optice sau playere media. Aceste cadre sunt redate cu o rată tipică de 24,25 sau 30 de cadre pe secunda pentru a realiza iluzia de mișcare, acestea fiind împărțite în două tipuri:

ray tracing – este o tehnică de generare a unei imagini prin urmarea luminii din pixeli dintr-o imagine plană și simularea efectelor cu obiecte virtuale.

GPU – redare în timp real.

fig.1

În figura 1 este prezentat un exemplu de imagine ray-tracing în care redarea ține cateva secunde sau cateva minute.

Ray tracing este caracterizat de imaginile cât mai reale. Redarea uneori poate dura cateva secunde iar uneori chiar câteva zile, aceasta fiind metoda implementată în filme, lucrări artistice și redări media. În timp real, scopul este să se afiseze cât mai multă informație pe care ochiul uman o poate procesa. Imaginile realiste de calitate sunt adesea rezultatul dorit, acesta fiind specilizat astfel încât metoda fost dezvoltată. Acestea sunt încercări de a simula fenomenele rezultate din caracteristicile optice ale camerelor și al ochiului uman. Aceste efecte pot împrumuta un element de realism, chiar dacă efectul este doar un artefact simulat de un aparat de fotografiat.

Proictarea 3D

fig.2

Din moment ce ochiul uman vede tri-dimensional, metoda matematică reprezentată în interiorul unui calculator trebuie transformată încât ochiul uman să poată corela imaginea intr-o imagine realistă. Dar faptul că monitorul poate afișa doar două dimensiuni, înseamnă că modelul matematic trebuie transformat în imagine 2d. Foarte des acesta este facut utilizând proiecția, dar cel mai des utilizand proiecția perspectivă. Ideea de bază din spatele proiecției perspective, care surprinzător este modul de funcționare a ochiului, reprezintă raportul dintre imaginile mai apropiate și cele mai depărtate. Astfel, pentru a restrange a treia dimensiune pe un ecran, o funcționare corespunzătoare se efectuează pentru a elimina, în acest caz o operațiune de divizare.

Reflexia și metodele de umbrire

Grafica 3D modernă se bazează foarte mult pe un model simplificat de reflexie numite model de reflectie Phong. În refracția luminii, un concept important este indicele de refracție. În cele mai multe implementări de programare din 3d, termenul pentru acestă valoare este indicele de refracție de obicei abreviat IOR.

Fig 3.

În figura 3 este prezentat un exemplu în care s-a folosit efectul de umbrire.

Tehnicile de redare a reflexiei în grafica 3d pe calculator include:

umbrire plată- este o tehnica care umbrește fiecare poligon a unui obiect bazată pe poziția și intensitatea luminii a poligonului.

umbrire Gouraund- a fost inventată de H.Gouraund in anul 1971, o metoda rapidă de umbrire utilizată pentru a simula liniile suprafețelor umbrite.

maparea texturii- este o tehnică pentru simularea suprafețelor pe o suprafața mare

umbrire Phong- inventată de Bui Tuong Phong, utilizate pentru a simula tonuri luminoase și suprafețe netede umbrite

mapare Bump- inventată de Jim Blinn, o tehnică cu perturbație normală utilizată pentru simularea suprafețelor deformate.

umbrire cel- este o tehnică care imită aspectul unei imagini desenate manual [2]

Grafica 3d APIs( aplication programmer interfaces)

Grafica 3D a devenit populară, în special în jocurile video, încât API (application programmer interfaces) a fost creeat pentru a ușura procesul de grafică computerizată. API s-a dovedit a fii o necesitate pentru dezvoltatorii graficii pe calculator. Aceste aplicații de programare pentru grafica 3d pe calculator sunt deosebit de populare:

OpenGL and the OpenGL Shading Language

OpenGL ES 3D API for embedded devices

Direct3D (a subset of DirectX)

RenderMan

RenderWare

Glide API

TruDimension LC Glasses and 3D monitor API

Imaginile 3D sunt create cu ajutorul unor tehnologii special concepute(pachete de software), ele devenind în final arte grafice. Termenul de 3D face referire atât la modul de formare a imaginii, dar și la felul în care este percepută imaginea(imagini în spațiu ce pot fi vizualizate din mai multe unghiuri).

Grafica 3D diferă de cea 2D prin reprezentarea tridimensională a datelor stocate cu scopul de a calcula și interpreta imaginea plană(2D). Cu toate acestea ambele grafici se bazează pe algoritmi asemănători.

Reprezentarile 2D deseori folosesc tehnici 3D pentru a obține anumite efecte cum ar fi luminozitatea sau efectul de ceață, în timp ce grafica 3D se folosește aproape în totalitate de tehnicile vizuale ale imaginilor 2D. [21]

2 . TEHNOLOGII UTILIZATE ȘI CERINȚE HARDWARE

2.1 UDK

Tehnologia UDK este utilizată de către dezvoltatorii de jocuri pentru implementarea jocurilor și aplicațiilor pentru PC –uri , iOS și Mac. Oferă acces la motorul de joc 3 D și un set de instrumente profesionale folosite în blockbuster-ul video pentru dezvoltarea jocurilor .

UDK este o ediție a Unreal Engine 3 și este un procedeu perfect pentru lumea virtuală începând cu jocuri de curse până la simulări. Este disponibil în engleză, chineză , coreeană și japoneză , deasemenea site-ul UDK este disponibil în japoneză, chineză și coreeană .  [1]

UDK se folosește pentru uz non–comercial si educational putându-se utiliza gratuit în instituțiile de invătământ fară a fi nevoie de o licență suplimentară.

Mediul de dezvoltare pentru UDK ruleaza pe Windows PC dar în prezent există posibilitatea de a creea executabile pentru Windows PC și iOS. Dispozitivele iOS care sunt susținute în prezent de UDK sște pentru uz non–comercial si educational putându-se utiliza gratuit în instituțiile de invătământ fară a fi nevoie de o licență suplimentară.

Mediul de dezvoltare pentru UDK ruleaza pe Windows PC dar în prezent există posibilitatea de a creea executabile pentru Windows PC și iOS. Dispozitivele iOS care sunt susținute în prezent de UDK sunt iPhone 4 , iPhone 3GS, iPad, iPod touch 4-a generație, iPod touch a 3-a generație, ele având nevoie de cel puțin iOS 3.2 pentru ca Unreal Engine 3 să ruleze. În cazul în care există un dispozitiv mai vechi sau un dispozitiv cu o versiune neacceptata de iOS instalat , aplicația nu va putea rula .

Trebuie reținut faptul că, anumite caracteristici sunt disponibile numai cu anumite combinații de versiuni instalate pe dispozitive iOS. 

Cerințele minime recomandate de către UDK sunt următoarele :

Minim :

Windows XP SP3 (numai pe 32 de biți), Windows Vista sau Windows 7

Procesor 2.0 GHz +

Sistem de 2 GB RAM

Placa video SM3-compatibil

3 GB spațiu liber pe hard disk

Recomandat pentru dezvoltarea conținutului :

Windows 7 64-bit

2.0 + GHz procesor multi-core

8 GB memorie RAM de sistem

NVIDIA seria 8000 sau placă grafică mai mare

O multime de spatiu pe HDD

Minim pentru DX11 dezvoltare :

Windows Vista sau Windows 7

Procesor 2.0 GHz +

Sistem de 2 GB RAM

DX11 Placă grafică:

Nvidia: seria 400 sau mai sus

ATI: 5000 series sau mai sus

3 GB spatiu liber pe hard disk [3]

UDK are suport pentru cele mai recente scheme de mare compresie audio pentru toate platformele și este optimizat pentru Ogg Vorbis de compresie și decompresie. Utilizatorii pot importa bunuri efectuate cu instrumente de artist de top, cum ar fi 3ds Max, Maya, ZBrush și Photoshop.

UDK poate fi folosit de oricine si trebuie să dețină o copie a "Unreal Tournament 3" sau "Gears of War", pentru a avea acces la instrumentele de motor .

UDK poate fi folosit gratuit de catre instituțiile de învățământ. Astfel încât elevii și studenții să poată utiliza programul cu scopul de a perfecționa jocurile sau pentru alte scopuri non – comerciale .[2]

Drepturile de a dezvolta și lansa un joc gratuit sunt incluse în acordul de licență pentru utilizatorul final ( EULA ). EULA este licența care reglementează eliberarea de joc, deoarece este construit pe UDK .

Utilizatorii au acces la tot codul sursă UnrealScript . UnrealScript este comparabil cu un limbaj de programare ca Java în termeni de caracteristici și performanță. Caracteristicile sunt concepute pentru a simplifica dezvoltarea de jocuri, definirea domeniului dat de funcții, serializare automată, sistem simplu pentru definirea proprietăților si funcțiilor de la distanță. Aplicația UDK nu se poate elibera în open source sau sub o altă licență cum ar fi GPL , LGPL având în vedere ca drepturile pentru eliberarea licenței nu se pot transmite .

În prezent UDK acceptă numai PC Windows și singurele licențe pe care UDK le are sunt Xbox 360 si PS3 .

Utilizând UDK vom folosii trei tipuri de fișiere. Primul fișier este o hartă pe care o construim in Unreal Editor. Cel de-al doilea tip de fișier este un pachet cu extensia .upk. Fișierul stochează toate modelele, texturile, materialele și sunetele pe care le-am importat în UDK. Al treilea fișier este o clasă script în care se salvează toate aspectele legate de joc. Două dintre cele mai utilizate formate pe care UDK le aceptă sunt formatele .png si .tga. Formatul .tga este cel mai popular și de accea îl utilizăm pentru salvarea imaginilor, udk neimportând fișiere de format .jpeg.

Unreal Engine suportă streaminguri pe nivele ceea ce permite să încarcăm sau să descărcăm diferite subnivele din memorie pe timpul jocului. Tehnologia grifică din Unreak face ca toate variațiile umbrelor să fie aplicate la toate obiectele. Unul dintre cele mai importante aspecte din Unreal este faptul că sistemul de iluminare este foarte robust mai aproape de realitate.

Mapele sunt denumite și leveluri dar și scene. Tehnic vorbind o mapă este o colecție simplă de activități arătate jucatorului, ele fiind sustrase din pachetele create. Mapa este locul în care se construiește mediul înconjurător se seteză decorul aducându-l la viață. Fiecare mapă conține pachetele proprii, unde se pot stoca activitatiile care să fie folosite în nivelul dorit. Majoritatea activităților sunt stocate în pachete separate pentru a avea acces la ele la nivelul dorit. Dacă setăm o activitate într-un anumit pachet și nu este folosită în levelul din care face parte se menține în pachet și se salvează pentru levelul următor.

Și textura și materialele sunt stocate în pachete. Texturile 2d sunt utilizate la creearea materialelor în nivel sau la activitățile altor jocuri. Se pot utiliza imagini capturate cu camera digitală sau scannerul. Un simplu material poate utiliza multiple texturi ele fiind aplicate oricărei suprafețe din hartă. [5]

Se spune că 90% din percepția unui joc este sunetul. Ca și textura, sunetul trebuie creeat înafara udk-ului . Se poate folosi un program extern sau se pot copia de pe cd-uri audio sau de pe sit-uri cu sunete pentru jocuri gratuite. Sunetele sunt de obicei folosite în jocuri la evenimente cum ar fi deschisul unei uși, explozia unei bombe, schimbarea armei. Dupe ce sunetul a fost încarcat UDK SoundCue Editor iți da flexibilitatea de a folosi sunetul după dorința proprie. Se pot mixa mai multe sunete într-o melodie singură, se poate ajusta volumul, redarea melodiilor aleator, viteza redării. Utilizând editorul de sunete de la Udk orice melodie simplă se poate transforma într-o melodie complexă și plină de efecte. [6]

2.2 PHOTOSHOP

Adobe Photoshop este, din punctul meu de vedere, cel mai important și utilizat software de editat poze disponibil la ora actuală. Chiar dacă se lucrează la o pagină web, un joc, prezentare Powerpoint sau un document ce urmează să fie printat, Photoshop poate fi utilizat la modificarea imaginilor, (tăierea imaginilor, compunerea acestora, formatarea textelor și multe alte efecte).

Photoshop este un program atât de bogat și complex incât majoritatea oamenilor iși petrec multe ore din viață folosindu-l și totuși învață noi tehnici de manipulare a fotografiilor. [17]

În anul 2011 au fost publicate versiuni pentru Android, IOS și Windows 8 în anul 2013. Adobe Photoshop a fost lansat în două ediții: Adobe Photoshop si Adobe Photoshop Extended. Cu toate acestea în 2013 s-a lansat o a treia ediție, Creative Cloud (Photoshop CC).

Pe lângă edițiile de bază, Adobe a mai lansat pe piață Photoshop Elements, Photoshop Lightroom și Photoshop Express.

2.2.1 Impactul Photoshopului

Derivate precum Photoshopped și Shopped au devenit verbe uzuale ce fac referire la imaginile editate de acest program, sau chiar de oricare alt program de editat poze.

Aceste derivate au ajuns să fie folosite de majoritatea populației deoarece Photoshop-ul și-a pus amprenta asupra mas mediei.

Indiferent că este o revistă, un ziar sau o carte este foarte probabil ca fiecare fotografie în parte să fie exagerată cu ajutorul acestui soft. Extensia principală in Photoshop este .psd. Un fișier Psd stochează o imagine ce suportă toate opțiunile valabile în Photoshop. Fomatul .psd este în contrast cu multe alte formate cum ar fi .jpg sau .gif el având înălțimea și lățimea maximă de 30.000 pixeli și o lungime limitată la 3 gigabytes. Fișierele Photoshop au uneori extensia .ps reprezentând documente de format foarte mare. Formatul .psb extinde formatul .psd crescându-i înălțimea, lățimea la 300.000 de pixeli și lungimea la peste 4 exabytes. Dimensiunea limită a fost aleasă de către Adobe nefiind bazată pe aritmetică digitală.

Din cauza popularității Photoshop-ului formatul .psd este utilizat și suportat de către majoritatea programelor competente. Formatul .psd poate fii exportat în sau din aplicațiile Adobe cum ar fi: Adobe Illustrator, Adobe Premiere Pro si After Effects, pentru a creea dvd-uri profesionale, editare non-liniară și pentru efecte speciale precum texturi, filme, sit-uri web și imagini de fundal.

In versiunea extinsă a Photoshop CS5 elementele 2D pot deveni foarte ușor tri-dimensionale doar apasând un click.

Instrumentele cu ajutorul carora puteam modifica și creea imagini sunt foarte strategic pozitionate într-o bară de meniu fiind foarte ușor de lucrat cu ele. Bara de meniu conține următoarele:

Rectangular marque tool- putem selecta orice formă dreptunghiulară de orice mărime.

Elliptical marque tool- este valabil atunci când apăsăm un clic și tragem în jos pentru a selecta regiunea pe care vrem să o edităm. Pentru a selecta o zona rotundă apăsăm tasta shift și click.

Sigle row- acesta selectează o regiune de 1pixel. Este foarte util pentru a decupa în linie dreaptă.

Single column- acesta selectează o regiune care este mai mare decât imaginea. Deasemenea este foarte util la decuparea marginilor și creearea linilor drepte.

Move Toll- acesta mută întregul layer. Atunci cand este selectat apăsăm click și il tragem pe imagine, deasemenea se poate muta și exteriorul imagini curente.

Lasso Tools – este similar cu marquee tools, exceptând faptul că lasso tools dă libertatea zonei selectate.

Magic Wand Tool- este similar cu magnetic polygon lasso tool exceptând faptul că glisarea pentru a face o selecție. Se poate controla similaritatea pixelilor care vor fi inclusi în zona selectată.[15]

2.2.2 Photoshop 3D

Photoshop-ul a reusit să creeze de la modele arhitecturale pană la machete stiințifico-fantastice. Tehnologia 3D iți oferă libertatea de a modifica texturi, lumină grafici și de a transforma imagini 2D în machete realiste. [17]

Unity & Unreal Engine 4 & UDK & Cry Engine & 3DSMax

Cele mai populare motoare de joc sunt Unity , UDK , Unreal Engine 4 și CryEngine .Toate cele trei dintre acestea sunt motoare de joc extrem de puternice și fiecare are zonele lor puternice.

Unity

Unity este in mare parte pentru dispozitive mobile, jocuri 2D si 3D, UDK are trăsături puternice FPS si este complet gratuit, Unreal Engine 4 oferă posibilitatea de a creea jocuri cu grafică fotorealistă sau simpla scrollers secundare 2D. CryEngine are capabilități grafice uimitoare și caracteristici de platformă .

Unity face ca producția jocurilor să fie un proces simplu oferind un set de pași logici de construcție a scenariilor jocului. Renumit pentru a fi de tip non-joc specifice, Unity vă oferă o pânză albă și un set de proceduri coerente pentru a lăsa imaginația să fie bariera creativității. Unity poate să scoată parți din joc pentru o gestionare mai usoară a părților componente. Prin creearea obiectelor individuale, între joc și introducerea funcționalității a fiecarei componente pe care o adăugăm, jocul putându-se dezvolta la infinit într-un mod logic progresiv.[11]

Obiectele din joc sunt principalele componente în Unity 3d și reprezintă oricare dintre elementele pe care le putem avea într-o scenă. Obiectele sunt organizate în ierarhii, cunoascute scene grafice. Obiectele din joc pot fii organizate sub forma unei relații părinte/copil. Deasemenea camerele, lumina, modelele 3d, elemenele interfeței fac parte din obiectele jocului. Există întotdeauna o componentă în obiectele jocului numită, componentă de transformare. Componenta de transformare stochează poziția, rotația și dimensiunea obiectului.

Ierarhiile obiectelor au o importanță majoră în transformările complexe și în structurile obiectelor de joc. Se pot folosi pentru a grupa obiectele și facilitarea manipulării lor fiind clasificate în:

empty- funcționează doar cu ajutorul componentei de transformare , fiind perfect pentru a fi părintele unei structuri sau în scopul de a reține un script la nivel mondial

cub, sfera, capsula, cilindru- mai multe componente geometrice trebuie importate sau generate

lumina- spoturi de lumină

camera- pe langă camera principală putem avea mai multe în aceiași scenă, suprapunându-se sau redând din diferite zone ale ecranului

Componentele care pot fii adăugate în obiectele jocului:

Transform- fiind tot timpul prezent

Filtrul plasa- stochează plasa obiectelor jocului

Plasa Prestată- definește poziția în care va fi prestată de catre obiectul de transformare

Unity 3D are un motor fizic foarte puternic(PhysX creeat de NVIDIA). Jocurile pot fi rapide și ușor de portat pe Android, iOS, Windows Phone 8 si BlackBerry, ceea ce face ca un motor de joc mare pentru dezvoltarea de jocurilor pentru telefoane mobile. Are, de asemenea, capacitățile de dezvoltare pentru Playstation 3, Xbox360, Wii U și browsere web.[10]

Motorul de joc suportă aplicații 3D majore cum ar fi 3ds Max, Maya, Softimage, CINEMA 4D, Blender adică nu există nici o restricție în tipul de formarii fișierelor pe care le acceptă. Are, de asemenea capacități 2D nativ și 2D fizic, ceea ce îl face un motor de joc mare utilizat pentru dezvoltarea de jocuri 2D.

În timp ce motorul sprijină integrarea despre orice aplicație 3D, suferă în valoare de capabilitati de editare în interiorul editorul motorului. Unity nu are caracteristici de construcție înafară de câteva forme primitive, astfel totul va trebui să fie creat într-o aplicatie 3D. Cu toate acestea, o mare varietate de active pot fi descărcate sau achiziționate.[12]

Unreal Engine 4

Unreal Engine 4 (UE4) este un brand nou lansat de Epic Games pentru public și este succesorul UDK. UE4 are unele capacități grafice uimitoare, inclusiv lucruri cum ar fi capabilități avansate de iluminat dinamic și un sistem nou de particule care se pot ocupa de până la un milion de particule într-o scenă la un moment dat.

În timp ce Unreal Engine 4 este succesorul UDK este important să se țină cont de faptul că au existat unele schimbări foarte drastice la motor. O schimbare notabilă a fost în limbajul de scripting pentru UE4.

UnrealScript a fost acum complet înlocuit cu C++ în UE4, Kismet și Blueprint fiind mai intuitive.

Jocurile UE4 pot fi lansate pe PC, Mac, iOS, Android, Xbox și PlayStation One 4. UE4 oferă posibilitatea de a crea jocuri cu o grafică uimitoare și simplă.[6]

UDK

Unreal Development Kit sau UDK, este ediție gratuită a Unreal Engine 3, dezvoltat de Epic Games, care oferă acces la acest motor de joc puternic utilizat în multe jocuri Triple A, inclusivGears of War .

Are un nivel ridicat de capabilități grafice și poate fi folosit pentru jocuri mobile. Spre deosebire de Unity, are un set de instrumente puternice pentru proiectarea unui nivel direct în motorul de joc.

Similar cu Unity, UDK poate fi lansat pe mai multe platforme diferite, inclusiv iOS, Android, Windows Phone 8, Xbox360, Playstation 3, Playstation Vita, și Wii U. Este important să se țină cont de "versiunea gratuită" de Unreal Engine 3 care este UDK și acceptă doar eliberarea pentru PC și Mac.

UDK este complet gratuit până la punctul în care se doreste publicarea jocului.

In cazul publicării jocului se va percepe o taxă de licență.

CryEngine

CryEngine este un motor extrem de puternic, proiectat de către compania de dezvoltare Crytek care a fost introdus în primul joc Far Cry. Acesta este conceput pentru a fi utilizat pe platformele PC și console, inclusiv PlayStation 4 și Xbox One. Capacitățile grafice ale CryEngine le depăsesc pe cele ale lui UDK, dar sunt pe picior de egalitate cu Unreal Engine 4, cu state-of-the-art de iluminat, sisteme avansate de animatie.

Caracteristicile foarte complexe permit dezvoltatorilor să analizeze performanțele în timp real, de a creea rapoarte detaliate și de a obține rezultatele de testare dorite.

Sunetul 3D ofera o soluție inovatoare pentru redarea la înaltă calitate fară a fii afectată calitatea grafică. Aceasta caracteristică este inclusă ca standard in Virtual Attain suportat de toate platformele în tip real. Pentru prima dată dezvoltatorii pot lucra cu tehnologii ce permit simularea în s-3d indiferent de tehnologia utilizată pentru a creea cea mai captivantă simulare creată vreodată.[8]

Jocul cel mai recent pe care CryEngine îl utilizează în dezvoltarea sa a fost Ryse: Fiul de Roma. Similar cu UDK și UE4. CryEngine are caracteristici de design la nivel intuitiv și puternic în motorul de joc.

Cryengine este un program confortabil pentru majoritatea dezvoltatorilor, deorece permite utilizatorilor să creeze conținutul foarte rapid.

Toate aceste motoare de joc ar putea fi o alegere excelentă pentru procesul de dezvoltare al jocurilor .[7]

3DS Max

3Ds Max este un program grafic pentru creearea animațiilor, modelelor, jocurilor și imaginilor. A fost conceput de Autodesk Media and Entertainment. Are capabilități de modelare și poate fii utilizat pe platforma Microsoft Windows. Este utilizat frecvent de către dezvoltatorii de jocuri și la crearea efectelor speciale în filme.

3Ds Max oferă cateva subfoldere care sunt grupate automat în proiecte. Fișierele de tipuri diferite sunt salvate în propriile subfișire în directorul unde este creat proiectul, de exemplu, fișierele scenelor sunt salvate într-un subfolder numit Scenes în directorul unde este creat proiectul.[14]

În 3D Studio Max, punctele de vedere sunt similare cu porturile de vedere predefinite, în număr de 4:

top (sus)

left (stânga)

right (dreapta)

Perspective (perspectivă)

În 3D Studio Max, ecranul este împărțit, implicit în patru porturi de vedere, ecranul monitorului putând fi considerat chiar planul de vizualizare, deoarece utilizatorul poate vedea numai ceea ce se află dincolo de monitor, în cyberspațiu.

În 3D Studio Max, un mod de vizualizare cu umbrire este capabil să afișeze și texturi, dacă este configurat pentru ai fi afișată texura în portul de vedere. În Studio Max scena poate fii animată, acesta fiind doar începutul realizării unui film în care obiectele prind viață, se mișcă, aspectul lor fiind influențat de sursele de lumină. Camere de luat vederi pot prelua imagini de ansamblu în detaliu creându-se astfel o lume virtuală uluitoare.

Utilizatorului nu i se cer cunostințe avansate de modelare grafică, ci doar un elementar simț estetic pentru a putea construi scene atractive și chiar să scrie un plug-in fară a avea nevoie de cunoașterea unui limbaj de programare.[13]

3D Studio Max este utilizat în întreaga lume de către sute de mii de graficieni, find întâlnit în arta digitală, arhitectură, reclame tv, filme, publicitate și jocuri. Programul a fost utilizat în crearea efectelor speciale din filme precum: Terminator 2, Independence Day, The Fifth Element, Tomb Rider și Gladiator.

Având de rezolvat o mulțime de ecuații pentru a generea obiectele 3d, de la cele mai simple la cele mai complexe, 3D Studio Max necesită , ca și majoritatea aplicațiilor 3D, un microprocesor puternic și multă memorie. Se recomandă ca la acesta să se adauge o placă video 3D. Cerințele de memorie nu se limitează la 512mb, deoarece programul apelează deseori la crearea unui fișier swap, folosindu-l ca memorie virtuală. Momentul în care se întâmplă acest lucru, performanțele sale scad.[21]

Pentru a ușura munca graficianului, 3D Studio Max îi pune la dispoziție o mare varietate de obiecte 3D fundamentale, iar prin instrumentele sale de intersecție, combinare, unire, modificare a acestor obiecte fundamentale, creează alte obiecte complexe care necesită un consum mai mare de resurse, în special memorie.

Interfața programului este destul de puternică, intuitivă și oferă un grad ridicat de productivtate, fiind concepută pe ideea generală a interfețelor programelor Autodesk. Totuși chiar dacă lucrul cu această interfață pare facil, cunoașterea și controlul deplin al său poate dura câteva săptămâni.

3D Studio Max conține o serie de meniuri derulante, panouri de comenzi (Create, Modify, Hierarchy, Motion, Display, Utility), bara de instrumente, taste de comandă rapidă. Prin utilizarea modulelor plug-in, comenzile acestora se intergrează perfect în interfață.[19]

3. DESCRIEREA APLICAȚIEI

Tema aleasă este un joc "Capture the flag", în care personajul principal trebuie să captureze steagul inamicului dar totodată să apere steagul echipei sale.

Primul pas este de a da un nume jocului ce va fii creeat. Apoi se alege rezoluția hărții iar pasul urmator la creearea propriu zisă a harții.

Pentru construirea harții am folost Udk Editor. Toate componentele folosite pentru această hartă au fost luate din Contente Browser:

clădiri

sunete

obiecte

Obiectele folosite în cadrul jocului au fost supuse unor operații precum:

scalarea

translatarea

rotirea

gruparea

asamblarea

editarea de legături

atribuirea materialelor

atribuirea texturilor

Figura 3.1

În figura 3.1 am prezentat unul din meniurile folosite pentru creearea hărtii. Am ales din meniul Udk Bilding Meshes unele dintre decorurile cu care am dotat harta, cum ar fi: scări, candelabre și pardoseală.

Figura 3.2

In figura 3.2 am prezentat meniul din care am ales efectele sonore, cum ar fii momentu miscării, declansarea pustii, sunetul motorului masinii și sunetul ambiental.

Efectele sonore din joc l-am ales cu mare atenție deoarece unul din principalele caracteristici la construcția unui joc îl constituie sunetul din fundal.

Figura 3.3

În figura 3.3 este prezentată selectarea armei. Pentru a selecta arma trebuie să intrăm în packages-engine, din engine selectăm meniul UT3. Jocul a fost creat, oferindui-se jucătorului posibilitatea schimbării armei, în cazul în care acesta găeste arma ascunsă. UT3 găsim opțiunea Weapons. În această opțiune am selectat arma dorită și flama pe care o vom folosi. După selectarea armei am selectat sunetul pe care il va scoate pușca în timpul declanșării.

Figura 3.4

Designul pereților, al buncărelor precum și construcția pardoselii este prezentată în figura 3.4. Efectele de pe pereți au fost luate din meniul Ut3-Effects. Textura peretilor, pardoselei și buncărelor a fost aplicată cât mai aproape de realitate și anume: culoarea reală a pietrei, forma cât mai reală a clădirilor.

Aceste texturi se referă la partea vizuală a invelișului. In cazul în care se folosesc aceste texturi pentru a creea materiale, calitatea acestora va crește odată cu calitatea acestor texturi.

Cu cât numărul de detalii al texturilror și detaliilor este mai mare cu atât timpul de randare va fii mai mare.

Figura 3.5

După finalizarea modelării harții jocului se trece la stilizarea acesteia și anume la editarea structurii. Acest lucru se face adăugând texturi ca: piatră, clădiri, ziduri, porti, grilaje. Apoi se trece la adăugarea celorlalte elemente necesare pentru a simula cât mai mult realitatea.

Odată ce harta este termintă se trece la adăugarea elementelor ce au legătură cu obiectivele unei misiuni în timpul jocului.

Prima etapă după finalizarea scheletului hărții este de a pune punctul de început al jocului și anume unde se află personajul când va începe jocul. Acest lucru se face pe baza coordonatelor care desigur pot fii modificate ulterior pe toate axele (x,y,z)

După ce toate componentele hărții au fost aranjate urmează detaliile legate de numărul de jucători dintr-o echipă, din ce echipă face parte jucătorul principal, care steag trebuie luat și care trebuie apărat, care jucător trebuie atacat și cine poate lua anumite vehicule. Toate acestea trebuie fixate prin Unreal Kismet acest lucru fiind prezentat în figura 3.5.

Figura 3.6

După ce detaliile au fost puse la punct am folosit Build Paths pentru a face legăturile dintre ele, acest lucru fiind prezentat în figura 3.6

Figura 3.7

In figura 3.7 este prezentată modul în care este salvată, aceasta având extensia VCTF (extensie ce arată categoria din care va face parte jocul)- proiect(numele).udk

După aceasta se poate rula harta pentru a vedea dacă rulează corespunzator, iar dacă totul este creată corect se poate folosi in joc.

Figura 3.8

In figura 3.8 este prezentat modul în care jucătorul colectează gloanțe. De fiecare data când trece deasupra armei, jucătorului i se reîncarcă arma. Numărul de gloanțe și viețile sunt afișate în partea dreaptă jos.

În partea dreapta sus a imaginii ne este indicat locul în care se află steagul inamic și steagul echipei pe care o conduce, iar în partea stangă a imaginii este prezentat scorul fiecărei echipe.

2.2 Instalarea hărții și a jocului

Folosind acest sistem de operare am reușit să construiesc o hartă care să fie compatibilă cu Unreal Development, care totodată poate fii aleasă din joc, dar pentru a face acest lucru este nevoie de urmatoarele setări:

se instalează Udk Game

se copiază harta de pe cd cu numele (vctf-proiect.udk) în următoarea locație: local disk (pe care a fost instalat udk game)-udk-(udk-2013-07)-udk game-content-maps-UT3.

Se pornește jocul și se urmează următorii pasi:

– se selecteză Instant Action-

-se selecteză Game Mode-

-se selecteaza Capture The Flag-

– se selectează Map-

– se selectează Proiect-

– se selectează Start Game-

Pentru a ne putea juca trebuie să folosim următoarele comenzi:

W-înainte

S-inapoi

A-stânga

D-dreapta

Click stânga- Foc

Click dreapta- Foc puternic

4. CONCLUZII

Tema proiectului este creearea unui joc tri-dimensional care ar putea fii redat pe orice fel de dispozitive de la televizoare la telefoane sau alte platforme mobile. Am ales această temă datorită trend-ului actual care vrea să îl introducă tehnologia 3D în toate dispozitivele care ne înconjoară.

Dezvoltarea modelelor 3D prezintă un real interes pentru inginerii din ziua de astăzi, modelele 3D fiind folosite pentru orice obiect din lume nu doar cele folosite în lumea cinematografică. Creearea acestor animații necesită cunoștinte solide de fizică, matematică și un dezvoltat simț artistic, atât pentru creearea obiectelor cât și pentru animația în sine. Proiectarea unui joc implică foarte multă muncă, lucru în echipă și de asemenea multă atenție.

Odată ce societatea dezvoltă ideea că jocurile video genereză multe probleme atât în rândul copiilor cât și în rândul adulților (probleme de comportament, agresivitate) cercetătorii încercă să găsescă avantajele acestui gen de distracție.

Persoanele care sunt pasionate de jocuri alerte au o privire mai ageră, o percepție mai bună acest lucru fiind susținut de cercetători. Un studiu lansat la începutul anului acesta a pus mai mulți pasionați de jocuri să joace în sesiuni de ore, iar în urma experimentului s-a constatat o creștere a nivelului de atenție și concentrare a jucătorilor.

Foarte mulți consideră jocurile pe calculator un hobi, dar studiile efectuate în acest sens arată că adolescenții care jucau împreună cu părinții lor diferite jocuri, între aceștia stabilindu-se relații mai bune.

În cadru dezvoltării jocurilor, lucrul în echipă este esențial. Gradul de independență a componentelor și animațiile avantajează lucrul în echpă reducându-se timpul necesar împlementării animațiilor.

Deși jocurile video au și beneficii, totuși nu trebuie să se abuzeze de ele. Ținând cont de acest lucru copii trebuiesc supravegheați.

Odată ce telefoanele au inceput să evolueze, ajungând sa fie din ce în ce mai performante, acestea putând fii folosite în foarte multe domenii. Mulți utilizatori și-ar dori să acceseze jocul de pe tabletă sau telefon. De aceea mi-aș dori în timp să perfecționez jocul meu astfel încât să fie compatibil cu dispozitivele mobile și posibilitatea de a se putea juca în rețea..

În concluzie jocurile trebuie văzute nu ca o pierdere de timp, ci ca un mediu de dezvoltare a abilităților. Pe viitor din punctul meu de vedere scolile ar trebui să acorde o atenție sporită jocurilor și să informeze părinții despre beneficiile și dezavantajele acestora.

BIBLIOGRAFIE

[1] http://www.4shared.com/office/-7ru0JaL/UDK_Tutorial_1_college_version.html

[2] http://www.4shared.com/office/PONJovK7/UDK_Tutorial_2_Impoting_object.htm

[3]http://ls161.longfiles.com/cgibin/dl.cgi/gamonjlksxw3pitabfwvkscp2kgado56onfdo4s6ce/Build_a_Game_with_UDK.pdf

[4] http://en.wikipedia.org/wiki/Unreal_Engine

[5] http://wiki.beyondunreal.com/External_UDK_tutorials

[6] https://www.unrealengine.com/blog/welcome-to-unreal-engine-4

[7]http://dc224.4shared.com/download/5K3Q46kH/cryengine_3_cookbook.pdf?tsid=20140622-143653-fab4ac79&lgfp=2000

[8] http://en.wikipedia.org/wiki/CryEngine

[9] http://docs.cryengine.com/display/SDKDOC2/Home

[10] http://en.wikipedia.org/wiki/Unity_%28game_engine%29

[11] http://dc318.4shared.com/download/0g7v1eNf/unity_essentials.pdf?tsid=20140622-135944-f18adf10&lgfp=2000

[12] http://dc734.4shared.com/download/bZ1Spn3x/Unity_3D_final.pdf?tsid=20140622-135800-dd5b7c51&lgfp=2000

[13] http://en.wikipedia.org/wiki/Autodesk_3ds_Max

[14] http://wiki.cgsociety.org/index.php/3ds_Max_History

[15]http://dc594.4shared.com/download/zxT82PIzba/Beginning_3D_Game_Developmet

_.pdf?tsid=20140622-135446-a73080d6&lgfp=2000

[16] https://mailattachment.googleusercontent.com/attachment/u/0/?ui=2&ik=9bc770d88e&view=att&th=1466b20a5661479c&attid=0.7&disp=safe&zw&saduie=AG9B_P96g_r-aJT-rG4-rGM1dnTX&sadet=1402909503248&sads=TDnPBnW2NJS2QeSaaUDfxcA0lBo

[17] http://filelist.ro/details.php?id=109661

[18] https://mailattachment.googleusercontent.com/attachment/u/0/?ui=2&ik=9bc770d88e&view=att&th=1466b20a5661479c&attid=0.5&disp=safe&zw&saduie=AG9B_P96g_r-aJT-rG4-rGM1dnTX&sadet=[anonimizat]&sads=inn3Jlyg20iQurfKvVC65l2Lctw

[19] http://blog.digitaltutors.com/unity-udk-cryengine-game-engine-choose/

[20] https://mailattachment.googleusercontent.com/attachment/u/0/?ui=2&ik=9bc770d88e&view=att&th=1466b25462c31f78&attid=0.4&disp=safe&zw&saduie=AG9B_P96g_r-aJT-rG4-rGM1dnTX&sadet=1402909448982&sads=C6TIBDjKbSabIPUkCzEVUqzA6No

[21] http://filelist.ro/details.php?id=52708

[22] http://en.wikipedia.org/wiki/Adobe_Photoshop

BIBLIOGRAFIE

[1] http://www.4shared.com/office/-7ru0JaL/UDK_Tutorial_1_college_version.html

[2] http://www.4shared.com/office/PONJovK7/UDK_Tutorial_2_Impoting_object.htm

[3]http://ls161.longfiles.com/cgibin/dl.cgi/gamonjlksxw3pitabfwvkscp2kgado56onfdo4s6ce/Build_a_Game_with_UDK.pdf

[4] http://en.wikipedia.org/wiki/Unreal_Engine

[5] http://wiki.beyondunreal.com/External_UDK_tutorials

[6] https://www.unrealengine.com/blog/welcome-to-unreal-engine-4

[7]http://dc224.4shared.com/download/5K3Q46kH/cryengine_3_cookbook.pdf?tsid=20140622-143653-fab4ac79&lgfp=2000

[8] http://en.wikipedia.org/wiki/CryEngine

[9] http://docs.cryengine.com/display/SDKDOC2/Home

[10] http://en.wikipedia.org/wiki/Unity_%28game_engine%29

[11] http://dc318.4shared.com/download/0g7v1eNf/unity_essentials.pdf?tsid=20140622-135944-f18adf10&lgfp=2000

[12] http://dc734.4shared.com/download/bZ1Spn3x/Unity_3D_final.pdf?tsid=20140622-135800-dd5b7c51&lgfp=2000

[13] http://en.wikipedia.org/wiki/Autodesk_3ds_Max

[14] http://wiki.cgsociety.org/index.php/3ds_Max_History

[15]http://dc594.4shared.com/download/zxT82PIzba/Beginning_3D_Game_Developmet

_.pdf?tsid=20140622-135446-a73080d6&lgfp=2000

[16] https://mailattachment.googleusercontent.com/attachment/u/0/?ui=2&ik=9bc770d88e&view=att&th=1466b20a5661479c&attid=0.7&disp=safe&zw&saduie=AG9B_P96g_r-aJT-rG4-rGM1dnTX&sadet=1402909503248&sads=TDnPBnW2NJS2QeSaaUDfxcA0lBo

[17] http://filelist.ro/details.php?id=109661

[18] https://mailattachment.googleusercontent.com/attachment/u/0/?ui=2&ik=9bc770d88e&view=att&th=1466b20a5661479c&attid=0.5&disp=safe&zw&saduie=AG9B_P96g_r-aJT-rG4-rGM1dnTX&sadet=[anonimizat]&sads=inn3Jlyg20iQurfKvVC65l2Lctw

[19] http://blog.digitaltutors.com/unity-udk-cryengine-game-engine-choose/

[20] https://mailattachment.googleusercontent.com/attachment/u/0/?ui=2&ik=9bc770d88e&view=att&th=1466b25462c31f78&attid=0.4&disp=safe&zw&saduie=AG9B_P96g_r-aJT-rG4-rGM1dnTX&sadet=1402909448982&sads=C6TIBDjKbSabIPUkCzEVUqzA6No

[21] http://filelist.ro/details.php?id=52708

[22] http://en.wikipedia.org/wiki/Adobe_Photoshop

Similar Posts